|
|
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.