xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/gcc.dg/dll-3.c (revision c87b03e512fc05ed6e0222f6fb0ae86264b1d05b)
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