1e01aa904Sopenharmony_ci// Compile with: 2e01aa904Sopenharmony_ci// g++ -g -Wall -fPIC -shared -o libtest31-v1.so test31-v1.cc 3e01aa904Sopenharmony_ci 4e01aa904Sopenharmony_cinamespace hidden 5e01aa904Sopenharmony_ci{ 6e01aa904Sopenharmony_ci 7e01aa904Sopenharmony_cistruct S0 8e01aa904Sopenharmony_ci{ 9e01aa904Sopenharmony_ci int m0; 10e01aa904Sopenharmony_ci char m1; 11e01aa904Sopenharmony_ci 12e01aa904Sopenharmony_ci S0() 13e01aa904Sopenharmony_ci : m0(), m1() 14e01aa904Sopenharmony_ci {} 15e01aa904Sopenharmony_ci 16e01aa904Sopenharmony_ci S0(int v) 17e01aa904Sopenharmony_ci : m0(v), 18e01aa904Sopenharmony_ci m1() 19e01aa904Sopenharmony_ci {} 20e01aa904Sopenharmony_ci}; 21e01aa904Sopenharmony_ci 22e01aa904Sopenharmony_civoid 23e01aa904Sopenharmony_cifoo(S0& s) 24e01aa904Sopenharmony_ci{ 25e01aa904Sopenharmony_ci s.m0 = 2; 26e01aa904Sopenharmony_ci s.m1 = 1; 27e01aa904Sopenharmony_ci} 28e01aa904Sopenharmony_ci 29e01aa904Sopenharmony_ci} // end namespace hidden 30e01aa904Sopenharmony_ci 31e01aa904Sopenharmony_cinamespace visible 32e01aa904Sopenharmony_ci{ 33e01aa904Sopenharmony_civoid 34e01aa904Sopenharmony_cibar(int v) 35e01aa904Sopenharmony_ci{ 36e01aa904Sopenharmony_ci hidden::S0 s(v); 37e01aa904Sopenharmony_ci hidden::foo(s); 38e01aa904Sopenharmony_ci} 39e01aa904Sopenharmony_ci 40e01aa904Sopenharmony_ci} // end namespace visible 41