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