1184610Salfredextern void abort (void);
2184610Salfred#define A(x) if (!(x)) abort ()
3184610Salfred
4184610Salfredstatic union at6 {} vv6 = {};
5184610Salfredstatic struct et6
6184610Salfred{
7184610Salfred  struct bt6
8184610Salfred  {
9184610Salfred    signed av6:6;
10184610Salfred    signed bv6:7;
11184610Salfred    signed cv6:6;
12184610Salfred    signed dv6:5;
13184610Salfred    unsigned char ev6;
14184610Salfred    unsigned int fv6;
15184610Salfred    long int gv6;
16184610Salfred  } mv6;
17184610Salfred  unsigned long int nv6;
18184610Salfred  signed ov6:12;
19184610Salfred  signed pv6:3;
20184610Salfred  signed qv6:2;
21184610Salfred  signed rv6:10;
22184610Salfred  union ct6 { long int hv6; float iv6; float jv6; } sv6;
23184610Salfred  int *tv6;
24184610Salfred  union dt6 { double kv6; float lv6; } uv6;
25184610Salfred} wv6 = {
26184610Salfred  { 8, 9, 2, 4, '\x10', 67426805U, 1047191860L },
27184610Salfred  1366022414UL, 858, 1, 1, 305,
28184610Salfred  { 1069379046L }, (int *) 358273621U,
29184610Salfred  { 3318.041978 }
30184610Salfred};
31184610Salfredstatic double xv6 = 19239.101269;
32184610Salfredstatic long long int yv6 = 1207859169L;
33184610Salfredstatic int zv6 = 660195606;
34184610Salfred
35184610Salfredstatic union at6
36184610Salfredcallee_af6 (struct et6 ap6, double bp6, long long int cp6, int dp6)
37184610Salfred{
38184610Salfred  A (wv6.mv6.av6 == ap6.mv6.av6);
39184610Salfred  A (wv6.mv6.bv6 == ap6.mv6.bv6);
40184610Salfred  A (wv6.mv6.cv6 == ap6.mv6.cv6);
41184610Salfred  A (wv6.mv6.dv6 == ap6.mv6.dv6);
42188945Sthompsa  A (wv6.mv6.ev6 == ap6.mv6.ev6);
43194677Sthompsa  A (wv6.mv6.fv6 == ap6.mv6.fv6);
44188945Sthompsa  A (wv6.mv6.gv6 == ap6.mv6.gv6);
45184610Salfred  A (wv6.nv6 == ap6.nv6);
46184610Salfred  A (wv6.ov6 == ap6.ov6);
47184610Salfred  A (wv6.pv6 == ap6.pv6);
48184610Salfred  A (wv6.qv6 == ap6.qv6);
49184610Salfred  A (wv6.rv6 == ap6.rv6);
50184610Salfred  A (wv6.sv6.hv6 == ap6.sv6.hv6);
51188622Sthompsa  A (wv6.tv6 == ap6.tv6);
52188622Sthompsa  A (wv6.uv6.kv6 == ap6.uv6.kv6);
53184610Salfred  A (xv6 == bp6);
54184610Salfred  A (yv6 == cp6);
55184610Salfred  A (zv6 == dp6);
56184610Salfred  return vv6;
57188987Sthompsa}
58188987Sthompsa
59184610Salfredstatic void
60184610Salfredcaller_bf6 (void)
61184610Salfred{
62184610Salfred  union at6 bav6;
63184610Salfred  bav6 = callee_af6 (wv6, xv6, yv6, zv6);
64184610Salfred}
65184610Salfred
66184610Salfredstatic unsigned char uv7 = '\x46';
67184610Salfredstatic float vv7 = 96636.982442;
68184610Salfredstatic double wv7 = 28450.711801;
69184610Salfredstatic union ct7 {} xv7 = {};
70203147Sthompsastatic struct et7
71184610Salfred{
72184610Salfred  struct dt7
73184610Salfred  {
74184610Salfred    float iv7;
75184610Salfred    unsigned short int jv7;
76184610Salfred  } kv7;
77184610Salfred  float lv7[0];
78184610Salfred  signed mv7:9;
79184610Salfred  short int nv7;
80184610Salfred  double ov7;
81184610Salfred  float pv7;
82184610Salfred} yv7 = {
83184610Salfred  { 30135.996213, 42435 },
84184610Salfred  {}, 170, 22116, 26479.628148, 4082.960685
85184610Salfred};
86184610Salfredstatic union ft7
87184610Salfred{
88184610Salfred  float qv7;
89184610Salfred  float *rv7;
90184610Salfred  unsigned int *sv7;
91184610Salfred} zv7 = { 5042.227886 };
92184610Salfredstatic int bav7 = 1345451862;
93184610Salfredstatic struct gt7 { double tv7; } bbv7 = { 47875.491954 };
94184610Salfredstatic long int bcv7[1] = { 1732133482L };
95184610Salfredstatic long long int bdv7 = 381678602L;
96184610Salfred
97184610Salfredstatic unsigned char
98184610Salfredcallee_af7 (float ap7, double bp7, union ct7 cp7, struct et7 dp7,
99184610Salfred            union ft7 ep7, int fp7, struct gt7 gp7, long int hp7[1],
100184610Salfred            long long int ip7)
101184610Salfred{
102184610Salfred  A (vv7 == ap7);
103184610Salfred  A (wv7 == bp7);
104184610Salfred  A (yv7.kv7.iv7 == dp7.kv7.iv7);
105184610Salfred  A (yv7.kv7.jv7 == dp7.kv7.jv7);
106184610Salfred  A (yv7.mv7 == dp7.mv7);
107184610Salfred  A (yv7.nv7 == dp7.nv7);
108184610Salfred  A (yv7.ov7 == dp7.ov7);
109184610Salfred  A (yv7.pv7 == dp7.pv7);
110184610Salfred  A (zv7.qv7 == ep7.qv7);
111184610Salfred  A (bav7 == fp7);
112184610Salfred  A (bbv7.tv7 == gp7.tv7);
113184610Salfred  A (bcv7[0] == hp7[0]);
114184610Salfred  A (bdv7 == ip7);
115184610Salfred  return uv7;
116184610Salfred}
117184610Salfred
118184610Salfredstatic void
119184610Salfredcaller_bf7 (void)
120184610Salfred{
121184610Salfred  unsigned char bev7;
122184610Salfred
123184610Salfred  bev7 = callee_af7 (vv7, wv7, xv7, yv7, zv7, bav7, bbv7, bcv7, bdv7);
124184610Salfred  A (uv7 == bev7);
125184610Salfred}
126192984Sthompsa
127192984Sthompsaint
128184610Salfredmain ()
129184610Salfred{
130184610Salfred  caller_bf6 ();
131184610Salfred  caller_bf7 ();
132184610Salfred  return 0;
133184610Salfred}
134184610Salfred