1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
// { dg-do assemble } template <class T> struct X { virtual void f(int) const; }; template <class T> struct Y: public X<T> { virtual void f(int) const; }; template <class T> void Y<T>::f(int) const { } template <> void Y<bool>::f(int) const;