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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Slightly adjusted testcase:

int a, d, f;
char g;
int *volatile c = &a;

int
foo ()
{
  if (c == 0)
    return -1;
  return 1;
}

void
bar (int h, int i, char *k, char *m)
{
  for (; d < i; d += 2)
    for (int j = 0; j < h; j++)
      m[j] = k[4 * j];
}

void
baz (long h)
{
  char n = 0;
  bar (h, 4, &n, &g);
}

int
main ()
{
  f = foo ();
  baz ((unsigned char) f - 4);
}

Reply via email to