https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94481
Bug ID: 94481 Summary: ICE: Segmentation fault (in cp_parser_placeholder_type_specifier) Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- g++-10.0.1-alpha20200329 snapshot (g:60c254b279e8e8443b8ad26cc46b9e4084cff66c) ICEs when compiling the following testcase, extracted from test/Parser/cxx2a-placeholder-type-constraint.cpp from the clang 10.0.0 test suite, w/ -std=c++2a: template<typename T, typename U=void> concept C = true; void foo() { C decltype a19 = 1; } % g++-10.0.1 -std=c++2a -c siabxbp8.cpp siabxbp8.cpp: In function 'void foo()': siabxbp8.cpp:5:5: internal compiler error: Segmentation fault 5 | C decltype a19 = 1; | ^~~~~~~~ 0xfe238f crash_signal /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/toplev.c:328 0x980d5d cp_parser_placeholder_type_specifier /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:18381 0x9b39d7 cp_parser_simple_type_specifier /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:18247 0x996e45 cp_parser_type_specifier /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:17784 0x997fb5 cp_parser_decl_specifier_seq /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:14356 0x998a54 cp_parser_simple_declaration /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:13610 0x99a8fa cp_parser_declaration_statement /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:13163 0x99b56f cp_parser_statement /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:11469 0x99c4d8 cp_parser_statement_seq_opt /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:11835 0x99c5b8 cp_parser_compound_statement /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:11785 0x9b4855 cp_parser_function_body /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:23062 0x9b4855 cp_parser_ctor_initializer_opt_and_function_body /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:23113 0x9b7cf6 cp_parser_function_definition_after_declarator /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:28988 0x9b8d89 cp_parser_function_definition_from_specifiers_and_declarator /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:28904 0x9b8d89 cp_parser_init_declarator /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:20669 0x998b56 cp_parser_simple_declaration /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:13731 0x9c3302 cp_parser_declaration /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:13430 0x9c3a9f cp_parser_translation_unit /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:4731 0x9c3a9f c_parse_file() /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:43944 0xadbadb c_common_parse_file() /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/c-family/c-opts.c:1186