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