modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/pr36343.c (about)

     1  extern void abort (void);
     2  
     3  void __attribute__((noinline))
     4  bar (int **p)
     5  {
     6    float *q = (float *)p;
     7    *q = 0.0;
     8  }
     9  
    10  float __attribute__((noinline))
    11  foo (int b)
    12  {
    13    int *i = 0;
    14    float f = 1.0;
    15    int **p;
    16    if (b)
    17      p = &i;
    18    else
    19      p = (int **)&f;
    20    bar (p);
    21    if (b)
    22      return **p;
    23    return f;
    24  }
    25  
    26  int main()
    27  {
    28    if (foo(0) != 0.0)
    29      abort ();
    30    return 0;
    31  }
    32