OSDN Git Service

2010-02-10 Joost VandeVondele <jv244@cam.ac.uk>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / pr42475.c
1 /* PR rtl-optimization/42475 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2" } */
4
5 typedef struct { float x, y; } B;
6 typedef struct { float z; } C;
7 typedef struct { B b; C c; } D;
8
9 B
10 foo (float x, float y)
11 {
12   B b = { .x = x, .y = y };
13   return b;
14 }
15
16 B
17 bar (B b, B y)
18 {
19   return foo (y.x + b.x, b.y);
20 }
21
22 B
23 baz (D p)
24 {
25   D d = { };
26   B y = bar (foo (0, (p.c.z) / 2), d.b);
27   return y;
28 }