// { dg-do assemble } template struct S : public S {}; template <> struct S {}; void g() { int S::*p; int S::*q = p; }