111
|
1 // Test that dllimport'd functions have default visibility.
|
|
2 // { dg-require-visibility "" }
|
|
3 // { dg-require-dll "" }
|
|
4 // { dg-options "-fvisibility=hidden" }
|
|
5 // { dg-final { scan-not-hidden "_Z2f1v" } }
|
|
6 // { dg-final { scan-not-hidden "_ZN1S2f3Ev" } }
|
|
7
|
|
8 extern void __attribute__((dllimport)) f1();
|
|
9 void f2() {
|
|
10 f1();
|
|
11 }
|
|
12
|
|
13 struct __attribute__((visibility("hidden")) S1 {
|
|
14 __attribute__((dllimport)) void f3();
|
|
15 };
|
|
16
|
|
17 void f4() {
|
|
18 S1 s1;
|
|
19 s1.f3();
|
|
20 }
|
|
21
|
|
22 struct S2 {
|
|
23 __attribute__((dllimport)) void f5();
|
|
24 };
|
|
25
|
|
26 void f6() {
|
|
27 S2 s2;
|
|
28 s2.f5();
|
|
29 }
|