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