1 // PR c++/26984 2 // lazily generated typeinfos should not be affected by #pragma vis, but 3 // they should be affected by the visibility of the type they describe. 4 5 // { dg-require-visibility "" } 6 // { dg-options "-fvisibility-inlines-hidden" } 7 // { dg-final { scan-not-hidden "_ZTIPPi" } } 8 // { dg-final { scan-not-hidden "_ZTSPPi" } } 9 // { dg-final { scan-hidden "_ZTIP1A" } } 10 // { dg-final { scan-hidden "_ZTSP1A" } } 11 12 #include <typeinfo> 13 14 #pragma GCC visibility push(hidden) 15 const std::type_info* t = &(typeid(int **)); 16 struct A { }; 17 #pragma GCC visibility pop 18 19 const std::type_info* t2 = &(typeid(A *)); 20