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

Reply via email to