// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw*} } | |
// PR 10148 Dllimport attribute of object is overriden by later | |
// redefinition without attribute. | |
struct Foo | |
{ | |
int a; | |
}; | |
__attribute__((dllimport)) struct Foo f; | |
void Bar(void) | |
{ | |
void* dummy = (void*) &f; | |
} | |
struct Foo f; // { dg-warning "referenced with dll linkage" } | |
// Dllimport'd symbols do not have a constant address, so following | |
// assignment would require static_initialization_and_destruction | |
// if attribute is retained. | |
void* dummy = &f; |