|
|
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 = 11; ! 22: auto USHORT Aus = 12; ! 23: auto UINT Aui = 13; ! 24: auto LONG Al = 14; ! 25: auto ULONG Aul = 15; ! 26: auto FLOAT Af = 16; ! 27: auto DOUBLE Ad = 17; ! 28: #if ANSI ! 29: auto LDOUBLE Ald = 18; ! 30: #endif ! 31: { ! 32: typedef union { ! 33: CHAR c; ! 34: SHORT s; ! 35: INT i; ! 36: UCHAR uc; ! 37: USHORT us; ! 38: UINT ui; ! 39: LONG l; ! 40: ULONG ul; ! 41: FLOAT f; ! 42: DOUBLE d; ! 43: #if ANSI ! 44: SCHAR sc; ! 45: LDOUBLE ld; ! 46: #endif ! 47: } D; ! 48: auto D D1; ! 49: #if ANSI ! 50: auto D D2; ! 51: #endif ! 52: auto D D3; ! 53: auto D D4; ! 54: auto D D5; ! 55: auto D D6; ! 56: auto D D7; ! 57: auto D D8; ! 58: auto D D9; ! 59: auto D D10; ! 60: auto D D11; ! 61: #if ANSI ! 62: auto D D12; ! 63: #endif ! 64: D1.c = 7; ! 65: #if ANSI ! 66: D2.sc = 8; ! 67: #endif ! 68: D3.s = 9; ! 69: D4.i = 10; ! 70: D5.uc = 11; ! 71: D6.us = 12; ! 72: D7.ui = 13; ! 73: D8.l = 14; ! 74: D9.ul = 15; ! 75: D10.f = 16; ! 76: D11.d = 17; ! 77: #if ANSI ! 78: D12.ld = 18; ! 79: #endif ! 80: { ! 81: int true = 1, false = 0; ! 82: Filename = " auto scalar auto union timeq2 "; ! 83: As = 9; D7.ui = 13; ! 84: As *= D7.ui; ! 85: iequals(__LINE__, As, (SHORT)117); ! 86: As = 9; ! 87: iequals(__LINE__, As *= D7.ui, (SHORT)117); ! 88: D7.ui = 13; As = 9; ! 89: D7.ui *= As; ! 90: iequals(__LINE__, D7.ui, (UINT)117); ! 91: D7.ui = 13; ! 92: iequals(__LINE__, D7.ui *= As, (UINT)117); ! 93: As = 9; D8.l = 14; ! 94: As *= D8.l; ! 95: iequals(__LINE__, As, (SHORT)126); ! 96: As = 9; ! 97: iequals(__LINE__, As *= D8.l, (SHORT)126); ! 98: D8.l = 14; As = 9; ! 99: D8.l *= As; ! 100: lequals(__LINE__, D8.l, (LONG)126L); ! 101: D8.l = 14; ! 102: lequals(__LINE__, D8.l *= As, (LONG)126L); ! 103: As = 9; D9.ul = 15; ! 104: As *= D9.ul; ! 105: iequals(__LINE__, As, (SHORT)135); ! 106: As = 9; ! 107: iequals(__LINE__, As *= D9.ul, (SHORT)135); ! 108: D9.ul = 15; As = 9; ! 109: D9.ul *= As; ! 110: lequals(__LINE__, D9.ul, (ULONG)135L); ! 111: D9.ul = 15; ! 112: lequals(__LINE__, D9.ul *= As, (ULONG)135L); ! 113: As = 9; D10.f = 16; ! 114: As *= D10.f; ! 115: iequals(__LINE__, As, (SHORT)144); ! 116: As = 9; ! 117: iequals(__LINE__, As *= D10.f, (SHORT)144); ! 118: D10.f = 16; As = 9; ! 119: D10.f *= As; ! 120: dequals(__LINE__, D10.f, (FLOAT)144.); ! 121: D10.f = 16; ! 122: dequals(__LINE__, D10.f *= As, (FLOAT)144.); ! 123: As = 9; D11.d = 17; ! 124: As *= D11.d; ! 125: iequals(__LINE__, As, (SHORT)153); ! 126: As = 9; ! 127: iequals(__LINE__, As *= D11.d, (SHORT)153); ! 128: D11.d = 17; As = 9; ! 129: D11.d *= As; ! 130: dequals(__LINE__, D11.d, (DOUBLE)153.); ! 131: D11.d = 17; ! 132: dequals(__LINE__, D11.d *= As, (DOUBLE)153.); ! 133: #if ANSI ! 134: As = 9; D12.ld = 18; ! 135: As *= D12.ld; ! 136: iequals(__LINE__, As, (SHORT)162); ! 137: As = 9; ! 138: iequals(__LINE__, As *= D12.ld, (SHORT)162); ! 139: D12.ld = 18; As = 9; ! 140: D12.ld *= As; ! 141: ldequals(__LINE__, D12.ld, (LDOUBLE)162.L); ! 142: D12.ld = 18; ! 143: ldequals(__LINE__, D12.ld *= As, (LDOUBLE)162.L); ! 144: #endif ! 145: Ai = 10; D1.c = 7; ! 146: Ai *= D1.c; ! 147: iequals(__LINE__, Ai, (INT)70); ! 148: Ai = 10; ! 149: iequals(__LINE__, Ai *= D1.c, (INT)70); ! 150: D1.c = 7; Ai = 10; ! 151: D1.c *= Ai; ! 152: iequals(__LINE__, D1.c, (CHAR)70); ! 153: D1.c = 7; ! 154: iequals(__LINE__, D1.c *= Ai, (CHAR)70); ! 155: #if ANSI ! 156: Ai = 10; D2.sc = 8; ! 157: Ai *= D2.sc; ! 158: iequals(__LINE__, Ai, (INT)80); ! 159: Ai = 10; ! 160: iequals(__LINE__, Ai *= D2.sc, (INT)80); ! 161: D2.sc = 8; Ai = 10; ! 162: D2.sc *= Ai; ! 163: iequals(__LINE__, D2.sc, (SCHAR)80); ! 164: D2.sc = 8; ! 165: iequals(__LINE__, D2.sc *= Ai, (SCHAR)80); ! 166: #endif ! 167: Ai = 10; D3.s = 9; ! 168: Ai *= D3.s; ! 169: iequals(__LINE__, Ai, (INT)90); ! 170: Ai = 10; ! 171: iequals(__LINE__, Ai *= D3.s, (INT)90); ! 172: D3.s = 9; Ai = 10; ! 173: D3.s *= Ai; ! 174: iequals(__LINE__, D3.s, (SHORT)90); ! 175: D3.s = 9; ! 176: iequals(__LINE__, D3.s *= Ai, (SHORT)90); ! 177: Ai = 10; D4.i = 10; ! 178: Ai *= D4.i; ! 179: iequals(__LINE__, Ai, (INT)100); ! 180: Ai = 10; ! 181: iequals(__LINE__, Ai *= D4.i, (INT)100); ! 182: D4.i = 10; Ai = 10; ! 183: D4.i *= Ai; ! 184: iequals(__LINE__, D4.i, (INT)100); ! 185: D4.i = 10; ! 186: iequals(__LINE__, D4.i *= Ai, (INT)100); ! 187: Ai = 10; D5.uc = 11; ! 188: Ai *= D5.uc; ! 189: iequals(__LINE__, Ai, (INT)110); ! 190: Ai = 10; ! 191: iequals(__LINE__, Ai *= D5.uc, (INT)110); ! 192: D5.uc = 11; Ai = 10; ! 193: D5.uc *= Ai; ! 194: iequals(__LINE__, D5.uc, (UCHAR)110); ! 195: D5.uc = 11; ! 196: iequals(__LINE__, D5.uc *= Ai, (UCHAR)110); ! 197: Ai = 10; D6.us = 12; ! 198: Ai *= D6.us; ! 199: iequals(__LINE__, Ai, (INT)120); ! 200: Ai = 10; ! 201: iequals(__LINE__, Ai *= D6.us, (INT)120); ! 202: D6.us = 12; Ai = 10; ! 203: D6.us *= Ai; ! 204: iequals(__LINE__, D6.us, (USHORT)120); ! 205: D6.us = 12; ! 206: iequals(__LINE__, D6.us *= Ai, (USHORT)120); ! 207: Ai = 10; D7.ui = 13; ! 208: Ai *= D7.ui; ! 209: iequals(__LINE__, Ai, (INT)130); ! 210: Ai = 10; ! 211: iequals(__LINE__, Ai *= D7.ui, (INT)130); ! 212: D7.ui = 13; Ai = 10; ! 213: D7.ui *= Ai; ! 214: iequals(__LINE__, D7.ui, (UINT)130); ! 215: D7.ui = 13; ! 216: iequals(__LINE__, D7.ui *= Ai, (UINT)130); ! 217: Ai = 10; D8.l = 14; ! 218: Ai *= D8.l; ! 219: iequals(__LINE__, Ai, (INT)140); ! 220: Ai = 10; ! 221: iequals(__LINE__, Ai *= D8.l, (INT)140); ! 222: D8.l = 14; Ai = 10; ! 223: D8.l *= Ai; ! 224: lequals(__LINE__, D8.l, (LONG)140L); ! 225: D8.l = 14; ! 226: lequals(__LINE__, D8.l *= Ai, (LONG)140L); ! 227: Ai = 10; D9.ul = 15; ! 228: Ai *= D9.ul; ! 229: iequals(__LINE__, Ai, (INT)150); ! 230: Ai = 10; ! 231: iequals(__LINE__, Ai *= D9.ul, (INT)150); ! 232: D9.ul = 15; Ai = 10; ! 233: D9.ul *= Ai; ! 234: lequals(__LINE__, D9.ul, (ULONG)150L); ! 235: D9.ul = 15; ! 236: lequals(__LINE__, D9.ul *= Ai, (ULONG)150L); ! 237: Ai = 10; D10.f = 16; ! 238: Ai *= D10.f; ! 239: iequals(__LINE__, Ai, (INT)160); ! 240: Ai = 10; ! 241: iequals(__LINE__, Ai *= D10.f, (INT)160); ! 242: D10.f = 16; Ai = 10; ! 243: D10.f *= Ai; ! 244: dequals(__LINE__, D10.f, (FLOAT)160.); ! 245: D10.f = 16; ! 246: dequals(__LINE__, D10.f *= Ai, (FLOAT)160.); ! 247: Ai = 10; D11.d = 17; ! 248: Ai *= D11.d; ! 249: iequals(__LINE__, Ai, (INT)170); ! 250: Ai = 10; ! 251: iequals(__LINE__, Ai *= D11.d, (INT)170); ! 252: D11.d = 17; Ai = 10; ! 253: D11.d *= Ai; ! 254: dequals(__LINE__, D11.d, (DOUBLE)170.); ! 255: D11.d = 17; ! 256: dequals(__LINE__, D11.d *= Ai, (DOUBLE)170.); ! 257: #if ANSI ! 258: Ai = 10; D12.ld = 18; ! 259: Ai *= D12.ld; ! 260: iequals(__LINE__, Ai, (INT)180); ! 261: Ai = 10; ! 262: iequals(__LINE__, Ai *= D12.ld, (INT)180); ! 263: D12.ld = 18; Ai = 10; ! 264: D12.ld *= Ai; ! 265: ldequals(__LINE__, D12.ld, (LDOUBLE)180.L); ! 266: D12.ld = 18; ! 267: ldequals(__LINE__, D12.ld *= Ai, (LDOUBLE)180.L); ! 268: #endif ! 269: Auc = 11; D1.c = 7; ! 270: Auc *= D1.c; ! 271: iequals(__LINE__, Auc, (UCHAR)77); ! 272: Auc = 11; ! 273: iequals(__LINE__, Auc *= D1.c, (UCHAR)77); ! 274: D1.c = 7; Auc = 11; ! 275: D1.c *= Auc; ! 276: iequals(__LINE__, D1.c, (CHAR)77); ! 277: D1.c = 7; ! 278: iequals(__LINE__, D1.c *= Auc, (CHAR)77); ! 279: #if ANSI ! 280: Auc = 11; D2.sc = 8; ! 281: Auc *= D2.sc; ! 282: iequals(__LINE__, Auc, (UCHAR)88); ! 283: Auc = 11; ! 284: iequals(__LINE__, Auc *= D2.sc, (UCHAR)88); ! 285: D2.sc = 8; Auc = 11; ! 286: D2.sc *= Auc; ! 287: iequals(__LINE__, D2.sc, (SCHAR)88); ! 288: D2.sc = 8; ! 289: iequals(__LINE__, D2.sc *= Auc, (SCHAR)88); ! 290: #endif ! 291: Auc = 11; D3.s = 9; ! 292: Auc *= D3.s; ! 293: iequals(__LINE__, Auc, (UCHAR)99); ! 294: Auc = 11; ! 295: iequals(__LINE__, Auc *= D3.s, (UCHAR)99); ! 296: D3.s = 9; Auc = 11; ! 297: D3.s *= Auc; ! 298: iequals(__LINE__, D3.s, (SHORT)99); ! 299: D3.s = 9; ! 300: iequals(__LINE__, D3.s *= Auc, (SHORT)99); ! 301: Auc = 11; D4.i = 10; ! 302: Auc *= D4.i; ! 303: iequals(__LINE__, Auc, (UCHAR)110); ! 304: Auc = 11; ! 305: iequals(__LINE__, Auc *= D4.i, (UCHAR)110); ! 306: D4.i = 10; Auc = 11; ! 307: D4.i *= Auc; ! 308: iequals(__LINE__, D4.i, (INT)110); ! 309: D4.i = 10; ! 310: iequals(__LINE__, D4.i *= Auc, (INT)110); ! 311: Auc = 11; D5.uc = 11; ! 312: Auc *= D5.uc; ! 313: iequals(__LINE__, Auc, (UCHAR)121); ! 314: Auc = 11; ! 315: iequals(__LINE__, Auc *= D5.uc, (UCHAR)121); ! 316: D5.uc = 11; Auc = 11; ! 317: D5.uc *= Auc; ! 318: iequals(__LINE__, D5.uc, (UCHAR)121); ! 319: D5.uc = 11; ! 320: iequals(__LINE__, D5.uc *= Auc, (UCHAR)121); ! 321: Auc = 11; D6.us = 12; ! 322: Auc *= D6.us; ! 323: iequals(__LINE__, Auc, (UCHAR)132); ! 324: Auc = 11; ! 325: iequals(__LINE__, Auc *= D6.us, (UCHAR)132); ! 326: D6.us = 12; Auc = 11; ! 327: D6.us *= Auc; ! 328: iequals(__LINE__, D6.us, (USHORT)132); ! 329: D6.us = 12; ! 330: iequals(__LINE__, D6.us *= Auc, (USHORT)132); ! 331: Auc = 11; D7.ui = 13; ! 332: Auc *= D7.ui; ! 333: iequals(__LINE__, Auc, (UCHAR)143); ! 334: Auc = 11; ! 335: iequals(__LINE__, Auc *= D7.ui, (UCHAR)143); ! 336: D7.ui = 13; Auc = 11; ! 337: D7.ui *= Auc; ! 338: iequals(__LINE__, D7.ui, (UINT)143); ! 339: D7.ui = 13; ! 340: iequals(__LINE__, D7.ui *= Auc, (UINT)143); ! 341: Auc = 11; D8.l = 14; ! 342: Auc *= D8.l; ! 343: iequals(__LINE__, Auc, (UCHAR)154); ! 344: Auc = 11; ! 345: iequals(__LINE__, Auc *= D8.l, (UCHAR)154); ! 346: D8.l = 14; Auc = 11; ! 347: D8.l *= Auc; ! 348: lequals(__LINE__, D8.l, (LONG)154L); ! 349: D8.l = 14; ! 350: lequals(__LINE__, D8.l *= Auc, (LONG)154L); ! 351: Auc = 11; D9.ul = 15; ! 352: Auc *= D9.ul; ! 353: iequals(__LINE__, Auc, (UCHAR)165); ! 354: Auc = 11; ! 355: iequals(__LINE__, Auc *= D9.ul, (UCHAR)165); ! 356: D9.ul = 15; Auc = 11; ! 357: D9.ul *= Auc; ! 358: lequals(__LINE__, D9.ul, (ULONG)165L); ! 359: D9.ul = 15; ! 360: lequals(__LINE__, D9.ul *= Auc, (ULONG)165L); ! 361: Auc = 11; D10.f = 16; ! 362: Auc *= D10.f; ! 363: iequals(__LINE__, Auc, (UCHAR)176); ! 364: Auc = 11; ! 365: iequals(__LINE__, Auc *= D10.f, (UCHAR)176); ! 366: D10.f = 16; Auc = 11; ! 367: D10.f *= Auc; ! 368: dequals(__LINE__, D10.f, (FLOAT)176.); ! 369: D10.f = 16; ! 370: dequals(__LINE__, D10.f *= Auc, (FLOAT)176.); ! 371: Auc = 11; D11.d = 17; ! 372: Auc *= D11.d; ! 373: iequals(__LINE__, Auc, (UCHAR)187); ! 374: Auc = 11; ! 375: iequals(__LINE__, Auc *= D11.d, (UCHAR)187); ! 376: D11.d = 17; Auc = 11; ! 377: D11.d *= Auc; ! 378: dequals(__LINE__, D11.d, (DOUBLE)187.); ! 379: D11.d = 17; ! 380: dequals(__LINE__, D11.d *= Auc, (DOUBLE)187.); ! 381: #if ANSI ! 382: Auc = 11; D12.ld = 18; ! 383: Auc *= D12.ld; ! 384: iequals(__LINE__, Auc, (UCHAR)198); ! 385: Auc = 11; ! 386: iequals(__LINE__, Auc *= D12.ld, (UCHAR)198); ! 387: D12.ld = 18; Auc = 11; ! 388: D12.ld *= Auc; ! 389: ldequals(__LINE__, D12.ld, (LDOUBLE)198.L); ! 390: D12.ld = 18; ! 391: ldequals(__LINE__, D12.ld *= Auc, (LDOUBLE)198.L); ! 392: #endif ! 393: Aus = 12; D1.c = 7; ! 394: Aus *= D1.c; ! 395: iequals(__LINE__, Aus, (USHORT)84); ! 396: Aus = 12; ! 397: iequals(__LINE__, Aus *= D1.c, (USHORT)84); ! 398: D1.c = 7; Aus = 12; ! 399: D1.c *= Aus; ! 400: iequals(__LINE__, D1.c, (CHAR)84); ! 401: D1.c = 7; ! 402: iequals(__LINE__, D1.c *= Aus, (CHAR)84); ! 403: #if ANSI ! 404: Aus = 12; D2.sc = 8; ! 405: Aus *= D2.sc; ! 406: iequals(__LINE__, Aus, (USHORT)96); ! 407: Aus = 12; ! 408: iequals(__LINE__, Aus *= D2.sc, (USHORT)96); ! 409: D2.sc = 8; Aus = 12; ! 410: D2.sc *= Aus; ! 411: iequals(__LINE__, D2.sc, (SCHAR)96); ! 412: D2.sc = 8; ! 413: iequals(__LINE__, D2.sc *= Aus, (SCHAR)96); ! 414: #endif ! 415: Aus = 12; D3.s = 9; ! 416: Aus *= D3.s; ! 417: iequals(__LINE__, Aus, (USHORT)108); ! 418: Aus = 12; ! 419: iequals(__LINE__, Aus *= D3.s, (USHORT)108); ! 420: D3.s = 9; Aus = 12; ! 421: D3.s *= Aus; ! 422: iequals(__LINE__, D3.s, (SHORT)108); ! 423: D3.s = 9; ! 424: iequals(__LINE__, D3.s *= Aus, (SHORT)108); ! 425: Aus = 12; D4.i = 10; ! 426: Aus *= D4.i; ! 427: iequals(__LINE__, Aus, (USHORT)120); ! 428: Aus = 12; ! 429: iequals(__LINE__, Aus *= D4.i, (USHORT)120); ! 430: D4.i = 10; Aus = 12; ! 431: D4.i *= Aus; ! 432: iequals(__LINE__, D4.i, (INT)120); ! 433: D4.i = 10; ! 434: iequals(__LINE__, D4.i *= Aus, (INT)120); ! 435: Aus = 12; D5.uc = 11; ! 436: Aus *= D5.uc; ! 437: iequals(__LINE__, Aus, (USHORT)132); ! 438: Aus = 12; ! 439: iequals(__LINE__, Aus *= D5.uc, (USHORT)132); ! 440: D5.uc = 11; Aus = 12; ! 441: D5.uc *= Aus; ! 442: iequals(__LINE__, D5.uc, (UCHAR)132); ! 443: D5.uc = 11; ! 444: iequals(__LINE__, D5.uc *= Aus, (UCHAR)132); ! 445: Aus = 12; D6.us = 12; ! 446: Aus *= D6.us; ! 447: iequals(__LINE__, Aus, (USHORT)144); ! 448: Aus = 12; ! 449: iequals(__LINE__, Aus *= D6.us, (USHORT)144); ! 450: D6.us = 12; Aus = 12; ! 451: D6.us *= Aus; ! 452: iequals(__LINE__, D6.us, (USHORT)144); ! 453: D6.us = 12; ! 454: iequals(__LINE__, D6.us *= Aus, (USHORT)144); ! 455: Aus = 12; D7.ui = 13; ! 456: Aus *= D7.ui; ! 457: iequals(__LINE__, Aus, (USHORT)156); ! 458: Aus = 12; ! 459: iequals(__LINE__, Aus *= D7.ui, (USHORT)156); ! 460: D7.ui = 13; Aus = 12; ! 461: D7.ui *= Aus; ! 462: iequals(__LINE__, D7.ui, (UINT)156); ! 463: D7.ui = 13; ! 464: iequals(__LINE__, D7.ui *= Aus, (UINT)156); ! 465: Aus = 12; D8.l = 14; ! 466: Aus *= D8.l; ! 467: iequals(__LINE__, Aus, (USHORT)168); ! 468: Aus = 12; ! 469: iequals(__LINE__, Aus *= D8.l, (USHORT)168); ! 470: D8.l = 14; Aus = 12; ! 471: D8.l *= Aus; ! 472: lequals(__LINE__, D8.l, (LONG)168L); ! 473: D8.l = 14; ! 474: lequals(__LINE__, D8.l *= Aus, (LONG)168L); ! 475: Aus = 12; D9.ul = 15; ! 476: Aus *= D9.ul; ! 477: iequals(__LINE__, Aus, (USHORT)180); ! 478: Aus = 12; ! 479: iequals(__LINE__, Aus *= D9.ul, (USHORT)180); ! 480: }} ! 481: return report(Filename); ! 482: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.