https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66850
Bug ID: 66850 Summary: Adding a forward declaration of a template containing a template template parm causes ICE on valid code Product: gcc Version: 5.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ppalka at gcc dot gnu.org Target Milestone: --- The following snippet emits an ICE in tsubst: template <template <typename U, U> class> struct Sort; template <template <typename U, U> class Comparator> struct Sort { template <int I> struct less_than { Comparator<int, I> a; }; }; If one removes the initial forward declaration of "struct Sort" then the code compiles fine. Branched off from PR65186.