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 ();
}

Reply via email to