https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67238
Bug ID: 67238 Summary: [C++11][C++14]cc1plus crash for nested decltype expression in parameter pack in trailing return type when '-g' enabled Product: gcc Version: 5.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: frankhb1989 at gmail dot com CC: webrown.cpp at gmail dot com Target Milestone: --- CC: webrown.cpp at gmail dot com g++ -v ... gcc version 5.2.0 (Rev3, Built by MSYS2 project) Case: //a.cc template<class F, class... A> void g(F&&, A&&...) {} template<class... A> auto h(A&&... a) -> decltype(g(0, g<decltype(a)>(a)...)) { return g([]{}, a...); // Crash if any error here. } int main() { h(); } g++ a.cc -std=c++11 -g1 The frontend crashes, and no diagnostics shown for this particular case on my machine. Otherwise there may be segfault. Same for -std=c++14, but '-g0' seems to be OK. BTW, it seems that nested decltype expression in trailing return types are often buggy playing with lambdas. Should there be any other reports?