Merge from mainline (167278:168000).
[official-gcc/graphite-test-results.git] / gcc / testsuite / gcc.dg / pr41123.c
blob076edb46ee53884435e5863c1d1edd4ff3c8a7f2
1 /* PR middle-end/41123 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -fno-strict-aliasing" } */
5 struct S { char a, b, c, d, e, f, g, h; };
6 struct T { int a, b; };
8 struct S
9 f1 (float _Complex x)
11 return *(struct S *) & x;
14 int
15 f2 (float _Complex x)
17 struct S f = f1 (x);
18 return f.b;
21 struct T
22 f3 (float _Complex x)
24 return *(struct T *) & x;
27 int
28 f4 (float _Complex x)
30 struct T f = f3 (x);
31 return f.a;
34 int
35 f5 (float _Complex x)
37 struct T f = f3 (x);
38 return f.b;
41 struct T
42 f6 (float _Complex x)
44 struct T f = f3 (x);
45 return f;