diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/ext/visibility/class1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/ext/visibility/class1.C | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/visibility/class1.C b/gcc/testsuite/g++.dg/ext/visibility/class1.C new file mode 100644 index 000000000..792fc7891 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/visibility/class1.C @@ -0,0 +1,22 @@ +// PR c++/26905 +// Init should not be hidden, so calling it should use the PLT. + +// { dg-options "-fpic" } +// { dg-do compile { target i?86-*-* x86_64-*-* } } +// { dg-skip-if "" { *-*-darwin* } { "*" } { "" } } +// { dg-require-visibility "" } +// { dg-require-effective-target fpic } +// { dg-final { scan-assembler "InitEv@PLT" } } + +#pragma GCC visibility push(hidden) +struct __attribute__ ((visibility ("default"))) nsINIParser +{ + static void Init(); +}; + +__attribute__ ((visibility ("default"))) +void +CheckCompatibility(void) +{ + nsINIParser::Init(); +} |