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