// 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 struct A { void f() __attribute ((used)); static T t __attribute ((used)); }; template void A::f() { } template T A::t; A a;