1/* { dg-do compile } */ 2 3#include <stdio.h> 4#include <string.h> 5 6inline int 7bci (const float &source) 8{ 9 int dest; 10 memcpy (&dest, &source, sizeof (dest)); 11 return dest; 12} 13 14inline float 15bcf (const int &source) 16{ 17 float dest; 18 memcpy (&dest, &source, sizeof (dest)); 19 return dest; 20} 21 22float 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 33int 34main () 35{ 36 printf ("Foo() = %f\n", Foo()); 37 return 0; 38} 39 40