1 // Warn if we try to give an instantiation visibility after it's already
2 // been instantiated.
3 
4 // { dg-require-visibility "" }
5 
6 template <class T> struct A { void f (T); };
f(T)7 template <class T> void A<T>::f (T) { }
8 
9 A<double> ad;
10 template struct __attribute ((visibility ("hidden"))) A<double>; // { dg-warning "already defined" }
11