1 extern void abort (void);
2 
3 void __attribute__((noinline))
bar(int ** p)4 bar (int **p)
5 {
6   float *q = (float *)p;
7   *q = 0.0;
8 }
9 
10 float __attribute__((noinline))
foo(int b)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 
main()26 int main()
27 {
28   if (foo(0) != 0.0)
29     abort ();
30   return 0;
31 }
32 
33