summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/visibility/class1.C
blob: 792fc78914201ce35263cc9390972a744b105e86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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();
}