https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83714
Bug ID: 83714 Summary: [8 Regression] ICE in build_address, at cp/typeck.c:5733 Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: jason at gcc dot gnu.org Target Milestone: --- Starting from r218879 we ICE on: $ cat hell2.ii class a { typedef int b; operator b(); }; struct c { using d = a; }; using e = c; auto f(auto) -> e { return e::d {}; }; $ g++ hell2.ii hell2.ii: In function ‘e f(auto:1)’: hell2.ii:10:16: internal compiler error: in build_address, at cp/typeck.c:5733 return e::d {}; ^ 0x85b2e1 build_address(tree_node*) ../../gcc/cp/typeck.c:5733 0x62d460 add_function_candidate ../../gcc/cp/call.c:2158 0x62ed6f add_candidates ../../gcc/cp/call.c:5516 0x629e63 add_candidates ../../gcc/cp/call.c:3840 0x629e63 build_user_type_conversion_1 ../../gcc/cp/call.c:3841 0x62b854 implicit_conversion ../../gcc/cp/call.c:1889 0x627253 perform_implicit_conversion_flags(tree_node*, tree_node*, int, int) ../../gcc/cp/call.c:10516 0x874f21 check_return_expr(tree_node*, bool*) ../../gcc/cp/typeck.c:9346 0x81a4ae finish_return_stmt(tree_node*) ../../gcc/cp/semantics.c:890 0x76c7ac cp_parser_jump_statement ../../gcc/cp/parser.c:12335 0x76c7ac cp_parser_statement ../../gcc/cp/parser.c:10752 0x76d0c0 cp_parser_statement_seq_opt ../../gcc/cp/parser.c:11185 0x76d197 cp_parser_compound_statement ../../gcc/cp/parser.c:11139 0x785d20 cp_parser_function_body ../../gcc/cp/parser.c:21679 0x785d20 cp_parser_ctor_initializer_opt_and_function_body ../../gcc/cp/parser.c:21716 0x7864b0 cp_parser_function_definition_after_declarator ../../gcc/cp/parser.c:26620 0x78717d cp_parser_function_definition_from_specifiers_and_declarator ../../gcc/cp/parser.c:26536 0x78717d cp_parser_init_declarator ../../gcc/cp/parser.c:19405 0x78f4ac cp_parser_simple_declaration ../../gcc/cp/parser.c:12968 0x7903f8 cp_parser_block_declaration ../../gcc/cp/parser.c:12793