This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/82410] New: ICE in replace_placeholders_r


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82410

            Bug ID: 82410
           Summary: ICE in replace_placeholders_r
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tomilovanatoliy at yandex dot ru
  Target Milestone: ---

Internal compiler error on valid code. -std=c++14,17. Known to work in 5.*,
6.*. Known to not work in 7.1, 7.2, 8 HEAD.

int main()
{
    struct A {};
    struct S
    {

        int & p;
        int x = p;
        operator A () { return {}; }

    };
    int l;
    [] (A) {} (S{l});
}


# Error message:

prog.cc: In function 'int main()':
prog.cc:13:20: internal compiler error: in replace_placeholders_r, at
cp/tree.c:2795
     [] (A) {} (S{l});
                    ^
0x6952e9 replace_placeholders_r
        ../../gcc-7.2.0/gcc/cp/tree.c:2795
0xcf18b5 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_set<tree_node*, default_hash_traits<tree_node*> >*))
        ../../gcc-7.2.0/gcc/tree.c:11822
0xcf1e5e walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_set<tree_node*, default_hash_traits<tree_node*> >*))
        ../../gcc-7.2.0/gcc/tree.c:12139
0x69521b replace_placeholders_r
        ../../gcc-7.2.0/gcc/cp/tree.c:2825
0xcf18b5 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_set<tree_node*, default_hash_traits<tree_node*> >*))
        ../../gcc-7.2.0/gcc/tree.c:11822
0xcf1d34 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_set<tree_node*, default_hash_traits<tree_node*> >*))
        ../../gcc-7.2.0/gcc/tree.c:12049
0x6953a1 replace_placeholders(tree_node*, tree_node*, bool*)
        ../../gcc-7.2.0/gcc/cp/tree.c:2861
0x6c74ce cp_gimplify_init_expr
        ../../gcc-7.2.0/gcc/cp/cp-gimplify.c:500
0x6c74ce cp_gimplify_expr(tree_node**, gimple**, gimple**)
        ../../gcc-7.2.0/gcc/cp/cp-gimplify.c:659
0x8d4245 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc-7.2.0/gcc/gimplify.c:11149
0x8ddb1c gimplify_target_expr
        ../../gcc-7.2.0/gcc/gimplify.c:6418
0x8d54ce gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc-7.2.0/gcc/gimplify.c:11620
0x8d7b68 gimplify_stmt(tree_node**, gimple**)
        ../../gcc-7.2.0/gcc/gimplify.c:6497
0x8d828b gimplify_compound_expr
        ../../gcc-7.2.0/gcc/gimplify.c:5726
0x8d551f gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc-7.2.0/gcc/gimplify.c:11230
0x8dd324 gimplify_expr
        ../../gcc-7.2.0/gcc/gimplify.c:12241
0x8de6ce gimplify_call_expr
        ../../gcc-7.2.0/gcc/gimplify.c:3262
0x8d6137 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        ../../gcc-7.2.0/gcc/gimplify.c:11212
0x8d7b68 gimplify_stmt(tree_node**, gimple**)
        ../../gcc-7.2.0/gcc/gimplify.c:6497
0x8d6086 gimplify_cleanup_point_expr
        ../../gcc-7.2.0/gcc/gimplify.c:6241
Please submit a full bug report,

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]