|
|
1.1 root 1: /* The Plum Hall Validation Suite for C
2: * Unpublished copyright (c) 1986-1991, Chiron Systems Inc and Plum Hall Inc.
3: * VERSION: 4
4: * DATE: 1993-01-01
5: * The "ANSI" mode of the Suite corresponds to the official ANSI C, X3.159-1989.
6: * As per your license agreement, your distribution is not to be moved or copied outside the Designated Site
7: * without specific permission from Plum Hall Inc.
8: */
9:
10: #define ANSI 1 /* This file follows ANSI arithmetic rules, which may not work in non-ANSI modes */
11: #include "types.h"
12: int main()
13: {
14: extern char *Filename;
15: typedef union {
16: CHAR c;
17: SHORT s;
18: INT i;
19: UCHAR uc;
20: USHORT us;
21: UINT ui;
22: LONG l;
23: ULONG ul;
24: FLOAT f;
25: DOUBLE d;
26: #if ANSI
27: SCHAR sc;
28: LDOUBLE ld;
29: #endif
30: } D;
31: auto D D1;
32: #if ANSI
33: auto D D2;
34: #endif
35: auto D D3;
36: auto D D4;
37: auto D D5;
38: auto D D6;
39: auto D D7;
40: auto D D8;
41: auto D D9;
42: auto D D10;
43: auto D D11;
44: #if ANSI
45: auto D D12;
46: #endif
47: D1.c = 7;
48: #if ANSI
49: D2.sc = 8;
50: #endif
51: D3.s = 9;
52: D4.i = 10;
53: D5.uc = 11;
54: D6.us = 12;
55: D7.ui = 13;
56: D8.l = 14;
57: D9.ul = 15;
58: D10.f = 16;
59: D11.d = 17;
60: #if ANSI
61: D12.ld = 18;
62: #endif
63: {
64: static int x[12] = {0,1,2,3,4,5,6,7,8,9,10,11};
65: auto CHAR Pc[12];
66: int x_0 = 0;
67: #if ANSI
68: auto SCHAR Psc[12];
69: int x_1 = 1;
70: #endif
71: auto SHORT Ps[12];
72: int x_2 = 2;
73: auto INT Pi[12];
74: int x_3 = 3;
75: auto UCHAR Puc[12];
76: int x_4 = 4;
77: auto USHORT Pus[12];
78: int x_5 = 5;
79: auto UINT Pui[12];
80: int x_6 = 6;
81: auto LONG Pl[12];
82: int x_7 = 7;
83: auto ULONG Pul[12];
84: int x_8 = 8;
85: auto FLOAT Pf[12];
86: int x_9 = 9;
87: auto DOUBLE Pd[12];
88: int x_10 = 10;
89: #if ANSI
90: auto LDOUBLE Pld[12];
91: int x_11 = 11;
92: #endif
93: Pc[x[x_0]] = 7;
94: #if ANSI
95: Psc[x[x_1]] = 8;
96: #endif
97: Ps[x[x_2]] = 9;
98: Pi[x[x_3]] = 10;
99: Puc[x[x_4]] = 11;
100: Pus[x[x_5]] = 12;
101: Pui[x[x_6]] = 13;
102: Pl[x[x_7]] = 14;
103: Pul[x[x_8]] = 15;
104: Pf[x[x_9]] = 16;
105: Pd[x[x_10]] = 17;
106: #if ANSI
107: Pld[x[x_11]] = 18;
108: #endif
109: {
110: int true = 1, false = 0;
111: Filename = " auto union auto arrarr not ";
112: iequals(__LINE__, ! D1.c, !7);
113: iequals(__LINE__, ! Pc[x[x_0]], !7);
114: #if ANSI
115: iequals(__LINE__, ! D1.c, !7);
116: iequals(__LINE__, ! Psc[x[x_1]], !8);
117: #endif
118: iequals(__LINE__, ! D1.c, !7);
119: iequals(__LINE__, ! Ps[x[x_2]], !9);
120: iequals(__LINE__, ! D1.c, !7);
121: iequals(__LINE__, ! Pi[x[x_3]], !10);
122: iequals(__LINE__, ! D1.c, !7);
123: iequals(__LINE__, ! Puc[x[x_4]], !11);
124: iequals(__LINE__, ! D1.c, !7);
125: iequals(__LINE__, ! Pus[x[x_5]], !12);
126: iequals(__LINE__, ! D1.c, !7);
127: iequals(__LINE__, ! Pui[x[x_6]], !13);
128: iequals(__LINE__, ! D1.c, !7);
129: iequals(__LINE__, ! Pl[x[x_7]], !14);
130: iequals(__LINE__, ! D1.c, !7);
131: iequals(__LINE__, ! Pul[x[x_8]], !15);
132: iequals(__LINE__, ! D1.c, !7);
133: iequals(__LINE__, ! Pf[x[x_9]], !16);
134: iequals(__LINE__, ! D1.c, !7);
135: iequals(__LINE__, ! Pd[x[x_10]], !17);
136: #if ANSI
137: iequals(__LINE__, ! D1.c, !7);
138: iequals(__LINE__, ! Pld[x[x_11]], !18);
139: #endif
140: #if ANSI
141: iequals(__LINE__, ! D2.sc, !8);
142: iequals(__LINE__, ! Pc[x[x_0]], !7);
143: #endif
144: #if ANSI
145: iequals(__LINE__, ! D2.sc, !8);
146: iequals(__LINE__, ! Psc[x[x_1]], !8);
147: #endif
148: #if ANSI
149: iequals(__LINE__, ! D2.sc, !8);
150: iequals(__LINE__, ! Ps[x[x_2]], !9);
151: #endif
152: #if ANSI
153: iequals(__LINE__, ! D2.sc, !8);
154: iequals(__LINE__, ! Pi[x[x_3]], !10);
155: #endif
156: #if ANSI
157: iequals(__LINE__, ! D2.sc, !8);
158: iequals(__LINE__, ! Puc[x[x_4]], !11);
159: #endif
160: #if ANSI
161: iequals(__LINE__, ! D2.sc, !8);
162: iequals(__LINE__, ! Pus[x[x_5]], !12);
163: #endif
164: #if ANSI
165: iequals(__LINE__, ! D2.sc, !8);
166: iequals(__LINE__, ! Pui[x[x_6]], !13);
167: #endif
168: #if ANSI
169: iequals(__LINE__, ! D2.sc, !8);
170: iequals(__LINE__, ! Pl[x[x_7]], !14);
171: #endif
172: #if ANSI
173: iequals(__LINE__, ! D2.sc, !8);
174: iequals(__LINE__, ! Pul[x[x_8]], !15);
175: #endif
176: #if ANSI
177: iequals(__LINE__, ! D2.sc, !8);
178: iequals(__LINE__, ! Pf[x[x_9]], !16);
179: #endif
180: #if ANSI
181: iequals(__LINE__, ! D2.sc, !8);
182: iequals(__LINE__, ! Pd[x[x_10]], !17);
183: #endif
184: #if ANSI
185: iequals(__LINE__, ! D2.sc, !8);
186: iequals(__LINE__, ! Pld[x[x_11]], !18);
187: #endif
188: iequals(__LINE__, ! D3.s, !9);
189: iequals(__LINE__, ! Pc[x[x_0]], !7);
190: #if ANSI
191: iequals(__LINE__, ! D3.s, !9);
192: iequals(__LINE__, ! Psc[x[x_1]], !8);
193: #endif
194: iequals(__LINE__, ! D3.s, !9);
195: iequals(__LINE__, ! Ps[x[x_2]], !9);
196: iequals(__LINE__, ! D3.s, !9);
197: iequals(__LINE__, ! Pi[x[x_3]], !10);
198: iequals(__LINE__, ! D3.s, !9);
199: iequals(__LINE__, ! Puc[x[x_4]], !11);
200: iequals(__LINE__, ! D3.s, !9);
201: iequals(__LINE__, ! Pus[x[x_5]], !12);
202: iequals(__LINE__, ! D3.s, !9);
203: iequals(__LINE__, ! Pui[x[x_6]], !13);
204: iequals(__LINE__, ! D3.s, !9);
205: iequals(__LINE__, ! Pl[x[x_7]], !14);
206: iequals(__LINE__, ! D3.s, !9);
207: iequals(__LINE__, ! Pul[x[x_8]], !15);
208: iequals(__LINE__, ! D3.s, !9);
209: iequals(__LINE__, ! Pf[x[x_9]], !16);
210: iequals(__LINE__, ! D3.s, !9);
211: iequals(__LINE__, ! Pd[x[x_10]], !17);
212: #if ANSI
213: iequals(__LINE__, ! D3.s, !9);
214: iequals(__LINE__, ! Pld[x[x_11]], !18);
215: #endif
216: iequals(__LINE__, ! D4.i, !10);
217: iequals(__LINE__, ! Pc[x[x_0]], !7);
218: #if ANSI
219: iequals(__LINE__, ! D4.i, !10);
220: iequals(__LINE__, ! Psc[x[x_1]], !8);
221: #endif
222: iequals(__LINE__, ! D4.i, !10);
223: iequals(__LINE__, ! Ps[x[x_2]], !9);
224: iequals(__LINE__, ! D4.i, !10);
225: iequals(__LINE__, ! Pi[x[x_3]], !10);
226: iequals(__LINE__, ! D4.i, !10);
227: iequals(__LINE__, ! Puc[x[x_4]], !11);
228: iequals(__LINE__, ! D4.i, !10);
229: iequals(__LINE__, ! Pus[x[x_5]], !12);
230: iequals(__LINE__, ! D4.i, !10);
231: iequals(__LINE__, ! Pui[x[x_6]], !13);
232: iequals(__LINE__, ! D4.i, !10);
233: iequals(__LINE__, ! Pl[x[x_7]], !14);
234: iequals(__LINE__, ! D4.i, !10);
235: iequals(__LINE__, ! Pul[x[x_8]], !15);
236: iequals(__LINE__, ! D4.i, !10);
237: iequals(__LINE__, ! Pf[x[x_9]], !16);
238: iequals(__LINE__, ! D4.i, !10);
239: iequals(__LINE__, ! Pd[x[x_10]], !17);
240: #if ANSI
241: iequals(__LINE__, ! D4.i, !10);
242: iequals(__LINE__, ! Pld[x[x_11]], !18);
243: #endif
244: iequals(__LINE__, ! D5.uc, !11);
245: iequals(__LINE__, ! Pc[x[x_0]], !7);
246: #if ANSI
247: iequals(__LINE__, ! D5.uc, !11);
248: iequals(__LINE__, ! Psc[x[x_1]], !8);
249: #endif
250: iequals(__LINE__, ! D5.uc, !11);
251: iequals(__LINE__, ! Ps[x[x_2]], !9);
252: iequals(__LINE__, ! D5.uc, !11);
253: iequals(__LINE__, ! Pi[x[x_3]], !10);
254: iequals(__LINE__, ! D5.uc, !11);
255: iequals(__LINE__, ! Puc[x[x_4]], !11);
256: iequals(__LINE__, ! D5.uc, !11);
257: iequals(__LINE__, ! Pus[x[x_5]], !12);
258: iequals(__LINE__, ! D5.uc, !11);
259: iequals(__LINE__, ! Pui[x[x_6]], !13);
260: iequals(__LINE__, ! D5.uc, !11);
261: iequals(__LINE__, ! Pl[x[x_7]], !14);
262: iequals(__LINE__, ! D5.uc, !11);
263: iequals(__LINE__, ! Pul[x[x_8]], !15);
264: iequals(__LINE__, ! D5.uc, !11);
265: iequals(__LINE__, ! Pf[x[x_9]], !16);
266: iequals(__LINE__, ! D5.uc, !11);
267: iequals(__LINE__, ! Pd[x[x_10]], !17);
268: #if ANSI
269: iequals(__LINE__, ! D5.uc, !11);
270: iequals(__LINE__, ! Pld[x[x_11]], !18);
271: #endif
272: iequals(__LINE__, ! D6.us, !12);
273: iequals(__LINE__, ! Pc[x[x_0]], !7);
274: #if ANSI
275: iequals(__LINE__, ! D6.us, !12);
276: iequals(__LINE__, ! Psc[x[x_1]], !8);
277: #endif
278: iequals(__LINE__, ! D6.us, !12);
279: iequals(__LINE__, ! Ps[x[x_2]], !9);
280: iequals(__LINE__, ! D6.us, !12);
281: iequals(__LINE__, ! Pi[x[x_3]], !10);
282: iequals(__LINE__, ! D6.us, !12);
283: iequals(__LINE__, ! Puc[x[x_4]], !11);
284: iequals(__LINE__, ! D6.us, !12);
285: iequals(__LINE__, ! Pus[x[x_5]], !12);
286: iequals(__LINE__, ! D6.us, !12);
287: iequals(__LINE__, ! Pui[x[x_6]], !13);
288: iequals(__LINE__, ! D6.us, !12);
289: iequals(__LINE__, ! Pl[x[x_7]], !14);
290: iequals(__LINE__, ! D6.us, !12);
291: iequals(__LINE__, ! Pul[x[x_8]], !15);
292: iequals(__LINE__, ! D6.us, !12);
293: iequals(__LINE__, ! Pf[x[x_9]], !16);
294: iequals(__LINE__, ! D6.us, !12);
295: iequals(__LINE__, ! Pd[x[x_10]], !17);
296: #if ANSI
297: iequals(__LINE__, ! D6.us, !12);
298: iequals(__LINE__, ! Pld[x[x_11]], !18);
299: #endif
300: iequals(__LINE__, ! D7.ui, !13);
301: iequals(__LINE__, ! Pc[x[x_0]], !7);
302: #if ANSI
303: iequals(__LINE__, ! D7.ui, !13);
304: iequals(__LINE__, ! Psc[x[x_1]], !8);
305: #endif
306: iequals(__LINE__, ! D7.ui, !13);
307: iequals(__LINE__, ! Ps[x[x_2]], !9);
308: iequals(__LINE__, ! D7.ui, !13);
309: iequals(__LINE__, ! Pi[x[x_3]], !10);
310: iequals(__LINE__, ! D7.ui, !13);
311: iequals(__LINE__, ! Puc[x[x_4]], !11);
312: iequals(__LINE__, ! D7.ui, !13);
313: iequals(__LINE__, ! Pus[x[x_5]], !12);
314: iequals(__LINE__, ! D7.ui, !13);
315: iequals(__LINE__, ! Pui[x[x_6]], !13);
316: iequals(__LINE__, ! D7.ui, !13);
317: iequals(__LINE__, ! Pl[x[x_7]], !14);
318: iequals(__LINE__, ! D7.ui, !13);
319: iequals(__LINE__, ! Pul[x[x_8]], !15);
320: iequals(__LINE__, ! D7.ui, !13);
321: iequals(__LINE__, ! Pf[x[x_9]], !16);
322: iequals(__LINE__, ! D7.ui, !13);
323: iequals(__LINE__, ! Pd[x[x_10]], !17);
324: #if ANSI
325: iequals(__LINE__, ! D7.ui, !13);
326: iequals(__LINE__, ! Pld[x[x_11]], !18);
327: #endif
328: iequals(__LINE__, ! D8.l, !14);
329: iequals(__LINE__, ! Pc[x[x_0]], !7);
330: #if ANSI
331: iequals(__LINE__, ! D8.l, !14);
332: iequals(__LINE__, ! Psc[x[x_1]], !8);
333: #endif
334: iequals(__LINE__, ! D8.l, !14);
335: iequals(__LINE__, ! Ps[x[x_2]], !9);
336: iequals(__LINE__, ! D8.l, !14);
337: iequals(__LINE__, ! Pi[x[x_3]], !10);
338: iequals(__LINE__, ! D8.l, !14);
339: iequals(__LINE__, ! Puc[x[x_4]], !11);
340: iequals(__LINE__, ! D8.l, !14);
341: iequals(__LINE__, ! Pus[x[x_5]], !12);
342: iequals(__LINE__, ! D8.l, !14);
343: iequals(__LINE__, ! Pui[x[x_6]], !13);
344: iequals(__LINE__, ! D8.l, !14);
345: iequals(__LINE__, ! Pl[x[x_7]], !14);
346: iequals(__LINE__, ! D8.l, !14);
347: iequals(__LINE__, ! Pul[x[x_8]], !15);
348: iequals(__LINE__, ! D8.l, !14);
349: iequals(__LINE__, ! Pf[x[x_9]], !16);
350: iequals(__LINE__, ! D8.l, !14);
351: iequals(__LINE__, ! Pd[x[x_10]], !17);
352: #if ANSI
353: iequals(__LINE__, ! D8.l, !14);
354: iequals(__LINE__, ! Pld[x[x_11]], !18);
355: #endif
356: iequals(__LINE__, ! D9.ul, !15);
357: iequals(__LINE__, ! Pc[x[x_0]], !7);
358: #if ANSI
359: iequals(__LINE__, ! D9.ul, !15);
360: iequals(__LINE__, ! Psc[x[x_1]], !8);
361: #endif
362: iequals(__LINE__, ! D9.ul, !15);
363: iequals(__LINE__, ! Ps[x[x_2]], !9);
364: iequals(__LINE__, ! D9.ul, !15);
365: iequals(__LINE__, ! Pi[x[x_3]], !10);
366: iequals(__LINE__, ! D9.ul, !15);
367: iequals(__LINE__, ! Puc[x[x_4]], !11);
368: iequals(__LINE__, ! D9.ul, !15);
369: iequals(__LINE__, ! Pus[x[x_5]], !12);
370: iequals(__LINE__, ! D9.ul, !15);
371: iequals(__LINE__, ! Pui[x[x_6]], !13);
372: iequals(__LINE__, ! D9.ul, !15);
373: iequals(__LINE__, ! Pl[x[x_7]], !14);
374: iequals(__LINE__, ! D9.ul, !15);
375: iequals(__LINE__, ! Pul[x[x_8]], !15);
376: iequals(__LINE__, ! D9.ul, !15);
377: iequals(__LINE__, ! Pf[x[x_9]], !16);
378: iequals(__LINE__, ! D9.ul, !15);
379: iequals(__LINE__, ! Pd[x[x_10]], !17);
380: #if ANSI
381: iequals(__LINE__, ! D9.ul, !15);
382: iequals(__LINE__, ! Pld[x[x_11]], !18);
383: #endif
384: iequals(__LINE__, ! D10.f, !16);
385: iequals(__LINE__, ! Pc[x[x_0]], !7);
386: #if ANSI
387: iequals(__LINE__, ! D10.f, !16);
388: iequals(__LINE__, ! Psc[x[x_1]], !8);
389: #endif
390: iequals(__LINE__, ! D10.f, !16);
391: iequals(__LINE__, ! Ps[x[x_2]], !9);
392: iequals(__LINE__, ! D10.f, !16);
393: iequals(__LINE__, ! Pi[x[x_3]], !10);
394: iequals(__LINE__, ! D10.f, !16);
395: iequals(__LINE__, ! Puc[x[x_4]], !11);
396: iequals(__LINE__, ! D10.f, !16);
397: iequals(__LINE__, ! Pus[x[x_5]], !12);
398: iequals(__LINE__, ! D10.f, !16);
399: iequals(__LINE__, ! Pui[x[x_6]], !13);
400: iequals(__LINE__, ! D10.f, !16);
401: iequals(__LINE__, ! Pl[x[x_7]], !14);
402: iequals(__LINE__, ! D10.f, !16);
403: iequals(__LINE__, ! Pul[x[x_8]], !15);
404: iequals(__LINE__, ! D10.f, !16);
405: iequals(__LINE__, ! Pf[x[x_9]], !16);
406: iequals(__LINE__, ! D10.f, !16);
407: iequals(__LINE__, ! Pd[x[x_10]], !17);
408: #if ANSI
409: iequals(__LINE__, ! D10.f, !16);
410: iequals(__LINE__, ! Pld[x[x_11]], !18);
411: #endif
412: iequals(__LINE__, ! D11.d, !17);
413: iequals(__LINE__, ! Pc[x[x_0]], !7);
414: #if ANSI
415: iequals(__LINE__, ! D11.d, !17);
416: iequals(__LINE__, ! Psc[x[x_1]], !8);
417: #endif
418: iequals(__LINE__, ! D11.d, !17);
419: iequals(__LINE__, ! Ps[x[x_2]], !9);
420: iequals(__LINE__, ! D11.d, !17);
421: iequals(__LINE__, ! Pi[x[x_3]], !10);
422: iequals(__LINE__, ! D11.d, !17);
423: iequals(__LINE__, ! Puc[x[x_4]], !11);
424: iequals(__LINE__, ! D11.d, !17);
425: iequals(__LINE__, ! Pus[x[x_5]], !12);
426: iequals(__LINE__, ! D11.d, !17);
427: iequals(__LINE__, ! Pui[x[x_6]], !13);
428: iequals(__LINE__, ! D11.d, !17);
429: iequals(__LINE__, ! Pl[x[x_7]], !14);
430: iequals(__LINE__, ! D11.d, !17);
431: iequals(__LINE__, ! Pul[x[x_8]], !15);
432: iequals(__LINE__, ! D11.d, !17);
433: iequals(__LINE__, ! Pf[x[x_9]], !16);
434: iequals(__LINE__, ! D11.d, !17);
435: iequals(__LINE__, ! Pd[x[x_10]], !17);
436: #if ANSI
437: iequals(__LINE__, ! D11.d, !17);
438: iequals(__LINE__, ! Pld[x[x_11]], !18);
439: #endif
440: #if ANSI
441: iequals(__LINE__, ! D12.ld, !18);
442: iequals(__LINE__, ! Pc[x[x_0]], !7);
443: #endif
444: #if ANSI
445: iequals(__LINE__, ! D12.ld, !18);
446: iequals(__LINE__, ! Psc[x[x_1]], !8);
447: #endif
448: #if ANSI
449: iequals(__LINE__, ! D12.ld, !18);
450: iequals(__LINE__, ! Ps[x[x_2]], !9);
451: #endif
452: #if ANSI
453: iequals(__LINE__, ! D12.ld, !18);
454: iequals(__LINE__, ! Pi[x[x_3]], !10);
455: #endif
456: #if ANSI
457: iequals(__LINE__, ! D12.ld, !18);
458: iequals(__LINE__, ! Puc[x[x_4]], !11);
459: #endif
460: #if ANSI
461: iequals(__LINE__, ! D12.ld, !18);
462: iequals(__LINE__, ! Pus[x[x_5]], !12);
463: #endif
464: #if ANSI
465: iequals(__LINE__, ! D12.ld, !18);
466: iequals(__LINE__, ! Pui[x[x_6]], !13);
467: #endif
468: #if ANSI
469: iequals(__LINE__, ! D12.ld, !18);
470: iequals(__LINE__, ! Pl[x[x_7]], !14);
471: #endif
472: #if ANSI
473: iequals(__LINE__, ! D12.ld, !18);
474: iequals(__LINE__, ! Pul[x[x_8]], !15);
475: #endif
476: #if ANSI
477: iequals(__LINE__, ! D12.ld, !18);
478: iequals(__LINE__, ! Pf[x[x_9]], !16);
479: #endif
480: #if ANSI
481: iequals(__LINE__, ! D12.ld, !18);
482: iequals(__LINE__, ! Pd[x[x_10]], !17);
483: #endif
484: #if ANSI
485: iequals(__LINE__, ! D12.ld, !18);
486: iequals(__LINE__, ! Pld[x[x_11]], !18);
487: #endif
488: }}
489: return report(Filename);
490: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.