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

            Bug ID: 88599
           Summary: ICE in make_decl_rtl, at varasm.c:1337
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu

gcc-9.0.0-alpha20181223 snapshot (r267388) and all releases to at least gcc 6
ICE when compiling the following snippet w/ -msoft-float:

void
ud (_Atomic double *my)
{
  *my += 1.0;
}

% powerpc-e300c3-linux-gnu-gcc-9.0.0-alpha20181223 -msoft-float -c ixpqp7a6.c
during RTL pass: expand                                                         
ixpqp7a6.c: In function 'ud':
ixpqp7a6.c:4:3: internal compiler error: in make_decl_rtl, at varasm.c:1337
    4 |   *my += 1.0;
      |   ^
0x6d2d9d make_decl_rtl(tree_node*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181223/work/gcc-9-20181223/gcc/varasm.c:1333
0x9d5278 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181223/work/gcc-9-20181223/gcc/expr.c:9938
0x9df4df expand_expr
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181223/work/gcc-9-20181223/gcc/expr.h:279
0x9df4df expand_expr_addr_expr_1
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181223/work/gcc-9-20181223/gcc/expr.c:7945
0x9d3275 expand_expr_addr_expr
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181223/work/gcc-9-20181223/gcc/expr.c:8066
0x9d3275 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181223/work/gcc-9-20181223/gcc/expr.c:11221
0x9dfd77 store_expr(tree_node*, rtx_def*, int, bool, bool)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181223/work/gcc-9-20181223/gcc/expr.c:5633
0x9e1f59 expand_assignment(tree_node*, tree_node*, bool)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181223/work/gcc-9-20181223/gcc/expr.c:5416
0x8b9f2f expand_gimple_stmt_1
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181223/work/gcc-9-20181223/gcc/cfgexpand.c:3746
0x8b9f2f expand_gimple_stmt
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181223/work/gcc-9-20181223/gcc/cfgexpand.c:3844
0x8bb3a7 expand_gimple_basic_block
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181223/work/gcc-9-20181223/gcc/cfgexpand.c:5880
0x8c15e7 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181223/work/gcc-9-20181223/gcc/cfgexpand.c:6502

Reply via email to