// PR c++/35368 // { dg-require-visibility "" } #pragma GCC visibility push (hidden) #include const std::type_info& info1 = typeid(int []); const std::type_info& info2 = typeid(int); enum E { e = 0 }; const std::type_info& info3 = typeid(E); struct S { S (); }; const std::type_info& info4 = typeid(S); const std::type_info& info5 = typeid(int *); // { dg-final { scan-not-hidden "_ZTVN10__cxxabiv117__array_type_infoE" } } // { dg-final { scan-not-hidden "_ZTVN10__cxxabiv116__enum_type_infoE" } } // { dg-final { scan-hidden "_ZTI1S" } } // { dg-final { scan-hidden "_ZTS1S" } } // { dg-final { scan-hidden "info1" } } // { dg-final { scan-hidden "info2" } } // { dg-final { scan-hidden "info3" } } // { dg-final { scan-hidden "info4" } } // { dg-final { scan-hidden "info5" } }