| // { 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 |