// { dg-do compile } // Origin: Ivan Godard // Volker Reichelt // PR c++/13797: ICE invalid nontype template parameter template struct A { typedef A<0> B; // { dg-message "previous declaration" } template struct B {}; // { dg-error "not a valid type|typedef" } }; A<0> a;