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

Reply via email to