1 /* PR middle-end/83609 */
2 /* { dg-do run } */
3 /* { dg-options "-O2 -fno-tree-forwprop -fno-tree-ccp -fno-tree-fre -fno-tree-pre -fno-code-hoisting" } */
4 
5 #if __SIZEOF_LONG_LONG__ == 2 * __SIZEOF_FLOAT__
6 _Complex float
foo(void)7 foo (void)
8 {
9   _Complex float c;
10   *((unsigned long long *)&c) = 0x123456789abcdef0ULL;
11   return c;
12 }
13 
14 int
main()15 main ()
16 {
17   union { _Complex float c; unsigned long long l; } u;
18   u.c = foo ();
19   if (u.l != 0x123456789abcdef0ULL)
20     __builtin_abort ();
21   return 0;
22 }
23 #else
24 int
main()25 main ()
26 {
27   return 0;
28 }
29 #endif
30