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

            Bug ID: 80018
           Summary: ICE in expand_expr_addr_expr_1, at expr.c:7790 w/
                    -fsanitize=object-size
           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
  Target Milestone: ---

Starting from GCC 4.9.0 (when object-size was added), we ICE:

$ cat ice.c
void
a ()
{
  volatile register int b __asm__("rdx") = b;
}

$ gcc ice.c -c -fsanitize=object-size
ice.c: In function ‘a’:
ice.c:2:1: internal compiler error: in expand_expr_addr_expr_1, at expr.c:7790
 a ()
 ^
0xad61af expand_expr_addr_expr_1
        ../../gcc/expr.c:7790
0xad6a07 expand_expr_addr_expr
        ../../gcc/expr.c:7903
0xae404a expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../gcc/expr.c:11035
0xad6e7e expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
        ../../gcc/expr.c:8072
0xabde15 expand_expr
        ../../gcc/expr.h:276
0xad7cc5 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        ../../gcc/expr.c:8301
0x975b39 expand_gimple_stmt_1
        ../../gcc/cfgexpand.c:3676
0x975d96 expand_gimple_stmt
        ../../gcc/cfgexpand.c:3737
0x97d5f6 expand_gimple_basic_block
        ../../gcc/cfgexpand.c:5744
0x97f0a6 execute
        ../../gcc/cfgexpand.c:6357

Reply via email to