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