https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80168
Bug ID: 80168
Summary: [5/6/7 Regression] ICE in make_decl_rtl, at
varasm.c:1311 w/ VLA and -fsanitize=address
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org,
mpolacek at gcc dot gnu.org, msebor at gcc dot gnu.org
Target Milestone: ---
Following test-case ICEs starting from 4.9.0:
$ cat /tmp/tmpti5pzbsf.i
int a;
int b ()
{
typedef int c[a];
struct
{
c d;
int e : 4;
} f;
return f.e;
}
$ gcc -fsanitize=address /tmp/tmpti5pzbsf.i
/tmp/tmpti5pzbsf.i: In function ‘b’:
/tmp/tmpti5pzbsf.i:10:11: internal compiler error: in make_decl_rtl, at
varasm.c:1311
return f.e;
~^~
0x1307043 make_decl_rtl(tree_node*)
../../gcc/varasm.c:1307
0xb03304 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/expr.c:9805
0xb04661 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/expr.c:10042
0xafbad0 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
../../gcc/expr.c:8072
0xae2a67 expand_expr
../../gcc/expr.h:276
0xafca4b expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
../../gcc/expr.c:8314
0xb08e6c expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/expr.c:11103
0xafbad0 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
../../gcc/expr.c:8072
0xae2a67 expand_expr
../../gcc/expr.h:276
0xafa7e2 expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
../../gcc/expr.c:7672
0xaff189 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
../../gcc/expr.c:8791
0xb08e6c expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/expr.c:11103
0xafbad0 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
../../gcc/expr.c:8072
0xae2a67 expand_expr
../../gcc/expr.h:276
0xafb24b expand_expr_addr_expr_1
../../gcc/expr.c:7836
0xafb659 expand_expr_addr_expr
../../gcc/expr.c:7903
0xb08d5e expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/expr.c:11047
0xafbad0 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
../../gcc/expr.c:8072
0xaf2aec store_expr_with_bounds(tree_node*, rtx_def*, int, bool, bool,
tree_node*)
../../gcc/expr.c:5552
0xaf1541 expand_assignment(tree_node*, tree_node*, bool)
../../gcc/expr.c:5321