http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59347
Volker Reichelt <reichelt at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Known to work| |4.7.0, 4.8.0 Keywords| |error-recovery, | |ice-on-invalid-code Last reconfirmed| |2014-02-14 CC| |reichelt at gcc dot gnu.org Ever confirmed|0 |1 Summary|ICE on invalid: tree check: |[4.9 Regression] ICE on |expected class 'type', have |invalid: tree check: |'exceptional' (error_mark) |expected class 'type', have |in tsubst_decl, at |'exceptional' (error_mark) |cp/pt.c:10798 |in tsubst_decl, at | |cp/pt.c:10798 Target Milestone|--- |4.9.0 Known to fail| |4.9.0 --- Comment #1 from Volker Reichelt <reichelt at gcc dot gnu.org> --- Confirmed. Here's a simplified testcase that produces less error message before crashing: =============================== template<int> struct A { typedef int ::X; }; A<0> a; =============================== The problem might be related to PR60200.