1 // Compile this with:
2 // g++ -Wall -g -shared -Wl,--version-script=test6-fn-suppr-version-script -o libtest6-fn-suppr-v1.so test6-fn-suppr-v1.cc
3 
4 struct base
5 {
6   char m0;
7   char m1;
8 
basebase9   base()
10     : m0(), m1()
11   {}
12 };
13 
14 struct S : public base
15 {
16   int m0;
17 
SS18   S()
19     : m0()
20   {}
21 };
22 
23 struct S1 : private base
24 {
25   int m0;
26 
S1S127   S1()
28     : m0()
29   {}
30 };
31 
32 struct S2 : private base
33 {
34   int m0;
35 
S2S236   S2()
37     : m0()
38   {}
39 };
40 
41 int
bar(S &)42 bar(S&)
43 {return 0;}
44 
45 asm(".symver _Z3barR1S,_Z3barR1S@VERSION_1.0");
46 
47 void
bar(S1 *)48 bar(S1*)
49 {}
50 
51 char
bar(int,S2 **)52 bar(int, S2**)
53 {return 0;}
54