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

            Bug ID: 97956
           Summary: [11 Regression] ICE in build2, at tree.c:4872
           Product: gcc
           Version: 11.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 20200823 and 20201004, derived from memchr.c :


$ cat z1.c
typedef __INT8_TYPE__ int8_t;
typedef __INT32_TYPE__ int32_t;
extern void* memchr (const void*, int, long);
struct SX
{
  int32_t n;
  int8_t a[];
};
const struct SX sx = { 0x1221 };
const char sx_rep[] = { };
void test_find (void)
{
  int n = 0, nb = (const char*)&sx.a - (const char*)&sx;
  const char *p = (const char*)&sx, *q = sx_rep;
  n += p + 1 == memchr (p, q[1], nb);
}


$ gcc-11-20201122 -c z1.c
$
$ gcc-11-20201122 -c z1.c -O2
during GIMPLE pass: forwprop
z1.c: In function 'test_find':
z1.c:16:1: internal compiler error: in build2, at tree.c:4872
   16 | }
      | ^
0xdaae9e build2(tree_code, tree_node*, tree_node*, tree_node*)
        ../../gcc/tree.c:4871
0x880b9f build2_loc
        ../../gcc/tree.h:4371
0x880b9f fold_build2_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
        ../../gcc/fold-const.c:13318
0xc3ad53 forward_propagate_into_comparison_1
        ../../gcc/tree-ssa-forwprop.c:434
0xc41900 forward_propagate_into_comparison
        ../../gcc/tree-ssa-forwprop.c:491
0xc41900 execute
        ../../gcc/tree-ssa-forwprop.c:3145

Reply via email to