|
|
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 this suite corresponds to 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: #include "defs.h" ! 11: ! 12: /* ! 13: * PREC1C -- try all operator pairs -- this file uses all binary operators ! 14: * in the first position (see prec 2 for the other way around). ! 15: */ ! 16: ! 17: static void p1_36(); ! 18: static void p1_37(); ! 19: static void p1_38(); ! 20: static void p1_39(); ! 21: static void p1_40(); ! 22: static void p1_41(); ! 23: static void p1_42(); ! 24: static void p1_43(); ! 25: static void p1_44(); ! 26: static void p1_45(); ! 27: static void p1_46(); ! 28: static void p1_47(); ! 29: ! 30: ! 31: void prec1c() ! 32: { ! 33: Filename = "prec1c.c"; ! 34: p1_36(); /* = */ ! 35: p1_37(); /* *= */ ! 36: p1_38(); /* /= */ ! 37: p1_39(); /* %= */ ! 38: p1_40(); /* += */ ! 39: p1_41(); /* -= */ ! 40: p1_42(); /* <<= */ ! 41: p1_43(); /* >>= */ ! 42: p1_44(); /* &= */ ! 43: p1_45(); /* ^= */ ! 44: p1_46(); /* |= */ ! 45: p1_47(); /* , */ ! 46: } ! 47: ! 48: ! 49: /* X*=YopZ */ ! 50: static void p1_36() ! 51: { ! 52: int i = 1; ! 53: int j = 7; ! 54: int k = 4; ! 55: iequals(__LINE__, i=j*=k, 28); ! 56: iequals(__LINE__, i, 28); ! 57: iequals(__LINE__, j, 28); ! 58: i = 1; ! 59: j = 7; ! 60: iequals(__LINE__, i=j*=k, 28); ! 61: iequals(__LINE__, i, 28); ! 62: iequals(__LINE__, j, 28); ! 63: iequals(__LINE__, i=j/=k, 7); ! 64: iequals(__LINE__, i, 7); ! 65: iequals(__LINE__, j, 7); ! 66: iequals(__LINE__, i=j%=k, 3); ! 67: iequals(__LINE__, i, 3); ! 68: iequals(__LINE__, j, 3); ! 69: iequals(__LINE__, i=j+=k, 7); ! 70: iequals(__LINE__, i, 7); ! 71: iequals(__LINE__, j, 7); ! 72: iequals(__LINE__, i=j-=k, 3); ! 73: iequals(__LINE__, i, 3); ! 74: iequals(__LINE__, j, 3); ! 75: k = 1; ! 76: iequals(__LINE__, i=j<<=k, 6); ! 77: iequals(__LINE__, i, 6); ! 78: iequals(__LINE__, j, 6); ! 79: iequals(__LINE__, i=j>>=k, 3); ! 80: iequals(__LINE__, i, 3); ! 81: iequals(__LINE__, j, 3); ! 82: k = 3; ! 83: iequals(__LINE__, i=j&=k, 3); ! 84: iequals(__LINE__, i, 3); ! 85: iequals(__LINE__, j, 3); ! 86: j = 0; ! 87: iequals(__LINE__, i=j^=k, 3); ! 88: iequals(__LINE__, i, 3); ! 89: iequals(__LINE__, j, 3); ! 90: k = 3; ! 91: iequals(__LINE__, i=j|=k, 3); ! 92: iequals(__LINE__, i, 3); ! 93: iequals(__LINE__, j, 3); ! 94: iequals(__LINE__, (i=j,k), 3); ! 95: iequals(__LINE__, i, 3); ! 96: } ! 97: ! 98: /* X*=YopZ */ ! 99: static void p1_37() ! 100: { ! 101: int i = 1; ! 102: int j = 7; ! 103: int k = 4; ! 104: iequals(__LINE__, i*=j*=k, 28); ! 105: iequals(__LINE__, i, 28); ! 106: iequals(__LINE__, j, 28); ! 107: iequals(__LINE__, i*=j/=k, 196); ! 108: iequals(__LINE__, i, 196); ! 109: iequals(__LINE__, j, 7); ! 110: iequals(__LINE__, i*=j%=k, 588); ! 111: iequals(__LINE__, i, 588); ! 112: iequals(__LINE__, j, 3); ! 113: iequals(__LINE__, i*=j+=k, 4116); ! 114: iequals(__LINE__, i, 4116); ! 115: iequals(__LINE__, j, 7); ! 116: iequals(__LINE__, i*=j-=k, 12348); ! 117: iequals(__LINE__, i, 12348); ! 118: iequals(__LINE__, j, 3); ! 119: i = 11; ! 120: k = 1; ! 121: iequals(__LINE__, i*=j<<=k, 66); ! 122: iequals(__LINE__, i, 66); ! 123: iequals(__LINE__, j, 6); ! 124: i = 11; ! 125: iequals(__LINE__, i*=j>>=k, 33); ! 126: iequals(__LINE__, i, 33); ! 127: iequals(__LINE__, j, 3); ! 128: i = 11; ! 129: k = 3; ! 130: iequals(__LINE__, i*=j&=k, 33); ! 131: iequals(__LINE__, i, 33); ! 132: iequals(__LINE__, j, 3); ! 133: i = 11; ! 134: j = 0; ! 135: iequals(__LINE__, i*=j^=k, 33); ! 136: iequals(__LINE__, i, 33); ! 137: iequals(__LINE__, j, 3); ! 138: i = 11; ! 139: k = 3; ! 140: iequals(__LINE__, i*=j|=k, 33); ! 141: iequals(__LINE__, i, 33); ! 142: iequals(__LINE__, j, 3); ! 143: i = 11; ! 144: iequals(__LINE__, (i*=j,k), 3); ! 145: iequals(__LINE__, i, 33); ! 146: } ! 147: ! 148: /* X/=YopZ */ ! 149: static void p1_38() ! 150: { ! 151: int i = 11; ! 152: int j = 8; ! 153: int k = 4; ! 154: iequals(__LINE__, i/=j/=k, 5); ! 155: iequals(__LINE__, i, 5); ! 156: iequals(__LINE__, j, 2); ! 157: i = 11; ! 158: j = 7; ! 159: iequals(__LINE__, i/=j%=k, 3); ! 160: iequals(__LINE__, i, 3); ! 161: iequals(__LINE__, j, 3); ! 162: i = 11; ! 163: iequals(__LINE__, i/=j-=k, -11); ! 164: iequals(__LINE__, i, -11); ! 165: iequals(__LINE__, j, -1); ! 166: i = 11; ! 167: k = 1; ! 168: j = 3; ! 169: iequals(__LINE__, i/=j<<=k, 1); ! 170: iequals(__LINE__, i, 1); ! 171: iequals(__LINE__, j, 6); ! 172: i = 11; ! 173: iequals(__LINE__, i/=j>>=k, 3); ! 174: iequals(__LINE__, i, 3); ! 175: iequals(__LINE__, j, 3); ! 176: i = 11; ! 177: k = 3; ! 178: iequals(__LINE__, i/=j&=k, 3); ! 179: iequals(__LINE__, i, 3); ! 180: iequals(__LINE__, j, 3); ! 181: i = 11; ! 182: j = 0; ! 183: iequals(__LINE__, i/=j^=k, 3); ! 184: iequals(__LINE__, i, 3); ! 185: iequals(__LINE__, j, 3); ! 186: i = 11; ! 187: k = 3; ! 188: iequals(__LINE__, i/=j|=k, 3); ! 189: iequals(__LINE__, i, 3); ! 190: iequals(__LINE__, j, 3); ! 191: i = 11; ! 192: iequals(__LINE__, (i/=j,k), 3); ! 193: iequals(__LINE__, i, 3); ! 194: } ! 195: ! 196: /* X%=YopZ */ ! 197: static void p1_39() ! 198: { ! 199: int i = 11; ! 200: int j = 7; ! 201: int k = 4; ! 202: iequals(__LINE__, i%=j%=k, 2); ! 203: iequals(__LINE__, i, 2); ! 204: iequals(__LINE__, j, 3); ! 205: i = 11; ! 206: iequals(__LINE__, i%=j+=k, 4); ! 207: iequals(__LINE__, i, 4); ! 208: iequals(__LINE__, j, 7); ! 209: i = 11; ! 210: iequals(__LINE__, i%=j-=k, 2); ! 211: iequals(__LINE__, i, 2); ! 212: iequals(__LINE__, j, 3); ! 213: i = 11; ! 214: k = 1; ! 215: iequals(__LINE__, i%=j<<=k, 5); ! 216: iequals(__LINE__, i, 5); ! 217: iequals(__LINE__, j, 6); ! 218: i = 11; ! 219: iequals(__LINE__, i%=j>>=k, 2); ! 220: iequals(__LINE__, i, 2); ! 221: iequals(__LINE__, j, 3); ! 222: i = 11; ! 223: k = 3; ! 224: iequals(__LINE__, i%=j&=k, 2); ! 225: iequals(__LINE__, i, 2); ! 226: iequals(__LINE__, j, 3); ! 227: i = 11; ! 228: j = 0; ! 229: iequals(__LINE__, i%=j^=k, 2); ! 230: iequals(__LINE__, i, 2); ! 231: iequals(__LINE__, j, 3); ! 232: i = 11; ! 233: k = 3; ! 234: iequals(__LINE__, i%=j|=k, 2); ! 235: iequals(__LINE__, i, 2); ! 236: iequals(__LINE__, j, 3); ! 237: i = 11; ! 238: iequals(__LINE__, (i%=j,k), 3); ! 239: iequals(__LINE__, i, 2); ! 240: } ! 241: ! 242: /* X+=YopZ */ ! 243: static void p1_40() ! 244: { ! 245: int i = -6; ! 246: int j = 3; ! 247: int k = 4; ! 248: iequals(__LINE__, i+=j+=k, 1); ! 249: iequals(__LINE__, i, 1); ! 250: iequals(__LINE__, j, 7); ! 251: iequals(__LINE__, i+=j-=k, 4); ! 252: iequals(__LINE__, i, 4); ! 253: iequals(__LINE__, j, 3); ! 254: k = 1; ! 255: iequals(__LINE__, i+=j<<=k, 10); ! 256: iequals(__LINE__, i, 10); ! 257: iequals(__LINE__, j, 6); ! 258: iequals(__LINE__, i+=j>>=k, 13); ! 259: iequals(__LINE__, i, 13); ! 260: iequals(__LINE__, j, 3); ! 261: k = 3; ! 262: iequals(__LINE__, i+=j&=k, 16); ! 263: iequals(__LINE__, i, 16); ! 264: iequals(__LINE__, j, 3); ! 265: iequals(__LINE__, i+=j^=k, 16); ! 266: iequals(__LINE__, i, 16); ! 267: iequals(__LINE__, j, 0); ! 268: k = 3; ! 269: iequals(__LINE__, i+=j|=k, 19); ! 270: iequals(__LINE__, i, 19); ! 271: iequals(__LINE__, j, 3); ! 272: iequals(__LINE__, (i+=j,k), k); ! 273: iequals(__LINE__, i, 22); ! 274: } ! 275: ! 276: /* X-=YopZ */ ! 277: static void p1_41() ! 278: { ! 279: int i = 21; ! 280: int j = 7; ! 281: int k = 4; ! 282: iequals(__LINE__, i-=j-=k, 18); ! 283: iequals(__LINE__, i, 18); ! 284: iequals(__LINE__, j, 3); ! 285: k = 1; ! 286: iequals(__LINE__, i-=j<<=k, 12); ! 287: iequals(__LINE__, i, 12); ! 288: iequals(__LINE__, j, 6); ! 289: iequals(__LINE__, i-=j>>=k, 9); ! 290: iequals(__LINE__, i, 9); ! 291: iequals(__LINE__, j, 3); ! 292: k = 3; ! 293: iequals(__LINE__, i-=j&=k, 6); ! 294: iequals(__LINE__, i, 6); ! 295: iequals(__LINE__, j, 3); ! 296: iequals(__LINE__, i-=j^=k, 6); ! 297: iequals(__LINE__, i, 6); ! 298: iequals(__LINE__, j, 0); ! 299: k = 3; ! 300: iequals(__LINE__, i-=j|=k, 3); ! 301: iequals(__LINE__, i, 3); ! 302: iequals(__LINE__, j, 3); ! 303: iequals(__LINE__, (i-=j,k), k); ! 304: iequals(__LINE__, i, 0); ! 305: } ! 306: ! 307: /* X<<=YopZ */ ! 308: static void p1_42() ! 309: { ! 310: int i = 1; ! 311: int j = 2; ! 312: int k = 1; ! 313: iequals(__LINE__, i<<=j<<=k, 16); ! 314: iequals(__LINE__, i, 16); ! 315: iequals(__LINE__, j, 4); ! 316: j = 2; ! 317: iequals(__LINE__, i<<=j>>=k, 32); ! 318: iequals(__LINE__, i, 32); ! 319: iequals(__LINE__, j, 1); ! 320: iequals(__LINE__, i<<=j&=k, 64); ! 321: iequals(__LINE__, i, 64); ! 322: iequals(__LINE__, j, 1); ! 323: j = 0; ! 324: iequals(__LINE__, i<<=j^=k, 128); ! 325: iequals(__LINE__, i, 128); ! 326: iequals(__LINE__, j, 1); ! 327: iequals(__LINE__, i<<=j|=k, 256); ! 328: iequals(__LINE__, i, 256); ! 329: iequals(__LINE__, j, 1); ! 330: iequals(__LINE__, (i<<=j,k), k); ! 331: iequals(__LINE__, i, 512); ! 332: } ! 333: ! 334: /* X>>=YopZ */ ! 335: static void p1_43() ! 336: { ! 337: int i = 9; ! 338: int j = 3; ! 339: int k = 1; ! 340: iequals(__LINE__, i>>=j>>=k, 4); ! 341: iequals(__LINE__, i, 4); ! 342: iequals(__LINE__, j, 1); ! 343: k = 7; ! 344: iequals(__LINE__, i>>=j&=k, 2); ! 345: iequals(__LINE__, i, 2); ! 346: iequals(__LINE__, j, 1); ! 347: i = 0x100; ! 348: iequals(__LINE__, i>>=j^=k, 4); ! 349: iequals(__LINE__, i, 4); ! 350: iequals(__LINE__, j, 6); ! 351: j = 0; k = 2; ! 352: iequals(__LINE__, i>>=j|=k, 1); ! 353: iequals(__LINE__, i, 1); ! 354: iequals(__LINE__, j, 2); ! 355: i = 7; ! 356: iequals(__LINE__, (i>>=j,k), k); ! 357: iequals(__LINE__, i, 1); ! 358: } ! 359: ! 360: /* X&=YopZ */ ! 361: static void p1_44() ! 362: { ! 363: int i = 7; ! 364: int j = 2; ! 365: int k = 3; ! 366: iequals(__LINE__, i&=j&=k, 2); ! 367: iequals(__LINE__, i, 2); ! 368: iequals(__LINE__, j, 2); ! 369: i = 7; ! 370: iequals(__LINE__, i&=j^=k, 1); ! 371: iequals(__LINE__, i, 1); ! 372: iequals(__LINE__, j, 1); ! 373: k = 4; ! 374: iequals(__LINE__, i&=j|=k, 1); ! 375: iequals(__LINE__, i, 1); ! 376: iequals(__LINE__, j, 5); ! 377: i = 7; ! 378: iequals(__LINE__, (i&=j,k), k); ! 379: iequals(__LINE__, i, 5); ! 380: } ! 381: ! 382: /* X^=YopZ */ ! 383: static void p1_45() ! 384: { ! 385: int i = 2; ! 386: int j = 2; ! 387: int k = 3; ! 388: iequals(__LINE__, i^=j^=k, 3); ! 389: iequals(__LINE__, i, 3); ! 390: iequals(__LINE__, j, 1); ! 391: k = 4; ! 392: iequals(__LINE__, i^=j|=k, 6); ! 393: iequals(__LINE__, i, 6); ! 394: iequals(__LINE__, j, 5); ! 395: iequals(__LINE__, (i^=j,k), 4); ! 396: iequals(__LINE__, i, 3); ! 397: } ! 398: ! 399: /* X|=YopZ */ ! 400: static void p1_46() ! 401: { ! 402: int i = 1; ! 403: int j = 2; ! 404: int k = 4; ! 405: iequals(__LINE__, i|=j|=k, 7); ! 406: iequals(__LINE__, i, 7); ! 407: iequals(__LINE__, j, 6); ! 408: iequals(__LINE__, (i|=j,k), 4); ! 409: iequals(__LINE__, i, 7); ! 410: } ! 411: ! 412: /* X,YopZ */ ! 413: static void p1_47() ! 414: { ! 415: int i = 1; ! 416: int j = 2; ! 417: int k = 3; ! 418: iequals(__LINE__, (i,j,k), k); ! 419: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.