// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw*} }
|
// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw*} }
|
// Report error if static symbol definition has dllimport attribute.
|
// Report error if static symbol definition has dllimport attribute.
|
|
|
__attribute__((dllimport))
|
__attribute__((dllimport))
|
int impvar; // OK, implicit "extern"
|
int impvar; // OK, implicit "extern"
|
|
|
static __attribute__((dllimport))
|
static __attribute__((dllimport))
|
int static_impvar; // { dg-error "external linkage" }
|
int static_impvar; // { dg-error "external linkage" }
|
|
|
static __attribute__((dllexport))
|
static __attribute__((dllexport))
|
int static_expvar; // { dg-error "external linkage" }
|
int static_expvar; // { dg-error "external linkage" }
|
|
|
static __attribute__((dllimport))
|
static __attribute__((dllimport))
|
void static_impfun(void); // { dg-error "external linkage" }
|
void static_impfun(void); // { dg-error "external linkage" }
|
|
|
void foo()
|
void foo()
|
{
|
{
|
__attribute__((dllimport))
|
__attribute__((dllimport))
|
int foovar; // OK, implicit "extern"
|
int foovar; // OK, implicit "extern"
|
foovar++;
|
foovar++;
|
}
|
}
|
|
|
void bar()
|
void bar()
|
{
|
{
|
__attribute__((dllexport))
|
__attribute__((dllexport))
|
int barvar; // { dg-error "external linkage" }
|
int barvar; // { dg-error "external linkage" }
|
barvar++;
|
barvar++;
|
}
|
}
|
|
|