https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79253
Bug ID: 79253 Summary: [7 Regression] ICE in tsubst_copy starting with r243723 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org Target Milestone: --- Since r243723 we ICE on the following testcase: template <typename> struct A; template <typename = A<int>> class B {}; template <class T, class U, class V> void foo (U, V) { T (0, 0); } struct C {}; template <template <bool, bool, bool> class F, class> void bar () { F<0, 0, 0>::baz; } struct G { int l; }; template <int, int, int> struct E : C { E (int, int) : e (0) { auto &m = this->m (); auto c = [&] { m.l; }; } G &m (); int e; }; struct D { void baz () { bar<F, B<>>; } template <bool, bool, bool> struct F { static B<> baz () { foo<E<0, 0, 0>> (0, 0); } }; }; reduced from mathicgb: src/mathicgb/ModuleMonoSet.cpp:184:1: required from here src/mathicgb/ModuleMonoSet.cpp:71:34: internal compiler error: in tsubst_copy, at cp/pt.c:14400 const auto& monoid = this->monoid(); // workaround for gcc 4.5.3 issue ~~~~~~^~~~~~