https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95954
Bug ID: 95954 Summary: ICE: unexpected expression ‘(a)’ of kind paren_expr Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: error-recovery, ice-on-invalid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: haoxintu at gmail dot com Target Milestone: --- This code, bug.cc, reduced by C-Reduce, makes GCC-trunk ICE. $cat bug.cc short a; thread_local b ( auto , = ( a ; $g++ -w bug.cc bug.cc:2:25: error: expected identifier before ‘=’ token 2 | thread_local b ( auto , = ( a ; | ^ bug.cc:2:30: error: expected ‘)’ before ‘;’ token 2 | thread_local b ( auto , = ( a ; | ~ ^~ | ) bug.cc:2:30: error: expected ‘)’ before ‘;’ token 2 | thread_local b ( auto , = ( a ; | ~ ^~ | ) bug.cc:2:14: error: ISO C++ forbids declaration of ‘b’ with no type []8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-fpermissive-fpermissive]8;;] 2 | thread_local b ( auto , = ( a ; | ^ bug.cc:2:31: internal compiler error: unexpected expression ‘(a)’ of kind paren_expr 2 | thread_local b ( auto , = ( a ; | ^ 0x8b06d4 cxx_eval_constant_expression ../../gcc/cp/constexpr.c:6503 0x8b0c1f cxx_eval_outermost_constant_expr ../../gcc/cp/constexpr.c:6708 0x8b500b maybe_constant_value(tree_node*, tree_node*, bool) ../../gcc/cp/constexpr.c:6981 0x8ddc74 cp_fully_fold(tree_node*) ../../gcc/cp/cp-gimplify.c:2464 0x8e51cf cp_convert_and_check(tree_node*, tree_node*, int) ../../gcc/cp/cvt.c:661 0x8724df convert_like_real ../../gcc/cp/call.c:7865 0x873c29 perform_implicit_conversion_flags(tree_node*, tree_node*, int, int) ../../gcc/cp/call.c:11870 0x8f887f check_default_argument(tree_node*, tree_node*, int) ../../gcc/cp/decl.c:13923 0x8f8edf grokparms(tree_node*, tree_node**) ../../gcc/cp/decl.c:14111 0x90a23b grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*, decl_context, int, tree_node**) ../../gcc/cp/decl.c:12393 0x915628 start_decl(cp_declarator const*, cp_decl_specifier_seq*, int, tree_node*, tree_node*, tree_node**) ../../gcc/cp/decl.c:5233 0x9c1e6d cp_parser_init_declarator ../../gcc/cp/parser.c:20818 0x9a36d2 cp_parser_simple_declaration ../../gcc/cp/parser.c:13785 0x9cc926 cp_parser_declaration ../../gcc/cp/parser.c:13484 0x9cd06a cp_parser_translation_unit ../../gcc/cp/parser.c:4761 0x9cd06a c_parse_file() ../../gcc/cp/parser.c:44043 0xae4dbb c_common_parse_file() ../../gcc/c-family/c-opts.c:1190 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. $g++ --version g++ (GCC) 11.0.0 20200626 (experimental) Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.