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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
             Target|spu                         |spu, x86_64-linux-gnu
                 CC|                            |mpolacek at gcc dot gnu.org
      Known to fail|                            |5.4.0, 6.3.0, 7.0

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r216099, where -fsanitize=object-size was added.

I was able to come up with x86_64-linux-gnu test-case:

$ cat pr70878.c

void * sbrk ()
{
 volatile register unsigned int sp_r1 __asm__ ("ebx");
 return __builtin_strcat (sp_r1, 0);
}

$ gcc pr70878.c  -fsanitize=object-size
pr70878.c: In function ‘sbrk’:
pr70878.c:4:27: warning: passing argument 1 of ‘__builtin_strcat’ makes pointer
from integer without a cast [-Wint-conversion]
  return __builtin_strcat (sp_r1, 0);
                           ^~~~~
pr70878.c:4:27: note: expected ‘char *’ but argument is of type ‘unsigned int’
pr70878.c:1:8: internal compiler error: in expand_expr_addr_expr_1, at
expr.c:7790
 void * sbrk ()
        ^~~~
0x9ba0e7 expand_expr_addr_expr_1
        ../../gcc/expr.c:7790
0x9ad6fb expand_expr_addr_expr
        ../../gcc/expr.c:7903
0x9ad6fb expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../gcc/expr.c:11047
0x9c42b0 expand_expr
        ../../gcc/expr.h:276
0x9c42b0 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        ../../gcc/expr.c:8301
0x89bd92 expand_gimple_stmt_1
        ../../gcc/cfgexpand.c:3676
0x89bd92 expand_gimple_stmt
        ../../gcc/cfgexpand.c:3737
0x89e53e expand_gimple_basic_block
        ../../gcc/cfgexpand.c:5744
0x8a4606 execute
        ../../gcc/cfgexpand.c:6357

I'll try to take a look.

Reply via email to