// PR c++/35688 // { dg-require-visibility "" } // { dg-options "-fvisibility=hidden" } // { dg-final { scan-hidden "_Z1gI1BEvT_" } } // { dg-final { scan-hidden "_Z1gI1AI1BEEvT_" } } // Test that template argument visibility takes priority even over an // explicit visibility attribute on a template. template struct __attribute ((visibility ("default"))) A { }; template void g(T) __attribute ((visibility ("default"))); struct B { }; template void g(T) { } int main() { g(B()); g(A()); }