// { dg-do assemble } typedef struct {} S; // { dg-message "" } Previous declaration of S S s1; struct S* s2; // { dg-error "" } S is a typedef name template struct X { friend class T; // { dg-error "" } T is a template type parameter };