(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.old-deja/
g++.pt/
redecl1.C
// { dg-do assemble  }

template <class T>
struct S1; // { dg-message "previous declaration" } 

template <class T, class U>
struct S1 {}; // { dg-error "redeclared" } used 1 template parameter

template <class T = int> // { dg-message "original definition" }
struct S2; 

template <class T = int> // { dg-error "redefinition of default" } 
struct S2;

template <class T> // { dg-error "template parameter" } 
struct S3;

template <int I> // { dg-message "note: redeclared here" } 
struct S3;

template <template <class T> class C> // { dg-message "note: redeclared here" } 
struct S3;