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