[Bug c++/90172] [9 Regression] ICE: Segmentation fault (in contains_struct_check)
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Apr 23 15:09:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90172
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
This used to be accepted before r251433, which started rejecting it.
Before r257018, the diagnostics has been:
pr90172.C: In instantiation of ‘fooV(Ts ...) [with Ts = {const char*, int,
double, char, float, short int, unsigned int}]::<lambda(auto:1 ...)> [with
auto:1 = {fooV(Ts ...) [with Ts = {const char*, int, double, char, float, short
int, unsigned int}]::<lambda(auto:1 ...)>, const char*, int, double, char,
float, short int, unsigned int}]’:
pr90172.C:8:13: required from ‘int fooV(Ts ...) [with Ts = {const char*, int,
double, char, float, short int, unsigned int}]’
pr90172.C:13:65: required from here
pr90172.C:3:10: error: use ‘...’ to expand argument pack
auto M = [](decltype(a) ... b) -> void {
^
pr90172.C:5:12: error: unable to deduce lambda return type from ‘M’
return M;
^
but in r257018 and onwards:
pr90172.C: In instantiation of ‘int fooV(Ts ...) [with Ts = {const char*, int,
double, char, float, short int, unsigned int}]’:
pr90172.C:13:65: required from here
pr90172.C:3:10: error: expansion pattern ‘decltype (#‘nontype_argument_pack’
not supported by dump_expr#<expression error>)’ contains no argument packs
auto M = [](decltype(a) ... b) -> void {
^
and finally starting with r268377 we also ICE during error recovery.
More information about the Gcc-bugs
mailing list