This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/67238] New: [C++11][C++14]cc1plus crash for nested decltype expression in parameter pack in trailing return type when '-g' enabled
- From: "webrown.cpp at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 17 Aug 2015 01:19:41 +0000
- Subject: [Bug c++/67238] New: [C++11][C++14]cc1plus crash for nested decltype expression in parameter pack in trailing return type when '-g' enabled
- Auto-submitted: auto-generated
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?