https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94480
Bug ID: 94480 Summary: ICE in cp_parser_abort_tentative_parse, at cp/parser.c:31858 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/CXX/expr/expr.prim/expr.prim.req/requires-expr.cpp from the clang 10.0.0 test suite, w/ -fconcepts: template<typename T, typename U> constexpr bool is_same_v = false; static_assert(is_same_v<bool, decltype(requires { requires false; })>); % g++-10.0.1 -fconcepts -c nn8nrioc.cpp nn8nrioc.cpp:4:60: note: the expression 'false' evaluated to 'false' 4 | static_assert(is_same_v<bool, decltype(requires { requires false; })>); | ~~~~~~~~~^~~~~ nn8nrioc.cpp:4:67: internal compiler error: in cp_parser_abort_tentative_parse, at cp/parser.c:31858 4 | static_assert(is_same_v<bool, decltype(requires { requires false; })>); | ^ 0x63c536 cp_parser_abort_tentative_parse /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:31858 0x63c536 cp_parser_abort_tentative_parse /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:31856 0x9a9b4f cp_parser_decltype_expr /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:14832 0x9a9b4f cp_parser_decltype /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:14920 0x9b34ef cp_parser_simple_type_specifier /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:18008 0x996e45 cp_parser_type_specifier /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:17784 0x9aca80 cp_parser_type_specifier_seq /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:22385 0x9a53c7 cp_parser_type_id_1 /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:22202 0x9a82e3 cp_parser_template_type_arg /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:22293 0x9acc1f cp_parser_template_argument /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:17181 0x9acc1f cp_parser_template_argument_list /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:17092 0x9acc1f cp_parser_enclosed_template_argument_list /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:29761 0x9adf60 cp_parser_template_id /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:16664 0x9ae62a cp_parser_class_name /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:23696 0x9aa385 cp_parser_qualifying_entity /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:6773 0x9aa385 cp_parser_nested_name_specifier_opt /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:6455 0x9b2f59 cp_parser_simple_type_specifier /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:18126 0x9a83ea cp_parser_postfix_expression /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:7173 0x98a669 cp_parser_binary_expression /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:9554 0x98c31e cp_parser_assignment_expression /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/parser.c:9859