[Bug c++/83644] New: ICE using type alias from recursive decltype in noexcept or return type
gccbugbjorn at fahller dot se
gcc-bugzilla@gcc.gnu.org
Mon Jan 1 09:12:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83644
Bug ID: 83644
Summary: ICE using type alias from recursive decltype in
noexcept or return type
Product: gcc
Version: 7.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: gccbugbjorn at fahller dot se
Target Milestone: ---
Created attachment 42996
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42996&action=edit
Source of failing program
The program (attached, and on https://godbolt.org/g/N6nHKk) ICEs as follows:
bf@rahonavis /tmp> g++ -std=c++17 t.cpp
t.cpp: In instantiation of 'compose(F&&, Fs&& ...)::<lambda(auto:1&& ...)>
[with auto:1 = {int}; F = f()::<lambda(auto:2)>; Fs =
{f()::<lambda(auto:3)>}]':
t.cpp:32:72: required from here
t.cpp:20:39: internal compiler error: Segmentation fault
using tail_type = decltype(compose(std::forward<Fs>(fs)...));
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
To make it not fail, use the macro instead of the type alias, or comment out
both the trailing return type and the noexcept.
More information about the Gcc-bugs
mailing list