https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66919
Bug ID: 66919 Summary: [5 Regression] C++14 ICE during error reporting Product: gcc Version: 5.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org CC: jason at gcc dot gnu.org, paolo at gcc dot gnu.org Target Milestone: --- template <int> struct A { template <typename F, typename R, typename T> static auto run (F fn, R, T) { auto r = fn (); } }; template <typename F, typename T> auto foo (F fn, T) { A <0>::run (fn, 0, 0); } struct B; struct C { typedef B D; }; struct E { virtual void bar (const int &); }; template <typename C> struct F : E { typedef typename C::D::G G; void bar (const G &); typename C::D::H I; }; struct J { struct K {}; }; template <typename T> void F<T>::bar (const G &) { auto s = I; typedef decltype (s) L; auto u =[&](L) { auto t = foo (J::K (), 0); }; } struct B { typedef int G; typedef int H; }; struct M : F <C> { M () {} }; ICEs with -std=c++1y starting with r211188 and it got fixed (or went latent) on the trunk with r222150.