|
|
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: /****************************************************************************
11: ** Self-checking C source code generated by EGEN component of **
12: ** The Plum Hall Validation Suite for C. **
13: ** (C) 1986-1988 Chiron Systems Inc and Plum Hall Inc **
14: ** EGEN Version 1.09.000 88/08/21 **
15: ** **
16: ** EGEN -P -R3 -V -A -N5 -Dinteger.gen ( @ @ ) @ ( @ @ ) **
17: ****************************************************************************/
18: #include "defs.h"
19:
20:
21: int main()
22: {
23: extern char *Filename;
24: auto unsigned int ui;
25: static unsigned int * pui;
26: auto unsigned int ** ppui;
27: auto int i;
28: static int * pi;
29: auto int ** ppi;
30: auto unsigned short us;
31: static unsigned short * pus;
32: auto unsigned short ** ppus;
33: auto short s;
34: static short * ps;
35: auto short ** pps;
36: auto unsigned char uc;
37: static unsigned char * puc;
38: auto unsigned char ** ppuc;
39: auto char c;
40: static char * pc;
41: auto char ** ppc;
42: auto unsigned long ul;
43: static unsigned long * pul;
44: auto unsigned long ** ppul;
45: auto long l;
46: static long * pl;
47: auto long ** ppl;
48: register int rint1;
49: register int rint2;
50: register int rint3;
51: register int rint4;
52: register int rint5;
53:
54: ui = ivalue(100);
55: pui = &ui;
56: ppui = &pui;
57: i = ivalue(10);
58: pi = &i;
59: ppi = π
60: us = lvalue(33000);
61: pus = &us;
62: ppus = &pus;
63: s = ivalue(13);
64: ps = &s;
65: pps = &ps;
66: uc = ivalue(128);
67: puc = &uc;
68: ppuc = &puc;
69: c = ivalue(20);
70: pc = &c;
71: ppc = &pc;
72: ul = lvalue(65000L);
73: pul = &ul;
74: ppul = &pul;
75: l = lvalue(97L);
76: pl = &l;
77: ppl = &pl;
78: rint1 = ivalue(1);
79: rint2 = ivalue(2);
80: rint3 = ivalue(3);
81: rint4 = ivalue(4);
82: rint5 = ivalue(5);
83: Filename = "int3.c";
84:
85: /* 0x80 & 0xfde8L => 0x80L */
86: /* 13 &= 0x80L => 0 */
87: /* 10 == 128 => 0 */
88: /* 5 |= 0 => 5 */
89: /* 0 <= 5 => 1 */
90: iequals(__LINE__, ((*ps &= (uc & ul)) <= (rint5 |= (*pi == uc))), 1);
91: iequals(__LINE__, rint5, 5);
92: iequals(__LINE__, s, 0);
93:
94: /* ! 0xfde8L => 0 */
95: /* 0 | 0x80 => 128 */
96: /* 0x80e8 - 0x80 => 0x8068 */
97: /* 0xfde8L < 0x8068 => 0 */
98: /* 128 >> 0 => 128 */
99: iequals(__LINE__, ((( ! ul) | *puc) >> (*pul < (**ppus - uc))), 128);
100:
101: /* post-- 2 => 3 */
102: /* 0x80e8 != 3 => 1 */
103: /* 0x64 / 0xfde8L => 0x0L */
104: /* 1 + 0x0L => 0x1L */
105: /* 1 ^ 0x1L => 0x0L */
106: lequals(__LINE__, ((**ppus != ((rint3)-- )) ^ (rint1 + (**ppui / **ppul))), 0x0L);
107: iequals(__LINE__, rint3, 2);
108:
109: /* 97L - 0x64 => -3L */
110: /* 0x64 ^ -3L => -103L */
111: /* 10 *= 2 => 20 */
112: /* 1 ^= 20 => 21 */
113: /* -103L == 21 => 0 */
114: iequals(__LINE__, ((**ppui ^ (*pl - ui)) == (rint1 ^= (i *= rint3))), 0);
115: iequals(__LINE__, i, 20);
116: iequals(__LINE__, rint1, 21);
117:
118: /* pre-- 0 => -1 */
119: /* 0xfde8L %= -1 => 0xfde8L */
120: /* ! 97L => 0 */
121: /* 0 - 20 => -20 */
122: /* 0xfde8L * -20 => 0xffec29e0L */
123: /* lequals(__LINE__, ((ul %= ( -- *ps)) * (( ! *pl) - **ppc)), 0xffec29e0L); DELETED: NON-PORTABLE */
124: /* iequals(__LINE__, s, -1); DELETED: NON-PORTABLE */
125: /* lequals(__LINE__, ul, 65000L); DELETED: NON-PORTABLE */
126:
127: return report(Filename);
128: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.