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

            Bug ID: 90982
           Summary: [9/10 Regression] ICE in make_decl_rtl, at
                    varasm.c:1344
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Changed between 20180513 and 20180527, at -O2+ :


$ cat z1.cc
template <int n> struct S
{
  long c[n];
  void f (S d)
  {
    for (int i = 2;; i++)
      c[i] &= d.c[i];
  }
};

template <int m> struct T:S<m/64>
{
  void operator &= (T d)
  { this -> f (d); }
};

void g (T<192> &d)
{
  T<192> v;
  d &= v;
}


$ g++-8           -c z1.cc -O2
$ g++-10-20190623 -c z1.cc -O1
$
$ g++-10-20190623 -c z1.cc -O2
during RTL pass: expand
z1.cc: In function 'void g(T<192>&)':
z1.cc:7:7: internal compiler error: in make_decl_rtl, at varasm.c:1344
    7 |       c[i] &= d.c[i];
      |       ^
0xe1237d make_decl_rtl(tree_node*)
        ../../gcc/varasm.c:1340
0x8e014a expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../gcc/expr.c:9990
0x8de252 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../gcc/expr.c:10621
0x8e02ba expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../gcc/expr.c:9958
0x8e9026 expand_expr
        ../../gcc/expr.h:281
0x8e9026 expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
        ../../gcc/expr.c:7885
0x8ee12c expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        ../../gcc/expr.c:9744
0x8e0be7 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../gcc/expr.c:9954
0x8e9966 store_expr(tree_node*, rtx_def*, int, bool, bool)
        ../../gcc/expr.c:5685
0x8eac68 expand_assignment(tree_node*, tree_node*, bool)
        ../../gcc/expr.c:5307
0x7e6818 expand_gimple_stmt_1
        ../../gcc/cfgexpand.c:3770
0x7e6818 expand_gimple_stmt
        ../../gcc/cfgexpand.c:3868
0x7ebab7 expand_gimple_basic_block
        ../../gcc/cfgexpand.c:5908
0x7ee156 execute
        ../../gcc/cfgexpand.c:6531

Reply via email to