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