Merge to HEAD at tree-cleanup-merge-20041024 .
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 20000603-1.c
blobe94a2c8e6dabfb32d98083dc4b1ce6f0d959379a
1 /* It is not clear whether this test is conforming. See DR#236
2 http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_236.htm. However,
3 there seems to be consensus that the presence of a union to aggregate
4 struct s1 and struct s2 should make it conforming. */
5 struct s1 { double d; };
6 struct s2 { double d; };
7 union u { struct s1 x; struct s2 y; };
9 double f(struct s1 *a, struct s2 *b)
11 a->d = 1.0;
12 return b->d + 1.0;
15 int main()
17 union u a;
18 a.x.d = 0.0;
19 if (f (&a.x, &a.y) != 2.0)
20 abort ();
21 return 0;