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