[Bug c++/78201] [7 Regression] ICE in tree_to_shwi, at tree.h:4037 (seen both on ARM32 an AArch64)

yroux at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Nov 4 09:27:00 GMT 2016


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

--- Comment #2 from Yvan Roux <yroux at gcc dot gnu.org> ---
Hi Richard,

sorry for the lack of context, here is the full backtrace:

reduced.C: In function 'void f()':
reduced.C:7:8: internal compiler error: in tree_to_shwi, at tree.c:7313
   char a[e] = "";
        ^
0x1007a32 tree_to_shwi(tree_node const*)
        .../gcc.git~master/gcc/tree.c:7313
0x105bffa default_use_anchors_for_symbol_p(rtx_def const*)
        .../gcc.git~master/gcc/varasm.c:6810
0x9e8776 use_anchored_address(rtx_def*)
        .../gcc.git~master/gcc/explow.c:549
0xa0e148 expand_expr_addr_expr_1
        .../gcc.git~master/gcc/expr.c:7729
0xa00e6c expand_expr_addr_expr
        .../gcc.git~master/gcc/expr.c:7920
0xa00e6c expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        .../gcc.git~master/gcc/expr.c:10998
0x8ca22e expand_expr
        .../gcc.git~master/gcc/expr.h:279
0x8ca22e get_memory_rtx
        .../gcc.git~master/gcc/builtins.c:1279
0x8ce361 expand_builtin_memcpy_args
        .../gcc.git~master/gcc/builtins.c:2995
0x8da0ea expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int)
        .../gcc.git~master/gcc/builtins.c:6236
0xa01135 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        .../gcc.git~master/gcc/expr.c:10773
0x8fb8cc expand_expr
        .../gcc.git~master/gcc/expr.h:279
0x8fb8cc expand_call_stmt
        .../gcc.git~master/gcc/cfgexpand.c:2668
0x8fb8cc expand_gimple_stmt_1
        .../gcc.git~master/gcc/cfgexpand.c:3581
0x8fb8cc expand_gimple_stmt
        .../gcc.git~master/gcc/cfgexpand.c:3747
0x8fd410 expand_gimple_basic_block
        .../gcc.git~master/gcc/cfgexpand.c:5754
0x9026e6 execute
        .../gcc.git~master/gcc/cfgexpand.c:6368

A quick check shows that using tree_to_uhwi instead of tree_to_shwi fixes the
issue, but I'll look calling site as well.


More information about the Gcc-bugs mailing list