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