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