xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/gcc.c-torture/compile/920410-1.c (revision c87b03e512fc05ed6e0222f6fb0ae86264b1d05b)

alloc_float(f)1 int alloc_float(f)
2  float f;
3 {  union
4     {
5       float f;
6       int i;
7     }
8   u;
9   u.f=f;
10   return u.i&~1;
11 }
12 
c_float(int obj)13 float c_float(int obj)
14 {  union
15     {
16       float f;
17       int i;
18     } u;
19 
20   u.i=obj;
21   return u.f;
22 }
23 
main()24 main()
25 { int x=alloc_float(1.2);
26   int y=alloc_float(5.7);
27   int z=alloc_float(c_float(x)*c_float(y));
28 
29   printf("%g\n",(double)c_float(z));
30 }
31