1 // { dg-do assemble  }
2 typedef struct {} S; // { dg-message "" } Previous declaration of S
3 
4 S s1;
5 struct S* s2; // { dg-error "" } S is a typedef name
6 
7 template <class T>
8 struct X {
9   friend class T; // { dg-error "" } T is a template type parameter
10 };
11