OSDN Git Service

gcc/cp/
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / ext / visibility / visibility-9.C
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 }