aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/dll-5.c
blob: d28603b56ee0d5330989f314a7037b92d89f29b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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" } } */