[Bug tree-optimization/92860] [9/10/11/12 regression] Global flags affected by -O settings are clobbered by optimize attribute

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jan 4 17:43:37 GMT 2022


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

--- Comment #87 from Martin Liška <marxin at gcc dot gnu.org> ---
Self-contained test-case:

$ cat options-save2.ii
char flags[16];

int one = 1, two = 2;

void
__attribute__ ((noipa))
save() {
  flags[0] = one;
  flags[1] = one;
  flags[2] = one;
  flags[3] = one;
  flags[4] = one;
  flags[5] = one;
  flags[6] = one;
  flags[7] = one;
  flags[8] = one;
  flags[9] = one;
  flags[10] = one;
  flags[11] = one;
  flags[12] = one;
  flags[13] = one;
  flags[14] = one;
  flags[15] = two;
}

int
main()
{
  save ();

  __builtin_printf ("flags[0]=%d, flags[15]=%d\n", flags[0], flags[15]);
  if (flags[15] != 2)
    __builtin_abort ();

  return 0;
}


More information about the Gcc-bugs mailing list