https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68116
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-10-27 CC| |trippels at gcc dot gnu.org Component|c++ |middle-end Summary|ice in add_expr, at |[6 Regression] ice in |tree.c:7840 |add_expr, at tree.c:7840 Ever confirmed|0 |1 --- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- markus@x4 tmp % cat bug239.cc class Visitor { void visitWinDeclSpec(); typedef void (Visitor::*visitor_fun_ptr)(int); static visitor_fun_ptr b[]; }; Visitor::visitor_fun_ptr Visitor::b[]{ visitor_fun_ptr(&Visitor::visitWinDeclSpec)}; markus@x4 tmp % g++ -c -O2 bug239.cc bug239.cc: In function ‘void __static_initialization_and_destruction_0(int, int)’: bug239.cc:6:26: internal compiler error: in add_expr, at tree.c:7840 Visitor::visitor_fun_ptr Visitor::b[]{ ^ 0xf27703 inchash::add_expr(tree_node const*, inchash::hash&) ../../gcc/gcc/tree.c:7840 0xf2748f inchash::add_expr(tree_node const*, inchash::hash&) ../../gcc/gcc/tree.c:7852 0xf271bb inchash::add_expr(tree_node const*, inchash::hash&) ../../gcc/gcc/tree.c:7813 0xa8df71 iterative_hash_expr ../../gcc/gcc/tree.h:4610 0xa8df71 gimplify_hasher::hash(gimple_temp_hash_elt const*) ../../gcc/gcc/gimplify.c:10614 0xa8df71 hash_table<gimplify_hasher, xcallocator>::find_slot(gimple_temp_hash_elt* const&, insert_option) ../../gcc/gcc/hash-table.h:408 0xa8df71 lookup_tmp_var ../../gcc/gcc/gimplify.c:513 0xa8df71 internal_get_tmp_var ../../gcc/gcc/gimplify.c:548 0xa86b0f gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gcc/gimplify.c:10059 0xa94240 gimplify_modify_expr ../../gcc/gcc/gimplify.c:4644 0xa8794e gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gcc/gimplify.c:9126 0xa8baa6 gimplify_stmt(tree_node**, gimple**) ../../gcc/gcc/gimplify.c:5551 0xa87d6d gimplify_cleanup_point_expr ../../gcc/gcc/gimplify.c:5327 0xa87d6d gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gcc/gimplify.c:9489 0xa8baa6 gimplify_stmt(tree_node**, gimple**) ../../gcc/gcc/gimplify.c:5551 0xa8823b gimplify_statement_list ../../gcc/gcc/gimplify.c:1474 0xa8823b gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gcc/gimplify.c:9541 0xa8baa6 gimplify_stmt(tree_node**, gimple**) ../../gcc/gcc/gimplify.c:5551 0xa902d2 gimplify_cond_expr ../../gcc/gcc/gimplify.c:3173 0xa87bb6 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) ../../gcc/gcc/gimplify.c:9082