https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84329
Bug ID: 84329 Summary: ICE with broken return type of generic lambda Product: gcc Version: unknown Status: UNCONFIRMED Keywords: error-recovery, ice-on-invalid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: reichelt at gcc dot gnu.org Target Milestone: --- The following invalid code snippet triggers an ICE since GCC 4.9.0 (when generic lambdas were introduced): ============================================== auto a([](auto) -> decltype((void)) {}); ============================================== bug.cc:1:30: error: expected primary-expression before 'void' auto a([](auto) -> decltype((void)) {}); ^~~~ bug.cc:1:30: error: expected ')' before 'void' auto a([](auto) -> decltype((void)) {}); ~^~~~ ) bug.cc:1:20: internal compiler error: in dependent_type_p, at cp/pt.c:23976 auto a([](auto) -> decltype((void)) {}); ^~~~~~~~ 0x63478b dependent_type_p(tree_node*) ../../gcc/gcc/cp/pt.c:23976 0x886e44 require_complete_types_for_parms ../../gcc/gcc/cp/decl.c:12497 0x886e44 check_function_type ../../gcc/gcc/cp/decl.c:14667 0x886e44 start_preparsed_function(tree_node*, tree_node*, int) ../../gcc/gcc/cp/decl.c:14884 0x8d8254 start_lambda_function(tree_node*, tree_node*) ../../gcc/gcc/cp/lambda.c:1371 0x91d69d cp_parser_lambda_body ../../gcc/gcc/cp/parser.c:10656 0x91d69d cp_parser_lambda_expression ../../gcc/gcc/cp/parser.c:10174 0x91d69d cp_parser_primary_expression ../../gcc/gcc/cp/parser.c:5257 0x93000c cp_parser_postfix_expression ../../gcc/gcc/cp/parser.c:7026 0x930be0 cp_parser_unary_expression ../../gcc/gcc/cp/parser.c:8318 0x91101f cp_parser_cast_expression ../../gcc/gcc/cp/parser.c:9086 0x91182a cp_parser_binary_expression ../../gcc/gcc/cp/parser.c:9187 0x912ff4 cp_parser_assignment_expression ../../gcc/gcc/cp/parser.c:9474 0x91214b cp_parser_constant_expression ../../gcc/gcc/cp/parser.c:9758 0x914d79 cp_parser_parenthesized_expression_list ../../gcc/gcc/cp/parser.c:7754 0x915864 cp_parser_initializer ../../gcc/gcc/cp/parser.c:21832 0x934786 cp_parser_init_declarator ../../gcc/gcc/cp/parser.c:19646 0x93bac8 cp_parser_simple_declaration ../../gcc/gcc/cp/parser.c:13038 0x93c8d8 cp_parser_block_declaration ../../gcc/gcc/cp/parser.c:12863 0x940832 cp_parser_declaration ../../gcc/gcc/cp/parser.c:12761 Please submit a full bug report, [etc.]