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