rt_gccstream/gcc/testsuite/g++.old-deja/g++.other/dll-2.C

19 lines
651 B
C

// { dg-do assemble { target arm-*-*pe } }
// Microsoft's MSVC 2.0 allows dllimport followed by dllexport for variables,
// but does not allow dllexport followed by dllimport.
//
// Switching between dll{export,import} works for functions.
// We test for that too (by ensuring no error is produced).
__declspec (dllimport) int foo1 ();
__declspec (dllexport) int foo1 ();
__declspec (dllexport) int foo2 ();
__declspec (dllimport) int foo2 ();
__declspec (dllimport) int bar1;
__declspec (dllexport) int bar1;
__declspec (dllexport) int bar2; // { dg-error "" } previously declared
__declspec (dllimport) int bar2; // { dg-error "" } redefinition