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