111
|
1 // { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } }
|
|
2 // PR c++/9738 Dllimport attribute is overriden by later definition/redeclaration
|
|
3
|
|
4 void __attribute__((dllimport)) Bar(void);
|
|
5 void __attribute__((dllimport)) Baz(void);
|
|
6 __attribute__((dllimport)) int Biz;
|
|
7 __attribute__((dllimport)) int Boz;
|
|
8
|
|
9
|
|
10 void Foo(void)
|
|
11 {
|
|
12 Bar();
|
|
13 Baz();
|
|
14 Biz++;
|
|
15 Boz++;
|
|
16 }
|
|
17
|
|
18 void Baz(void); // { dg-warning "referenced with dll linkage" }
|
|
19 void Bar(void) // { dg-warning "referenced with dll linkage" }
|
|
20 {
|
|
21 }
|
|
22 extern int Biz; // { dg-warning "referenced with dll linkage" }
|
|
23 int Boz; // { dg-warning "referenced with dll linkage" }
|
|
24
|
|
25 void foo()
|
|
26 {
|
|
27 Biz++;
|
|
28 }
|