https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82822
Bug ID: 82822 Summary: [8 Regression] ICE on valid code Product: gcc Version: unknown 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: --- It's isolated from boost and it started with r253266: $ cat ice7.ii class a { }; template <class> class b { b (b &&c) : e (static_cast<a &&> (c.e)) {} a e; }; $ g++ ice7.ii -c ice7.ii: In constructor ‘b< <template-parameter-1-1> >::b(b< <template-parameter-1-1> >&&)’: ice7.ii:6:40: internal compiler error: tree check: expected tree that contains ‘decl common’ structure, have ‘identifier_node’ in get_inner_reference, at expr.c:7002 b (b &&c) : e (static_cast<a &&> (c.e)) {} ^ 0x158b6f1 tree_contains_struct_check_failed(tree_node const*, tree_node_structure_enum, char const*, int, char const*) ../../gcc/tree.c:9268 0x80fbef contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) ../../gcc/tree.h:3202 0xda9245 get_inner_reference(tree_node*, long*, long*, tree_node**, machine_mode*, int*, int*, int*) ../../gcc/expr.c:7002 0xdebe0d fold_unary_loc(unsigned int, tree_code, tree_node*, tree_node*) ../../gcc/fold-const.c:7695 0xe00c65 fold_build1_loc(unsigned int, tree_code, tree_node*, tree_node*) ../../gcc/fold-const.c:12068 0xdd6b42 fold_convert_loc(unsigned int, tree_node*, tree_node*) ../../gcc/fold-const.c:2260 0x8b6123 cp_fold_convert(tree_node*, tree_node*) ../../gcc/cp/cvt.c:607 0xb167fe build_static_cast_1 ../../gcc/cp/typeck.c:6856 0xb1795a build_static_cast(tree_node*, tree_node*, int) ../../gcc/cp/typeck.c:7078 0x9bedd0 cp_parser_postfix_expression ../../gcc/cp/parser.c:6696 0x9c3467 cp_parser_unary_expression ../../gcc/cp/parser.c:8363 0x9c456f cp_parser_cast_expression ../../gcc/cp/parser.c:9131 0x9c4669 cp_parser_binary_expression ../../gcc/cp/parser.c:9232 0x9c538c cp_parser_assignment_expression ../../gcc/cp/parser.c:9519 0x9c2151 cp_parser_parenthesized_expression_list ../../gcc/cp/parser.c:7822 0x9cfbf2 cp_parser_mem_initializer ../../gcc/cp/parser.c:14548 0x9cf58b cp_parser_mem_initializer_list ../../gcc/cp/parser.c:14434 0x9cf3a8 cp_parser_ctor_initializer_opt ../../gcc/cp/parser.c:14405 0x9dd7e9 cp_parser_ctor_initializer_opt_and_function_body ../../gcc/cp/parser.c:21859 0x9e6ddb cp_parser_function_definition_after_declarator ../../gcc/cp/parser.c:26765