https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107323
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |marxin at gcc dot gnu.org --- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> --- Simpler C test-case: $ cat pr107323.c int A[4]; int B[4]; static const char *__attribute__((noipa)) foo() { return "1"; } int main() { const char *s = foo(); A[0] = 1000; for(int i = 1; i < 4; ++i) { B[i] = 0; A[i] = 0; if(s[0]) B[i] = 1; A[i] = A[i - 1]; } __builtin_printf ("A[3] = %d\n", A[3]); if (A[3] != 1000) __builtin_abort (); }