[Bug c++/67238] New: [C++11][C++14]cc1plus crash for nested decltype expression in parameter pack in trailing return type when '-g' enabled
webrown.cpp at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Aug 17 01:19:00 GMT 2015
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?
More information about the Gcc-bugs
mailing list