// Attribute used on a member function or static data member | |
// of a template should cause them to be instantiated along | |
// with the class itself. | |
// { dg-final { scan-assembler "_ZN1AIiE1fEv" } } | |
// { dg-final { scan-assembler "_ZN1AIiE1tE" } } | |
template <class T> struct A | |
{ | |
void f() __attribute ((used)); | |
static T t __attribute ((used)); | |
}; | |
template <class T> void A<T>::f() { } | |
template <class T> T A<T>::t; | |
A<int> a; |