|
|
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 mineq1 ";
63: Ac = 7; *pBc = 7;
64: Ac -= *pBc;
65: iequals(__LINE__, Ac, (CHAR)0);
66: Ac = 7;
67: iequals(__LINE__, Ac -= *pBc, (CHAR)0);
68: *pBc = 7; Ac = 7;
69: *pBc -= Ac;
70: iequals(__LINE__, *pBc, (CHAR)0);
71: *pBc = 7;
72: iequals(__LINE__, *pBc -= Ac, (CHAR)0);
73: #if ANSI
74: Ac = 7; *pBsc = 8;
75: Ac -= *pBsc;
76: iequals(__LINE__, Ac, (CHAR)-1);
77: Ac = 7;
78: iequals(__LINE__, Ac -= *pBsc, (CHAR)-1);
79: *pBsc = 8; Ac = 7;
80: *pBsc -= Ac;
81: iequals(__LINE__, *pBsc, (SCHAR)1);
82: *pBsc = 8;
83: iequals(__LINE__, *pBsc -= Ac, (SCHAR)1);
84: #endif
85: Ac = 7; *pBs = 9;
86: Ac -= *pBs;
87: iequals(__LINE__, Ac, (CHAR)-2);
88: Ac = 7;
89: iequals(__LINE__, Ac -= *pBs, (CHAR)-2);
90: *pBs = 9; Ac = 7;
91: *pBs -= Ac;
92: iequals(__LINE__, *pBs, (SHORT)2);
93: *pBs = 9;
94: iequals(__LINE__, *pBs -= Ac, (SHORT)2);
95: Ac = 7; *pBi = 10;
96: Ac -= *pBi;
97: iequals(__LINE__, Ac, (CHAR)-3);
98: Ac = 7;
99: iequals(__LINE__, Ac -= *pBi, (CHAR)-3);
100: *pBi = 10; Ac = 7;
101: *pBi -= Ac;
102: iequals(__LINE__, *pBi, (INT)3);
103: *pBi = 10;
104: iequals(__LINE__, *pBi -= Ac, (INT)3);
105: Ac = 7; *pBuc = 21;
106: Ac -= *pBuc;
107: iequals(__LINE__, Ac, (CHAR)-14);
108: Ac = 7;
109: iequals(__LINE__, Ac -= *pBuc, (CHAR)-14);
110: *pBuc = 21; Ac = 7;
111: *pBuc -= Ac;
112: iequals(__LINE__, *pBuc, (UCHAR)14);
113: *pBuc = 21;
114: iequals(__LINE__, *pBuc -= Ac, (UCHAR)14);
115: Ac = 7; *pBus = 22;
116: Ac -= *pBus;
117: iequals(__LINE__, Ac, (CHAR)-15);
118: Ac = 7;
119: iequals(__LINE__, Ac -= *pBus, (CHAR)-15);
120: *pBus = 22; Ac = 7;
121: *pBus -= Ac;
122: iequals(__LINE__, *pBus, (USHORT)15);
123: *pBus = 22;
124: iequals(__LINE__, *pBus -= Ac, (USHORT)15);
125: Ac = 7; *pBui = 23;
126: Ac -= *pBui;
127: iequals(__LINE__, Ac, (CHAR)-16);
128: Ac = 7;
129: iequals(__LINE__, Ac -= *pBui, (CHAR)-16);
130: *pBui = 23; Ac = 7;
131: *pBui -= Ac;
132: iequals(__LINE__, *pBui, (UINT)16);
133: *pBui = 23;
134: iequals(__LINE__, *pBui -= Ac, (UINT)16);
135: Ac = 7; *pBl = 14;
136: Ac -= *pBl;
137: iequals(__LINE__, Ac, (CHAR)-7);
138: Ac = 7;
139: iequals(__LINE__, Ac -= *pBl, (CHAR)-7);
140: *pBl = 14; Ac = 7;
141: *pBl -= Ac;
142: lequals(__LINE__, *pBl, (LONG)7L);
143: *pBl = 14;
144: lequals(__LINE__, *pBl -= Ac, (LONG)7L);
145: Ac = 7; *pBul = 25;
146: Ac -= *pBul;
147: iequals(__LINE__, Ac, (CHAR)-18);
148: Ac = 7;
149: iequals(__LINE__, Ac -= *pBul, (CHAR)-18);
150: *pBul = 25; Ac = 7;
151: *pBul -= Ac;
152: lequals(__LINE__, *pBul, (ULONG)18L);
153: *pBul = 25;
154: lequals(__LINE__, *pBul -= Ac, (ULONG)18L);
155: Ac = 7; *pBf = 16;
156: /* Ac -= *pBf; DELETED: NON-PORTABLE */
157: /* iequals(__LINE__, Ac, (CHAR)-9); DELETED: NON-PORTABLE */
158: Ac = 7;
159: /* iequals(__LINE__, Ac -= *pBf, (CHAR)-9); DELETED: NON-PORTABLE */
160: *pBf = 16; Ac = 7;
161: *pBf -= Ac;
162: dequals(__LINE__, *pBf, (FLOAT)9.);
163: *pBf = 16;
164: dequals(__LINE__, *pBf -= Ac, (FLOAT)9.);
165: Ac = 7; *pBd = 17;
166: /* Ac -= *pBd; DELETED: NON-PORTABLE */
167: /* iequals(__LINE__, Ac, (CHAR)-10); DELETED: NON-PORTABLE */
168: Ac = 7;
169: /* iequals(__LINE__, Ac -= *pBd, (CHAR)-10); DELETED: NON-PORTABLE */
170: *pBd = 17; Ac = 7;
171: *pBd -= Ac;
172: dequals(__LINE__, *pBd, (DOUBLE)10.);
173: *pBd = 17;
174: dequals(__LINE__, *pBd -= Ac, (DOUBLE)10.);
175: #if ANSI
176: Ac = 7; *pBld = 18;
177: /* Ac -= *pBld; DELETED: NON-PORTABLE */
178: /* iequals(__LINE__, Ac, (CHAR)-11); DELETED: NON-PORTABLE */
179: Ac = 7;
180: /* iequals(__LINE__, Ac -= *pBld, (CHAR)-11); DELETED: NON-PORTABLE */
181: *pBld = 18; Ac = 7;
182: *pBld -= Ac;
183: ldequals(__LINE__, *pBld, (LDOUBLE)11.L);
184: *pBld = 18;
185: ldequals(__LINE__, *pBld -= Ac, (LDOUBLE)11.L);
186: #endif
187: #if ANSI
188: Asc = 8; *pBc = 7;
189: Asc -= *pBc;
190: iequals(__LINE__, Asc, (SCHAR)1);
191: Asc = 8;
192: iequals(__LINE__, Asc -= *pBc, (SCHAR)1);
193: *pBc = 7; Asc = 8;
194: *pBc -= Asc;
195: iequals(__LINE__, *pBc, (CHAR)-1);
196: *pBc = 7;
197: iequals(__LINE__, *pBc -= Asc, (CHAR)-1);
198: #endif
199: #if ANSI
200: Asc = 8; *pBsc = 8;
201: Asc -= *pBsc;
202: iequals(__LINE__, Asc, (SCHAR)0);
203: Asc = 8;
204: iequals(__LINE__, Asc -= *pBsc, (SCHAR)0);
205: *pBsc = 8; Asc = 8;
206: *pBsc -= Asc;
207: iequals(__LINE__, *pBsc, (SCHAR)0);
208: *pBsc = 8;
209: iequals(__LINE__, *pBsc -= Asc, (SCHAR)0);
210: #endif
211: #if ANSI
212: Asc = 8; *pBs = 9;
213: Asc -= *pBs;
214: iequals(__LINE__, Asc, (SCHAR)-1);
215: Asc = 8;
216: iequals(__LINE__, Asc -= *pBs, (SCHAR)-1);
217: *pBs = 9; Asc = 8;
218: *pBs -= Asc;
219: iequals(__LINE__, *pBs, (SHORT)1);
220: *pBs = 9;
221: iequals(__LINE__, *pBs -= Asc, (SHORT)1);
222: #endif
223: #if ANSI
224: Asc = 8; *pBi = 10;
225: Asc -= *pBi;
226: iequals(__LINE__, Asc, (SCHAR)-2);
227: Asc = 8;
228: iequals(__LINE__, Asc -= *pBi, (SCHAR)-2);
229: *pBi = 10; Asc = 8;
230: *pBi -= Asc;
231: iequals(__LINE__, *pBi, (INT)2);
232: *pBi = 10;
233: iequals(__LINE__, *pBi -= Asc, (INT)2);
234: #endif
235: #if ANSI
236: Asc = 8; *pBuc = 21;
237: Asc -= *pBuc;
238: iequals(__LINE__, Asc, (SCHAR)-13);
239: Asc = 8;
240: iequals(__LINE__, Asc -= *pBuc, (SCHAR)-13);
241: *pBuc = 21; Asc = 8;
242: *pBuc -= Asc;
243: iequals(__LINE__, *pBuc, (UCHAR)13);
244: *pBuc = 21;
245: iequals(__LINE__, *pBuc -= Asc, (UCHAR)13);
246: #endif
247: #if ANSI
248: Asc = 8; *pBus = 22;
249: Asc -= *pBus;
250: iequals(__LINE__, Asc, (SCHAR)-14);
251: Asc = 8;
252: iequals(__LINE__, Asc -= *pBus, (SCHAR)-14);
253: *pBus = 22; Asc = 8;
254: *pBus -= Asc;
255: iequals(__LINE__, *pBus, (USHORT)14);
256: *pBus = 22;
257: iequals(__LINE__, *pBus -= Asc, (USHORT)14);
258: #endif
259: #if ANSI
260: Asc = 8; *pBui = 23;
261: Asc -= *pBui;
262: iequals(__LINE__, Asc, (SCHAR)-15);
263: Asc = 8;
264: iequals(__LINE__, Asc -= *pBui, (SCHAR)-15);
265: *pBui = 23; Asc = 8;
266: *pBui -= Asc;
267: iequals(__LINE__, *pBui, (UINT)15);
268: *pBui = 23;
269: iequals(__LINE__, *pBui -= Asc, (UINT)15);
270: #endif
271: #if ANSI
272: Asc = 8; *pBl = 14;
273: Asc -= *pBl;
274: iequals(__LINE__, Asc, (SCHAR)-6);
275: Asc = 8;
276: iequals(__LINE__, Asc -= *pBl, (SCHAR)-6);
277: *pBl = 14; Asc = 8;
278: *pBl -= Asc;
279: lequals(__LINE__, *pBl, (LONG)6L);
280: *pBl = 14;
281: lequals(__LINE__, *pBl -= Asc, (LONG)6L);
282: #endif
283: #if ANSI
284: Asc = 8; *pBul = 25;
285: Asc -= *pBul;
286: iequals(__LINE__, Asc, (SCHAR)-17);
287: Asc = 8;
288: iequals(__LINE__, Asc -= *pBul, (SCHAR)-17);
289: *pBul = 25; Asc = 8;
290: *pBul -= Asc;
291: lequals(__LINE__, *pBul, (ULONG)17L);
292: *pBul = 25;
293: lequals(__LINE__, *pBul -= Asc, (ULONG)17L);
294: #endif
295: #if ANSI
296: Asc = 8; *pBf = 16;
297: Asc -= *pBf;
298: iequals(__LINE__, Asc, (SCHAR)-8);
299: Asc = 8;
300: iequals(__LINE__, Asc -= *pBf, (SCHAR)-8);
301: *pBf = 16; Asc = 8;
302: *pBf -= Asc;
303: dequals(__LINE__, *pBf, (FLOAT)8.);
304: *pBf = 16;
305: dequals(__LINE__, *pBf -= Asc, (FLOAT)8.);
306: #endif
307: #if ANSI
308: Asc = 8; *pBd = 17;
309: Asc -= *pBd;
310: iequals(__LINE__, Asc, (SCHAR)-9);
311: Asc = 8;
312: iequals(__LINE__, Asc -= *pBd, (SCHAR)-9);
313: *pBd = 17; Asc = 8;
314: *pBd -= Asc;
315: dequals(__LINE__, *pBd, (DOUBLE)9.);
316: *pBd = 17;
317: dequals(__LINE__, *pBd -= Asc, (DOUBLE)9.);
318: #endif
319: #if ANSI
320: Asc = 8; *pBld = 18;
321: Asc -= *pBld;
322: iequals(__LINE__, Asc, (SCHAR)-10);
323: Asc = 8;
324: iequals(__LINE__, Asc -= *pBld, (SCHAR)-10);
325: *pBld = 18; Asc = 8;
326: *pBld -= Asc;
327: ldequals(__LINE__, *pBld, (LDOUBLE)10.L);
328: *pBld = 18;
329: ldequals(__LINE__, *pBld -= Asc, (LDOUBLE)10.L);
330: #endif
331: As = 9; *pBc = 7;
332: As -= *pBc;
333: iequals(__LINE__, As, (SHORT)2);
334: As = 9;
335: iequals(__LINE__, As -= *pBc, (SHORT)2);
336: *pBc = 7; As = 9;
337: *pBc -= As;
338: iequals(__LINE__, *pBc, (CHAR)-2);
339: *pBc = 7;
340: iequals(__LINE__, *pBc -= As, (CHAR)-2);
341: #if ANSI
342: As = 9; *pBsc = 8;
343: As -= *pBsc;
344: iequals(__LINE__, As, (SHORT)1);
345: As = 9;
346: iequals(__LINE__, As -= *pBsc, (SHORT)1);
347: *pBsc = 8; As = 9;
348: *pBsc -= As;
349: iequals(__LINE__, *pBsc, (SCHAR)-1);
350: *pBsc = 8;
351: iequals(__LINE__, *pBsc -= As, (SCHAR)-1);
352: #endif
353: As = 9; *pBs = 9;
354: As -= *pBs;
355: iequals(__LINE__, As, (SHORT)0);
356: As = 9;
357: iequals(__LINE__, As -= *pBs, (SHORT)0);
358: *pBs = 9; As = 9;
359: *pBs -= As;
360: iequals(__LINE__, *pBs, (SHORT)0);
361: *pBs = 9;
362: iequals(__LINE__, *pBs -= As, (SHORT)0);
363: As = 9; *pBi = 10;
364: As -= *pBi;
365: iequals(__LINE__, As, (SHORT)-1);
366: As = 9;
367: iequals(__LINE__, As -= *pBi, (SHORT)-1);
368: *pBi = 10; As = 9;
369: *pBi -= As;
370: iequals(__LINE__, *pBi, (INT)1);
371: *pBi = 10;
372: iequals(__LINE__, *pBi -= As, (INT)1);
373: As = 9; *pBuc = 21;
374: As -= *pBuc;
375: iequals(__LINE__, As, (SHORT)-12);
376: As = 9;
377: iequals(__LINE__, As -= *pBuc, (SHORT)-12);
378: *pBuc = 21; As = 9;
379: *pBuc -= As;
380: iequals(__LINE__, *pBuc, (UCHAR)12);
381: *pBuc = 21;
382: iequals(__LINE__, *pBuc -= As, (UCHAR)12);
383: As = 9; *pBus = 22;
384: As -= *pBus;
385: iequals(__LINE__, As, (SHORT)-13);
386: As = 9;
387: iequals(__LINE__, As -= *pBus, (SHORT)-13);
388: *pBus = 22; As = 9;
389: *pBus -= As;
390: iequals(__LINE__, *pBus, (USHORT)13);
391: *pBus = 22;
392: iequals(__LINE__, *pBus -= As, (USHORT)13);
393: As = 9; *pBui = 23;
394: As -= *pBui;
395: iequals(__LINE__, As, (SHORT)(UINT)-14);
396: As = 9;
397: iequals(__LINE__, As -= *pBui, (SHORT)(UINT)-14);
398: *pBui = 23; As = 9;
399: *pBui -= As;
400: iequals(__LINE__, *pBui, (UINT)14);
401: *pBui = 23;
402: iequals(__LINE__, *pBui -= As, (UINT)14);
403: As = 9; *pBl = 14;
404: As -= *pBl;
405: iequals(__LINE__, As, (SHORT)-5);
406: As = 9;
407: iequals(__LINE__, As -= *pBl, (SHORT)-5);
408: *pBl = 14; As = 9;
409: *pBl -= As;
410: lequals(__LINE__, *pBl, (LONG)5L);
411: *pBl = 14;
412: lequals(__LINE__, *pBl -= As, (LONG)5L);
413: }}
414: return report(Filename);
415: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.