diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/dll-5.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.dg/dll-5.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/dll-5.c b/gcc-4.9/gcc/testsuite/gcc.dg/dll-5.c new file mode 100644 index 000000000..d28603b56 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.dg/dll-5.c @@ -0,0 +1,22 @@ +/* { dg-do compile { target i?86-pc-cygwin } } */ +/* { dg-do compile { target i?86-*-mingw* x86_64-*-mingw* } } */ +/* { dg-do compile { target arm*-*-pe* } } */ + +/* { dg-options -mnop-fun-dllimport } */ + +/* The dllimport attribute should be ignored for functions. */ +__declspec (dllimport) void dllimpfn (); + +/* The dllimport attribute should not be ignored for variables. */ +__declspec (dllimport) int dllimpvar; + +/* The dllexport attribute should not be ignored. */ +__declspec (dllexport) void dllexp () +{ + dllimpfn (); + dllimpvar = 0; +} + +/* { dg-final { scan-assembler-not "(__imp_dllimpfn|_imp__dllimpfn)" } } */ +/* { dg-final { scan-assembler "(__imp_dllimpvar|_imp__dllimpvar)" } } */ +/* { dg-final { scan-assembler "\.section\[ \t\]*.drectve\n\.*-export:\[\\\\\"\]*dllexp" } } */ |