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