1 /* { dg-do compile } */ 2 3 #include <stdio.h> 4 #include <string.h> 5 6 inline int bci(const float & source)7bci (const float &source) 8 { 9 int dest; 10 memcpy (&dest, &source, sizeof (dest)); 11 return dest; 12 } 13 14 inline float bcf(const int & source)15bcf (const int &source) 16 { 17 float dest; 18 memcpy (&dest, &source, sizeof (dest)); 19 return dest; 20 } 21 22 float Foo()23Foo () 24 { 25 const int foo = bci (0.0f); 26 int bar = foo; 27 const int baz = foo & 1; 28 if (!baz && (foo & 2)) 29 bar = 0; 30 return bcf (bar); 31 } 32 33 int main()34main () 35 { 36 printf ("Foo() = %f\n", Foo()); 37 return 0; 38 } 39 40