(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
20080604-1.c
       1  struct barstruct { char const* some_string; } x;
       2  extern void abort (void);
       3  void __attribute__((noinline))
       4  foo(void)
       5  {
       6    if (!x.some_string)
       7      abort ();
       8  }
       9  void baz(int b)
      10  {
      11    struct barstruct bar;
      12    struct barstruct* barptr;
      13    if (b)
      14      barptr = &bar;
      15    else
      16      {
      17        barptr = &x + 1;
      18        barptr = barptr - 1;
      19      }
      20    barptr->some_string = "Everything OK";
      21    foo();
      22    barptr->some_string = "Everything OK";
      23  }
      24  int main()
      25  {
      26    x.some_string = (void *)0;
      27    baz(0);
      28    if (!x.some_string)
      29      abort ();
      30    return 0;
      31  }
      32