1 /* Ensure dllexport overrides dllimport. */ 2 3 /* { dg-do compile { target arm*-*-pe* } } */ 4 /* { dg-do compile { target thumb*-*-pe* } } */ 5 6 __declspec (dllimport) int foo1 (); 7 __declspec (dllexport) int foo1 (); 8 9 __declspec (dllexport) int foo2 (); 10 __declspec (dllimport) int foo2 (); 11 foo1()12__declspec (dllexport) int foo1 () { return foo2 (); } foo2()13__declspec (dllexport) int foo2 () { return foo1 (); } 14 15 /* { dg-final { scan-assembler "\.section\[ \t\]*\.drectve\n\[^\n\]*-export:foo1.*\.section\[ \t\]*\.drectve\n\[^\n\]*-export:foo2" } } */ 16 /* { dg-final { scan-assembler-not "(__imp_foo1|__imp_foo2)" } } */ 17