// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-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;