|
|
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: #include "m.h" ! 13: int main() ! 14: { ! 15: extern char *Filename; ! 16: typedef union { ! 17: CHAR c; ! 18: SHORT s; ! 19: INT i; ! 20: UCHAR uc; ! 21: USHORT us; ! 22: UINT ui; ! 23: LONG l; ! 24: ULONG ul; ! 25: FLOAT f; ! 26: DOUBLE d; ! 27: #if ANSI ! 28: SCHAR sc; ! 29: LDOUBLE ld; ! 30: #endif ! 31: } E; ! 32: auto E E1, *pE1 = &E1; ! 33: #if ANSI ! 34: auto E E2, *pE2 = &E2; ! 35: #endif ! 36: auto E E3, *pE3 = &E3; ! 37: auto E E4, *pE4 = &E4; ! 38: auto E E5, *pE5 = &E5; ! 39: auto E E6, *pE6 = &E6; ! 40: auto E E7, *pE7 = &E7; ! 41: auto E E8, *pE8 = &E8; ! 42: auto E E9, *pE9 = &E9; ! 43: auto E E10, *pE10 = &E10; ! 44: auto E E11, *pE11 = &E11; ! 45: #if ANSI ! 46: auto E E12, *pE12 = &E12; ! 47: #endif ! 48: pE1->c = 7; ! 49: #if ANSI ! 50: pE2->sc = 8; ! 51: #endif ! 52: pE3->s = 9; ! 53: pE4->i = 10; ! 54: pE5->uc = 11; ! 55: pE6->us = 12; ! 56: pE7->ui = 13; ! 57: pE8->l = 14; ! 58: pE9->ul = 15; ! 59: pE10->f = 16; ! 60: pE11->d = 17; ! 61: #if ANSI ! 62: pE12->ld = 18; ! 63: #endif ! 64: { ! 65: CHAR Mc(); ! 66: #if ANSI ! 67: SCHAR Msc(); ! 68: #endif ! 69: SHORT Ms(); ! 70: INT Mi(); ! 71: UCHAR Muc(); ! 72: USHORT Mus(); ! 73: UINT Mui(); ! 74: LONG Ml(); ! 75: ULONG Mul(); ! 76: FLOAT Mf(); ! 77: DOUBLE Md(); ! 78: #if ANSI ! 79: LDOUBLE Mld(); ! 80: #endif ! 81: { ! 82: int true = 1, false = 0; ! 83: Filename = " auto punion auto func rem "; ! 84: iequals(__LINE__, pE1->c % Mc(), 0); ! 85: iequals(__LINE__, Mc() % pE1->c, 0); ! 86: #if ANSI ! 87: iequals(__LINE__, pE1->c % Msc(), 7); ! 88: iequals(__LINE__, Msc() % pE1->c, 1); ! 89: #endif ! 90: iequals(__LINE__, pE1->c % Ms(), 7); ! 91: iequals(__LINE__, Ms() % pE1->c, 2); ! 92: iequals(__LINE__, pE1->c % Mi(), 7); ! 93: iequals(__LINE__, Mi() % pE1->c, 3); ! 94: iequals(__LINE__, pE1->c % Muc(), 7); ! 95: iequals(__LINE__, Muc() % pE1->c, 4); ! 96: iequals(__LINE__, pE1->c % Mus(), 7); ! 97: iequals(__LINE__, Mus() % pE1->c, 5); ! 98: iequals(__LINE__, pE1->c % Mui(), 7); ! 99: iequals(__LINE__, Mui() % pE1->c, 6); ! 100: lequals(__LINE__, pE1->c % Ml(), 7L); ! 101: lequals(__LINE__, Ml() % pE1->c, 0L); ! 102: lequals(__LINE__, pE1->c % Mul(), 7L); ! 103: lequals(__LINE__, Mul() % pE1->c, 1L); ! 104: #if ANSI ! 105: iequals(__LINE__, pE2->sc % Mc(), 1); ! 106: iequals(__LINE__, Mc() % pE2->sc, 7); ! 107: #endif ! 108: #if ANSI ! 109: iequals(__LINE__, pE2->sc % Msc(), 0); ! 110: iequals(__LINE__, Msc() % pE2->sc, 0); ! 111: #endif ! 112: #if ANSI ! 113: iequals(__LINE__, pE2->sc % Ms(), 8); ! 114: iequals(__LINE__, Ms() % pE2->sc, 1); ! 115: #endif ! 116: #if ANSI ! 117: iequals(__LINE__, pE2->sc % Mi(), 8); ! 118: iequals(__LINE__, Mi() % pE2->sc, 2); ! 119: #endif ! 120: #if ANSI ! 121: iequals(__LINE__, pE2->sc % Muc(), 8); ! 122: iequals(__LINE__, Muc() % pE2->sc, 3); ! 123: #endif ! 124: #if ANSI ! 125: iequals(__LINE__, pE2->sc % Mus(), 8); ! 126: iequals(__LINE__, Mus() % pE2->sc, 4); ! 127: #endif ! 128: #if ANSI ! 129: iequals(__LINE__, pE2->sc % Mui(), 8); ! 130: iequals(__LINE__, Mui() % pE2->sc, 5); ! 131: #endif ! 132: #if ANSI ! 133: lequals(__LINE__, pE2->sc % Ml(), 8L); ! 134: lequals(__LINE__, Ml() % pE2->sc, 6L); ! 135: #endif ! 136: #if ANSI ! 137: lequals(__LINE__, pE2->sc % Mul(), 8L); ! 138: lequals(__LINE__, Mul() % pE2->sc, 7L); ! 139: #endif ! 140: iequals(__LINE__, pE3->s % Mc(), 2); ! 141: iequals(__LINE__, Mc() % pE3->s, 7); ! 142: #if ANSI ! 143: iequals(__LINE__, pE3->s % Msc(), 1); ! 144: iequals(__LINE__, Msc() % pE3->s, 8); ! 145: #endif ! 146: iequals(__LINE__, pE3->s % Ms(), 0); ! 147: iequals(__LINE__, Ms() % pE3->s, 0); ! 148: iequals(__LINE__, pE3->s % Mi(), 9); ! 149: iequals(__LINE__, Mi() % pE3->s, 1); ! 150: iequals(__LINE__, pE3->s % Muc(), 9); ! 151: iequals(__LINE__, Muc() % pE3->s, 2); ! 152: iequals(__LINE__, pE3->s % Mus(), 9); ! 153: iequals(__LINE__, Mus() % pE3->s, 3); ! 154: iequals(__LINE__, pE3->s % Mui(), 9); ! 155: iequals(__LINE__, Mui() % pE3->s, 4); ! 156: lequals(__LINE__, pE3->s % Ml(), 9L); ! 157: lequals(__LINE__, Ml() % pE3->s, 5L); ! 158: lequals(__LINE__, pE3->s % Mul(), 9L); ! 159: lequals(__LINE__, Mul() % pE3->s, 6L); ! 160: iequals(__LINE__, pE4->i % Mc(), 3); ! 161: iequals(__LINE__, Mc() % pE4->i, 7); ! 162: #if ANSI ! 163: iequals(__LINE__, pE4->i % Msc(), 2); ! 164: iequals(__LINE__, Msc() % pE4->i, 8); ! 165: #endif ! 166: iequals(__LINE__, pE4->i % Ms(), 1); ! 167: iequals(__LINE__, Ms() % pE4->i, 9); ! 168: iequals(__LINE__, pE4->i % Mi(), 0); ! 169: iequals(__LINE__, Mi() % pE4->i, 0); ! 170: iequals(__LINE__, pE4->i % Muc(), 10); ! 171: iequals(__LINE__, Muc() % pE4->i, 1); ! 172: iequals(__LINE__, pE4->i % Mus(), 10); ! 173: iequals(__LINE__, Mus() % pE4->i, 2); ! 174: iequals(__LINE__, pE4->i % Mui(), 10); ! 175: iequals(__LINE__, Mui() % pE4->i, 3); ! 176: lequals(__LINE__, pE4->i % Ml(), 10L); ! 177: lequals(__LINE__, Ml() % pE4->i, 4L); ! 178: lequals(__LINE__, pE4->i % Mul(), 10L); ! 179: lequals(__LINE__, Mul() % pE4->i, 5L); ! 180: iequals(__LINE__, pE5->uc % Mc(), 4); ! 181: iequals(__LINE__, Mc() % pE5->uc, 7); ! 182: #if ANSI ! 183: iequals(__LINE__, pE5->uc % Msc(), 3); ! 184: iequals(__LINE__, Msc() % pE5->uc, 8); ! 185: #endif ! 186: iequals(__LINE__, pE5->uc % Ms(), 2); ! 187: iequals(__LINE__, Ms() % pE5->uc, 9); ! 188: iequals(__LINE__, pE5->uc % Mi(), 1); ! 189: iequals(__LINE__, Mi() % pE5->uc, 10); ! 190: iequals(__LINE__, pE5->uc % Muc(), 0); ! 191: iequals(__LINE__, Muc() % pE5->uc, 0); ! 192: iequals(__LINE__, pE5->uc % Mus(), 11); ! 193: iequals(__LINE__, Mus() % pE5->uc, 1); ! 194: iequals(__LINE__, pE5->uc % Mui(), 11); ! 195: iequals(__LINE__, Mui() % pE5->uc, 2); ! 196: lequals(__LINE__, pE5->uc % Ml(), 11L); ! 197: lequals(__LINE__, Ml() % pE5->uc, 3L); ! 198: lequals(__LINE__, pE5->uc % Mul(), 11L); ! 199: lequals(__LINE__, Mul() % pE5->uc, 4L); ! 200: iequals(__LINE__, pE6->us % Mc(), 5); ! 201: iequals(__LINE__, Mc() % pE6->us, 7); ! 202: #if ANSI ! 203: iequals(__LINE__, pE6->us % Msc(), 4); ! 204: iequals(__LINE__, Msc() % pE6->us, 8); ! 205: #endif ! 206: iequals(__LINE__, pE6->us % Ms(), 3); ! 207: iequals(__LINE__, Ms() % pE6->us, 9); ! 208: iequals(__LINE__, pE6->us % Mi(), 2); ! 209: iequals(__LINE__, Mi() % pE6->us, 10); ! 210: iequals(__LINE__, pE6->us % Muc(), 1); ! 211: iequals(__LINE__, Muc() % pE6->us, 11); ! 212: iequals(__LINE__, pE6->us % Mus(), 0); ! 213: iequals(__LINE__, Mus() % pE6->us, 0); ! 214: iequals(__LINE__, pE6->us % Mui(), 12); ! 215: iequals(__LINE__, Mui() % pE6->us, 1); ! 216: lequals(__LINE__, pE6->us % Ml(), 12L); ! 217: lequals(__LINE__, Ml() % pE6->us, 2L); ! 218: lequals(__LINE__, pE6->us % Mul(), 12L); ! 219: lequals(__LINE__, Mul() % pE6->us, 3L); ! 220: iequals(__LINE__, pE7->ui % Mc(), 6); ! 221: iequals(__LINE__, Mc() % pE7->ui, 7); ! 222: #if ANSI ! 223: iequals(__LINE__, pE7->ui % Msc(), 5); ! 224: iequals(__LINE__, Msc() % pE7->ui, 8); ! 225: #endif ! 226: iequals(__LINE__, pE7->ui % Ms(), 4); ! 227: iequals(__LINE__, Ms() % pE7->ui, 9); ! 228: iequals(__LINE__, pE7->ui % Mi(), 3); ! 229: iequals(__LINE__, Mi() % pE7->ui, 10); ! 230: iequals(__LINE__, pE7->ui % Muc(), 2); ! 231: iequals(__LINE__, Muc() % pE7->ui, 11); ! 232: iequals(__LINE__, pE7->ui % Mus(), 1); ! 233: iequals(__LINE__, Mus() % pE7->ui, 12); ! 234: iequals(__LINE__, pE7->ui % Mui(), 0); ! 235: iequals(__LINE__, Mui() % pE7->ui, 0); ! 236: lequals(__LINE__, pE7->ui % Ml(), 13L); ! 237: lequals(__LINE__, Ml() % pE7->ui, 1L); ! 238: lequals(__LINE__, pE7->ui % Mul(), 13L); ! 239: lequals(__LINE__, Mul() % pE7->ui, 2L); ! 240: lequals(__LINE__, pE8->l % Mc(), 0L); ! 241: lequals(__LINE__, Mc() % pE8->l, 7L); ! 242: #if ANSI ! 243: lequals(__LINE__, pE8->l % Msc(), 6L); ! 244: lequals(__LINE__, Msc() % pE8->l, 8L); ! 245: #endif ! 246: lequals(__LINE__, pE8->l % Ms(), 5L); ! 247: lequals(__LINE__, Ms() % pE8->l, 9L); ! 248: lequals(__LINE__, pE8->l % Mi(), 4L); ! 249: lequals(__LINE__, Mi() % pE8->l, 10L); ! 250: lequals(__LINE__, pE8->l % Muc(), 3L); ! 251: lequals(__LINE__, Muc() % pE8->l, 11L); ! 252: lequals(__LINE__, pE8->l % Mus(), 2L); ! 253: lequals(__LINE__, Mus() % pE8->l, 12L); ! 254: lequals(__LINE__, pE8->l % Mui(), 1L); ! 255: lequals(__LINE__, Mui() % pE8->l, 13L); ! 256: lequals(__LINE__, pE8->l % Ml(), 0L); ! 257: lequals(__LINE__, Ml() % pE8->l, 0L); ! 258: lequals(__LINE__, pE8->l % Mul(), 14L); ! 259: lequals(__LINE__, Mul() % pE8->l, 1L); ! 260: lequals(__LINE__, pE9->ul % Mc(), 1L); ! 261: lequals(__LINE__, Mc() % pE9->ul, 7L); ! 262: #if ANSI ! 263: lequals(__LINE__, pE9->ul % Msc(), 7L); ! 264: lequals(__LINE__, Msc() % pE9->ul, 8L); ! 265: #endif ! 266: lequals(__LINE__, pE9->ul % Ms(), 6L); ! 267: lequals(__LINE__, Ms() % pE9->ul, 9L); ! 268: lequals(__LINE__, pE9->ul % Mi(), 5L); ! 269: lequals(__LINE__, Mi() % pE9->ul, 10L); ! 270: lequals(__LINE__, pE9->ul % Muc(), 4L); ! 271: lequals(__LINE__, Muc() % pE9->ul, 11L); ! 272: lequals(__LINE__, pE9->ul % Mus(), 3L); ! 273: lequals(__LINE__, Mus() % pE9->ul, 12L); ! 274: lequals(__LINE__, pE9->ul % Mui(), 2L); ! 275: lequals(__LINE__, Mui() % pE9->ul, 13L); ! 276: lequals(__LINE__, pE9->ul % Ml(), 1L); ! 277: lequals(__LINE__, Ml() % pE9->ul, 14L); ! 278: lequals(__LINE__, pE9->ul % Mul(), 0L); ! 279: lequals(__LINE__, Mul() % pE9->ul, 0L); ! 280: }} ! 281: return report(Filename); ! 282: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.