|
|
1.1 ! root 1: /* The Plum Hall Validation Suite for C ! 2: * Published copyright (c) 1986-1991, Chiron Systems Inc and Plum Hall Inc. ! 3: * VERSION: 4 ! 4: * DATE: 1993-01-01 ! 5: * The contents of this file may be shown to any persons, provided ! 6: * that no copies are transfered to any persons not licensed to receive such copies. ! 7: * Successful compilation and execution of this program satisfies 2.2.4.1 of the C Standard ! 8: */ ! 9: ! 10: /* b2241.c -- test translation limits (2.2.4.1) */ ! 11: #define verify(ln, expr) { if (!(expr)) printf("execution fails, line %d\n", ln), ++errs; } ! 12: ! 13: #ifndef FREESTANDING ! 14: extern int printf(const char *format, ...); ! 15: #else ! 16: /* FREESTANDING validation must provide some means of printing string */ ! 17: static int Zero = 0; /* needed in sdutil.h */ ! 18: #include "sdutil.h" ! 19: int printf(const char *string, int n) ! 20: { ! 21: pr_ok(string); /* bare-bones, adequate if no errors from verify */ ! 22: } ! 23: #endif /* FREESTANDING */ ! 24: ! 25: void cat31(char *s, int dummy, ! 26: char c0,char c1,char c2,char c3,char c4,char c5,char c6,char c7,char c8,char c9, ! 27: char c10,char c11,char c12,char c13,char c14,char c15,char c16,char c17,char c18,char c19, ! 28: char c20,char c21,char c22,char c23,char c24,char c25,char c26,char c27,char c28) ! 29: { ! 30: s[0]=c0; s[1]=c1; s[2]=c2; s[3]=c3; s[4]=c4; s[5]=c5; s[6]=c6; s[7]=c7; s[8]=c8; s[9]=c9; ! 31: s[10]=c10; s[11]=c11; s[12]=c12; s[13]=c13; s[14]=c14; s[15]=c15; s[16]=c16; s[17]=c17; s[18]=c18; s[19]=c19; ! 32: s[20]=c20; s[21]=c21; s[22]=c22; s[23]=c23; s[24]=c24; s[25]=c25; s[26]=c26; s[27]=c27; s[28]=c28; ! 33: s[29] = '\0'; ! 34: } ! 35: ! 36: int str_cmp(const char *s1, const char *s2) ! 37: { ! 38: for (; *s1 == *s2; ++s1, ++s2) ! 39: if (*s1 == '\0') ! 40: return 0; ! 41: return 1; ! 42: } ! 43: ! 44: /* #7: 6 significant characters in an external identifier */ ! 45: short e23456 = 6; ! 46: short e2345 = 5; ! 47: ! 48: /* str_len -- used here to avoid need for size_t definition */ ! 49: int str_len(s) ! 50: char *s; ! 51: { ! 52: int i; ! 53: ! 54: for (i = 0; s[i] != '\0'; ++i) ! 55: ; ! 56: return i; ! 57: } ! 58: ! 59: /* #8: 511 external identifiers in one source file */ ! 60: /* e2345 e23456 str_len main str_cmp cat31 printf errs, plus 503 here */ ! 61: char i000=0,i001=0,i002=0,i003=0,i004=0,i005=0,i006=0,i007=0,i008=0,i009=0; ! 62: char i010=0,i011=0,i012=0,i013=0,i014=0,i015=0,i016=0,i017=0,i018=0,i019=0; ! 63: char i020=0,i021=0,i022=0,i023=0,i024=0,i025=0,i026=0,i027=0,i028=0,i029=0; ! 64: char i030=0,i031=0,i032=0,i033=0,i034=0,i035=0,i036=0,i037=0,i038=0,i039=0; ! 65: char i040=0,i041=0,i042=0,i043=0,i044=0,i045=0,i046=0,i047=0,i048=0,i049=0; ! 66: char i050=0,i051=0,i052=0,i053=0,i054=0,i055=0,i056=0,i057=0,i058=0,i059=0; ! 67: char i060=0,i061=0,i062=0,i063=0,i064=0,i065=0,i066=0,i067=0,i068=0,i069=0; ! 68: char i070=0,i071=0,i072=0,i073=0,i074=0,i075=0,i076=0,i077=0,i078=0,i079=0; ! 69: char i080=0,i081=0,i082=0,i083=0,i084=0,i085=0,i086=0,i087=0,i088=0,i089=0; ! 70: char i090=0,i091=0,i092=0,i093=0,i094=0,i095=0,i096=0,i097=0,i098=0,i099=0; ! 71: char i100=0,i101=0,i102=0,i103=0,i104=0,i105=0,i106=0,i107=0,i108=0,i109=0; ! 72: char i110=0,i111=0,i112=0,i113=0,i114=0,i115=0,i116=0,i117=0,i118=0,i119=0; ! 73: char i120=0,i121=0,i122=0,i123=0,i124=0,i125=0,i126=0,i127=0,i128=0,i129=0; ! 74: char i130=0,i131=0,i132=0,i133=0,i134=0,i135=0,i136=0,i137=0,i138=0,i139=0; ! 75: char i140=0,i141=0,i142=0,i143=0,i144=0,i145=0,i146=0,i147=0,i148=0,i149=0; ! 76: char i150=0,i151=0,i152=0,i153=0,i154=0,i155=0,i156=0,i157=0,i158=0,i159=0; ! 77: char i160=0,i161=0,i162=0,i163=0,i164=0,i165=0,i166=0,i167=0,i168=0,i169=0; ! 78: char i170=0,i171=0,i172=0,i173=0,i174=0,i175=0,i176=0,i177=0,i178=0,i179=0; ! 79: char i180=0,i181=0,i182=0,i183=0,i184=0,i185=0,i186=0,i187=0,i188=0,i189=0; ! 80: char i190=0,i191=0,i192=0,i193=0,i194=0,i195=0,i196=0,i197=0,i198=0,i199=0; ! 81: char i200=0,i201=0,i202=0,i203=0,i204=0,i205=0,i206=0,i207=0,i208=0,i209=0; ! 82: char i210=0,i211=0,i212=0,i213=0,i214=0,i215=0,i216=0,i217=0,i218=0,i219=0; ! 83: char i220=0,i221=0,i222=0,i223=0,i224=0,i225=0,i226=0,i227=0,i228=0,i229=0; ! 84: char i230=0,i231=0,i232=0,i233=0,i234=0,i235=0,i236=0,i237=0,i238=0,i239=0; ! 85: char i240=0,i241=0,i242=0,i243=0,i244=0,i245=0,i246=0,i247=0,i248=0,i249=0; ! 86: char i250=0,i251=0,i252=0,i253=0,i254=0,i255=0,i256=0,i257=0,i258=0,i259=0; ! 87: char i260=0,i261=0,i262=0,i263=0,i264=0,i265=0,i266=0,i267=0,i268=0,i269=0; ! 88: char i270=0,i271=0,i272=0,i273=0,i274=0,i275=0,i276=0,i277=0,i278=0,i279=0; ! 89: char i280=0,i281=0,i282=0,i283=0,i284=0,i285=0,i286=0,i287=0,i288=0,i289=0; ! 90: char i290=0,i291=0,i292=0,i293=0,i294=0,i295=0,i296=0,i297=0,i298=0,i299=0; ! 91: char i300=0,i301=0,i302=0,i303=0,i304=0,i305=0,i306=0,i307=0,i308=0,i309=0; ! 92: char i310=0,i311=0,i312=0,i313=0,i314=0,i315=0,i316=0,i317=0,i318=0,i319=0; ! 93: char i320=0,i321=0,i322=0,i323=0,i324=0,i325=0,i326=0,i327=0,i328=0,i329=0; ! 94: char i330=0,i331=0,i332=0,i333=0,i334=0,i335=0,i336=0,i337=0,i338=0,i339=0; ! 95: char i340=0,i341=0,i342=0,i343=0,i344=0,i345=0,i346=0,i347=0,i348=0,i349=0; ! 96: char i350=0,i351=0,i352=0,i353=0,i354=0,i355=0,i356=0,i357=0,i358=0,i359=0; ! 97: char i360=0,i361=0,i362=0,i363=0,i364=0,i365=0,i366=0,i367=0,i368=0,i369=0; ! 98: char i370=0,i371=0,i372=0,i373=0,i374=0,i375=0,i376=0,i377=0,i378=0,i379=0; ! 99: char i380=0,i381=0,i382=0,i383=0,i384=0,i385=0,i386=0,i387=0,i388=0,i389=0; ! 100: char i390=0,i391=0,i392=0,i393=0,i394=0,i395=0,i396=0,i397=0,i398=0,i399=0; ! 101: char i400=0,i401=0,i402=0,i403=0,i404=0,i405=0,i406=0,i407=0,i408=0,i409=0; ! 102: char i410=0,i411=0,i412=0,i413=0,i414=0,i415=0,i416=0,i417=0,i418=0,i419=0; ! 103: char i420=0,i421=0,i422=0,i423=0,i424=0,i425=0,i426=0,i427=0,i428=0,i429=0; ! 104: char i430=0,i431=0,i432=0,i433=0,i434=0,i435=0,i436=0,i437=0,i438=0,i439=0; ! 105: char i440=0,i441=0,i442=0,i443=0,i444=0,i445=0,i446=0,i447=0,i448=0,i449=0; ! 106: char i450=0,i451=0,i452=0,i453=0,i454=0,i455=0,i456=0,i457=0,i458=0,i459=0; ! 107: char i460=0,i461=0,i462=0,i463=0,i464=0,i465=0,i466=0,i467=0,i468=0,i469=0; ! 108: char i470=0,i471=0,i472=0,i473=0,i474=0,i475=0,i476=0,i477=0,i478=0,i479=0; ! 109: char i480=0,i481=0,i482=0,i483=0,i484=0,i485=0,i486=0,i487=0,i488=0,i489=0; ! 110: char i490=0,i491=0,i492=0,i493=0,i494=0,i495=0,i496=0,i497=0,i498=0,i499=0; ! 111: char i500=0,i501=0,i502=0; ! 112: ! 113: int errs = 0; ! 114: ! 115: int main() ! 116: { ! 117: ! 118: /* verify the 6 significant chars on extern */ ! 119: verify(__LINE__, e2345 == 5); ! 120: ! 121: /* verify that the externals are accessible and distinct */ ! 122: i450+=i451+=i452+=i453+=i454+=i455+=i456+=i457+=i458+=i459+=1; ! 123: i460+=i461+=i462+=i463+=i464+=i465+=i466+=i467+=i468+=i469+=1; ! 124: i470+=i471+=i472+=i473+=i474+=i475+=i476+=i477+=i478+=i479+=1; ! 125: i480+=i481+=i482+=i483+=i484+=i485+=i486+=i487+=i488+=i489+=1; ! 126: i490+=i491+=i492+=i493+=i494+=i495+=i496+=i497+=i498+=i499+=1; ! 127: verify(__LINE__, i450 == 1); ! 128: ! 129: /* #1: 15 nesting levels of compound statements and selection control */ ! 130: if(i451){if(i452){if(i453){if(i454){if(i455){ ! 131: if(i456){if(i457){if(i458){if(i459){if(i460){ ! 132: if(i461){if(i462){if(i463){if(i464){if(i465) ! 133: i100 = 1; ! 134: else ! 135: i100 = 0; ! 136: } } } } } } } } } } } } } } ! 137: /* 1 2 3 4 5 6 7 8 9 0 1 2 3 4 */ ! 138: verify(__LINE__, i100 == 1); ! 139: ! 140: /* #2: 8 nesting levels in conditional compilation */ ! 141: #define NEST_OK 0 ! 142: #if 1 ! 143: #if 2 ! 144: #if 3 ! 145: #if 4 ! 146: #if 5 ! 147: #if 6 ! 148: #if 7 ! 149: #if 8 ! 150: #undef NEST_OK ! 151: #define NEST_OK 1 ! 152: #endif ! 153: #endif ! 154: #endif ! 155: #endif ! 156: #endif ! 157: #endif ! 158: #endif ! 159: #endif ! 160: ! 161: ! 162: verify(__LINE__, NEST_OK == 1); ! 163: ! 164: /* #3: 12 ptr, array, and fn declarators modifying a basic type */ ! 165: { ! 166: char c = 'a'; ! 167: char *p1 = &c; ! 168: char **p2 = &p1; ! 169: char ***p3 = &p2; ! 170: char ****p4 = &p3; ! 171: char *****p5 = &p4; ! 172: char ******p6 = &p5; ! 173: char *******p7 = &p6; ! 174: char ********p8 = &p7; ! 175: char *********p9 = &p8; ! 176: char **********p10 = &p9; ! 177: char ***********p11 = &p10; ! 178: char ************p12 = &p11; ! 179: ! 180: verify(__LINE__, ************p12 == 'a'); ! 181: } ! 182: ! 183: /* #4: 31 declarators nested by parentheses */ ! 184: { ! 185: /* 1234567890123456789012345678901 1234567890123456789012345678901 */ ! 186: int (((((((((((((((((((((((((((((((i))))))))))))))))))))))))))))))) = 2; ! 187: ! 188: verify(__LINE__, i == 2); ! 189: } ! 190: /* #5: 32 expressions nested by parentheses (ANSI8709 reduced this from 127) */ ! 191: { ! 192: /* 1 2 3 4 5 6 7 8 9 10 */ ! 193: #define L(a) (1-(1-(1-(1-(1-(1-(1-(1-(1-(1-a ! 194: #define R ) ) ) ) ) ) ) ) ) ) ! 195: /* L(x) generates 10 left parens, 30 chars (plus length of x) */ ! 196: int i = 2; ! 197: int j; ! 198: ! 199: ! 200: j = ! 201: L(L(L((1-(i-1))))) ! 202: R R R; ! 203: verify(__LINE__, j == 0); ! 204: } ! 205: ! 206: /* #6: 31 significant characters in an internal identifier or macro name */ ! 207: #define M234567890123456789012345678901 1 ! 208: #define M23456789012345678901234567890 0 ! 209: verify(__LINE__, M234567890123456789012345678901 == 1); ! 210: ! 211: /* See top of file for #7 and #8 */ ! 212: ! 213: /* #9: 127 identifiers with block scope in one block */ ! 214: { ! 215: auto char i000=0,i001=0,i002=0,i003=0,i004=0,i005=0,i006=0,i007=0,i008=0,i009=0; ! 216: auto char i010=0,i011=0,i012=0,i013=0,i014=0,i015=0,i016=0,i017=0,i018=0,i019=0; ! 217: auto char i020=0,i021=0,i022=0,i023=0,i024=0,i025=0,i026=0,i027=0,i028=0,i029=0; ! 218: auto char i030=0,i031=0,i032=0,i033=0,i034=0,i035=0,i036=0,i037=0,i038=0,i039=0; ! 219: auto char i040=0,i041=0,i042=0,i043=0,i044=0,i045=0,i046=0,i047=0,i048=0,i049=0; ! 220: auto char i050=0,i051=0,i052=0,i053=0,i054=0,i055=0,i056=0,i057=0,i058=0,i059=0; ! 221: auto char i060=0,i061=0,i062=0,i063=0,i064=0,i065=0,i066=0,i067=0,i068=0,i069=0; ! 222: auto char i070=0,i071=0,i072=0,i073=0,i074=0,i075=0,i076=0,i077=0,i078=0,i079=0; ! 223: auto char i080=0,i081=0,i082=0,i083=0,i084=0,i085=0,i086=0,i087=0,i088=0,i089=0; ! 224: auto char i090=0,i091=0,i092=0,i093=0,i094=0,i095=0,i096=0,i097=0,i098=0,i099=0; ! 225: auto char i100=0,i101=0,i102=0,i103=0,i104=0,i105=0,i106=0,i107=0,i108=0,i109=0; ! 226: auto char i110=0,i111=0,i112=0,i113=0,i114=0,i115=0,i116=0,i117=0,i118=0,i119=0; ! 227: auto char i120=0,i121=0,i122=0,i123=0,i124=0,i125=0,i126=0; ! 228: ! 229: i050+=i051+=i052+=i053+=i054+=i055+=i056+=i057+=i058+=i059+=1; ! 230: i060+=i061+=i062+=i063+=i064+=i065+=i066+=i067+=i068+=i069+=1; ! 231: i070+=i071+=i072+=i073+=i074+=i075+=i076+=i077+=i078+=i079+=1; ! 232: i080+=i081+=i082+=i083+=i084+=i085+=i086+=i087+=i088+=i089+=1; ! 233: i090+=i091+=i092+=i093+=i094+=i095+=i096+=i097+=i098+=i099+=1; ! 234: verify(__LINE__, i050 == 1); ! 235: } ! 236: ! 237: /* #10: 1024 macro identifiers simultaneously defined in one source file */ ! 238: /* 9 macros defined elsewhere by capacity.c, 1 in verify, ! 239: and 1014 are defined in this section */ ! 240: { ! 241: ! 242: #define A00 0 ! 243: #define A01 1 ! 244: #define A02 2 ! 245: #define A03 3 ! 246: #define A04 4 ! 247: #define A05 5 ! 248: #define A06 6 ! 249: #define A07 7 ! 250: #define A08 8 ! 251: #define A09 9 ! 252: ! 253: #define A10 0 ! 254: #define A11 1 ! 255: #define A12 2 ! 256: #define A13 3 ! 257: #define A14 4 ! 258: #define A15 5 ! 259: #define A16 6 ! 260: #define A17 7 ! 261: #define A18 8 ! 262: #define A19 9 ! 263: ! 264: #define A20 0 ! 265: #define A21 1 ! 266: #define A22 2 ! 267: #define A23 3 ! 268: #define A24 4 ! 269: #define A25 5 ! 270: #define A26 6 ! 271: #define A27 7 ! 272: #define A28 8 ! 273: #define A29 9 ! 274: ! 275: #define A30 0 ! 276: #define A31 1 ! 277: #define A32 2 ! 278: #define A33 3 ! 279: #define A34 4 ! 280: #define A35 5 ! 281: #define A36 6 ! 282: #define A37 7 ! 283: #define A38 8 ! 284: #define A39 9 ! 285: ! 286: #define A40 0 ! 287: #define A41 1 ! 288: #define A42 2 ! 289: #define A43 3 ! 290: #define A44 4 ! 291: #define A45 5 ! 292: #define A46 6 ! 293: #define A47 7 ! 294: #define A48 8 ! 295: #define A49 9 ! 296: ! 297: #define A50 0 ! 298: #define A51 1 ! 299: #define A52 2 ! 300: #define A53 3 ! 301: #define A54 4 ! 302: #define A55 5 ! 303: #define A56 6 ! 304: #define A57 7 ! 305: #define A58 8 ! 306: #define A59 9 ! 307: ! 308: #define A60 0 ! 309: #define A61 1 ! 310: #define A62 2 ! 311: #define A63 3 ! 312: #define A64 4 ! 313: #define A65 5 ! 314: #define A66 6 ! 315: #define A67 7 ! 316: #define A68 8 ! 317: #define A69 9 ! 318: ! 319: #define A70 0 ! 320: #define A71 1 ! 321: #define A72 2 ! 322: #define A73 3 ! 323: #define A74 4 ! 324: #define A75 5 ! 325: #define A76 6 ! 326: #define A77 7 ! 327: #define A78 8 ! 328: #define A79 9 ! 329: ! 330: #define A80 0 ! 331: #define A81 1 ! 332: #define A82 2 ! 333: #define A83 3 ! 334: #define A84 4 ! 335: #define A85 5 ! 336: #define A86 6 ! 337: #define A87 7 ! 338: #define A88 8 ! 339: #define A89 9 ! 340: ! 341: #define A90 0 ! 342: #define A91 1 ! 343: #define A92 2 ! 344: #define A93 3 ! 345: #define A94 4 ! 346: #define A95 5 ! 347: #define A96 6 ! 348: #define A97 7 ! 349: #define A98 8 ! 350: #define A99 9 ! 351: ! 352: #define B00 0 ! 353: #define B01 1 ! 354: #define B02 2 ! 355: #define B03 3 ! 356: #define B04 4 ! 357: #define B05 5 ! 358: #define B06 6 ! 359: #define B07 7 ! 360: #define B08 8 ! 361: #define B09 9 ! 362: ! 363: #define B10 0 ! 364: #define B11 1 ! 365: #define B12 2 ! 366: #define B13 3 ! 367: #define B14 4 ! 368: #define B15 5 ! 369: #define B16 6 ! 370: #define B17 7 ! 371: #define B18 8 ! 372: #define B19 9 ! 373: ! 374: #define B20 0 ! 375: #define B21 1 ! 376: #define B22 2 ! 377: #define B23 3 ! 378: #define B24 4 ! 379: #define B25 5 ! 380: #define B26 6 ! 381: #define B27 7 ! 382: #define B28 8 ! 383: #define B29 9 ! 384: ! 385: #define B30 0 ! 386: #define B31 1 ! 387: #define B32 2 ! 388: #define B33 3 ! 389: #define B34 4 ! 390: #define B35 5 ! 391: #define B36 6 ! 392: #define B37 7 ! 393: #define B38 8 ! 394: #define B39 9 ! 395: ! 396: #define B40 0 ! 397: #define B41 1 ! 398: #define B42 2 ! 399: #define B43 3 ! 400: #define B44 4 ! 401: #define B45 5 ! 402: #define B46 6 ! 403: #define B47 7 ! 404: #define B48 8 ! 405: #define B49 9 ! 406: ! 407: #define B50 0 ! 408: #define B51 1 ! 409: #define B52 2 ! 410: #define B53 3 ! 411: #define B54 4 ! 412: #define B55 5 ! 413: #define B56 6 ! 414: #define B57 7 ! 415: #define B58 8 ! 416: #define B59 9 ! 417: ! 418: #define B60 0 ! 419: #define B61 1 ! 420: #define B62 2 ! 421: #define B63 3 ! 422: #define B64 4 ! 423: #define B65 5 ! 424: #define B66 6 ! 425: #define B67 7 ! 426: #define B68 8 ! 427: #define B69 9 ! 428: ! 429: #define B70 0 ! 430: #define B71 1 ! 431: #define B72 2 ! 432: #define B73 3 ! 433: #define B74 4 ! 434: #define B75 5 ! 435: #define B76 6 ! 436: #define B77 7 ! 437: #define B78 8 ! 438: #define B79 9 ! 439: ! 440: #define B80 0 ! 441: #define B81 1 ! 442: #define B82 2 ! 443: #define B83 3 ! 444: #define B84 4 ! 445: #define B85 5 ! 446: #define B86 6 ! 447: #define B87 7 ! 448: #define B88 8 ! 449: #define B89 9 ! 450: ! 451: #define B90 0 ! 452: #define B91 1 ! 453: #define B92 2 ! 454: #define B93 3 ! 455: #define B94 4 ! 456: #define B95 5 ! 457: #define B96 6 ! 458: #define B97 7 ! 459: #define B98 8 ! 460: #define B99 9 ! 461: ! 462: #define C00 0 ! 463: #define C01 1 ! 464: #define C02 2 ! 465: #define C03 3 ! 466: #define C04 4 ! 467: #define C05 5 ! 468: #define C06 6 ! 469: #define C07 7 ! 470: #define C08 8 ! 471: #define C09 9 ! 472: ! 473: #define C10 0 ! 474: #define C11 1 ! 475: #define C12 2 ! 476: #define C13 3 ! 477: #define C14 4 ! 478: #define C15 5 ! 479: #define C16 6 ! 480: #define C17 7 ! 481: #define C18 8 ! 482: #define C19 9 ! 483: ! 484: #define C20 0 ! 485: #define C21 1 ! 486: #define C22 2 ! 487: #define C23 3 ! 488: #define C24 4 ! 489: #define C25 5 ! 490: #define C26 6 ! 491: #define C27 7 ! 492: #define C28 8 ! 493: #define C29 9 ! 494: ! 495: #define C30 0 ! 496: #define C31 1 ! 497: #define C32 2 ! 498: #define C33 3 ! 499: #define C34 4 ! 500: #define C35 5 ! 501: #define C36 6 ! 502: #define C37 7 ! 503: #define C38 8 ! 504: #define C39 9 ! 505: ! 506: #define C40 0 ! 507: #define C41 1 ! 508: #define C42 2 ! 509: #define C43 3 ! 510: #define C44 4 ! 511: #define C45 5 ! 512: #define C46 6 ! 513: #define C47 7 ! 514: #define C48 8 ! 515: #define C49 9 ! 516: ! 517: #define C50 0 ! 518: #define C51 1 ! 519: #define C52 2 ! 520: #define C53 3 ! 521: #define C54 4 ! 522: #define C55 5 ! 523: #define C56 6 ! 524: #define C57 7 ! 525: #define C58 8 ! 526: #define C59 9 ! 527: ! 528: #define C60 0 ! 529: #define C61 1 ! 530: #define C62 2 ! 531: #define C63 3 ! 532: #define C64 4 ! 533: #define C65 5 ! 534: #define C66 6 ! 535: #define C67 7 ! 536: #define C68 8 ! 537: #define C69 9 ! 538: ! 539: #define C70 0 ! 540: #define C71 1 ! 541: #define C72 2 ! 542: #define C73 3 ! 543: #define C74 4 ! 544: #define C75 5 ! 545: #define C76 6 ! 546: #define C77 7 ! 547: #define C78 8 ! 548: #define C79 9 ! 549: ! 550: #define C80 0 ! 551: #define C81 1 ! 552: #define C82 2 ! 553: #define C83 3 ! 554: #define C84 4 ! 555: #define C85 5 ! 556: #define C86 6 ! 557: #define C87 7 ! 558: #define C88 8 ! 559: #define C89 9 ! 560: ! 561: #define C90 0 ! 562: #define C91 1 ! 563: #define C92 2 ! 564: #define C93 3 ! 565: #define C94 4 ! 566: #define C95 5 ! 567: #define C96 6 ! 568: #define C97 7 ! 569: #define C98 8 ! 570: #define C99 9 ! 571: ! 572: #define D00 0 ! 573: #define D01 1 ! 574: #define D02 2 ! 575: #define D03 3 ! 576: #define D04 4 ! 577: #define D05 5 ! 578: #define D06 6 ! 579: #define D07 7 ! 580: #define D08 8 ! 581: #define D09 9 ! 582: ! 583: #define D10 0 ! 584: #define D11 1 ! 585: #define D12 2 ! 586: #define D13 3 ! 587: #define D14 4 ! 588: #define D15 5 ! 589: #define D16 6 ! 590: #define D17 7 ! 591: #define D18 8 ! 592: #define D19 9 ! 593: ! 594: #define D20 0 ! 595: #define D21 1 ! 596: #define D22 2 ! 597: #define D23 3 ! 598: #define D24 4 ! 599: #define D25 5 ! 600: #define D26 6 ! 601: #define D27 7 ! 602: #define D28 8 ! 603: #define D29 9 ! 604: ! 605: #define D30 0 ! 606: #define D31 1 ! 607: #define D32 2 ! 608: #define D33 3 ! 609: #define D34 4 ! 610: #define D35 5 ! 611: #define D36 6 ! 612: #define D37 7 ! 613: #define D38 8 ! 614: #define D39 9 ! 615: ! 616: #define D40 0 ! 617: #define D41 1 ! 618: #define D42 2 ! 619: #define D43 3 ! 620: #define D44 4 ! 621: #define D45 5 ! 622: #define D46 6 ! 623: #define D47 7 ! 624: #define D48 8 ! 625: #define D49 9 ! 626: ! 627: #define D50 0 ! 628: #define D51 1 ! 629: #define D52 2 ! 630: #define D53 3 ! 631: #define D54 4 ! 632: #define D55 5 ! 633: #define D56 6 ! 634: #define D57 7 ! 635: #define D58 8 ! 636: #define D59 9 ! 637: ! 638: #define D60 0 ! 639: #define D61 1 ! 640: #define D62 2 ! 641: #define D63 3 ! 642: #define D64 4 ! 643: #define D65 5 ! 644: #define D66 6 ! 645: #define D67 7 ! 646: #define D68 8 ! 647: #define D69 9 ! 648: ! 649: #define D70 0 ! 650: #define D71 1 ! 651: #define D72 2 ! 652: #define D73 3 ! 653: #define D74 4 ! 654: #define D75 5 ! 655: #define D76 6 ! 656: #define D77 7 ! 657: #define D78 8 ! 658: #define D79 9 ! 659: ! 660: #define D80 0 ! 661: #define D81 1 ! 662: #define D82 2 ! 663: #define D83 3 ! 664: #define D84 4 ! 665: #define D85 5 ! 666: #define D86 6 ! 667: #define D87 7 ! 668: #define D88 8 ! 669: #define D89 9 ! 670: ! 671: #define D90 0 ! 672: #define D91 1 ! 673: #define D92 2 ! 674: #define D93 3 ! 675: #define D94 4 ! 676: #define D95 5 ! 677: #define D96 6 ! 678: #define D97 7 ! 679: #define D98 8 ! 680: #define D99 9 ! 681: ! 682: #define E00 0 ! 683: #define E01 1 ! 684: #define E02 2 ! 685: #define E03 3 ! 686: #define E04 4 ! 687: #define E05 5 ! 688: #define E06 6 ! 689: #define E07 7 ! 690: #define E08 8 ! 691: #define E09 9 ! 692: ! 693: #define E10 0 ! 694: #define E11 1 ! 695: #define E12 2 ! 696: #define E13 3 ! 697: #define E14 4 ! 698: #define E15 5 ! 699: #define E16 6 ! 700: #define E17 7 ! 701: #define E18 8 ! 702: #define E19 9 ! 703: ! 704: #define E20 0 ! 705: #define E21 1 ! 706: #define E22 2 ! 707: #define E23 3 ! 708: #define E24 4 ! 709: #define E25 5 ! 710: #define E26 6 ! 711: #define E27 7 ! 712: #define E28 8 ! 713: #define E29 9 ! 714: ! 715: #define E30 0 ! 716: #define E31 1 ! 717: #define E32 2 ! 718: #define E33 3 ! 719: #define E34 4 ! 720: #define E35 5 ! 721: #define E36 6 ! 722: #define E37 7 ! 723: #define E38 8 ! 724: #define E39 9 ! 725: ! 726: #define E40 0 ! 727: #define E41 1 ! 728: #define E42 2 ! 729: #define E43 3 ! 730: #define E44 4 ! 731: #define E45 5 ! 732: #define E46 6 ! 733: #define E47 7 ! 734: #define E48 8 ! 735: #define E49 9 ! 736: ! 737: #define E50 0 ! 738: #define E51 1 ! 739: #define E52 2 ! 740: #define E53 3 ! 741: #define E54 4 ! 742: #define E55 5 ! 743: #define E56 6 ! 744: #define E57 7 ! 745: #define E58 8 ! 746: #define E59 9 ! 747: ! 748: #define E60 0 ! 749: #define E61 1 ! 750: #define E62 2 ! 751: #define E63 3 ! 752: #define E64 4 ! 753: #define E65 5 ! 754: #define E66 6 ! 755: #define E67 7 ! 756: #define E68 8 ! 757: #define E69 9 ! 758: ! 759: #define E70 0 ! 760: #define E71 1 ! 761: #define E72 2 ! 762: #define E73 3 ! 763: #define E74 4 ! 764: #define E75 5 ! 765: #define E76 6 ! 766: #define E77 7 ! 767: #define E78 8 ! 768: #define E79 9 ! 769: ! 770: #define E80 0 ! 771: #define E81 1 ! 772: #define E82 2 ! 773: #define E83 3 ! 774: #define E84 4 ! 775: #define E85 5 ! 776: #define E86 6 ! 777: #define E87 7 ! 778: #define E88 8 ! 779: #define E89 9 ! 780: ! 781: #define E90 0 ! 782: #define E91 1 ! 783: #define E92 2 ! 784: #define E93 3 ! 785: #define E94 4 ! 786: #define E95 5 ! 787: #define E96 6 ! 788: #define E97 7 ! 789: #define E98 8 ! 790: #define E99 9 ! 791: ! 792: #define F00 0 ! 793: #define F01 1 ! 794: #define F02 2 ! 795: #define F03 3 ! 796: #define F04 4 ! 797: #define F05 5 ! 798: #define F06 6 ! 799: #define F07 7 ! 800: #define F08 8 ! 801: #define F09 9 ! 802: ! 803: #define F10 0 ! 804: #define F11 1 ! 805: #define F12 2 ! 806: #define F13 3 ! 807: #define F14 4 ! 808: #define F15 5 ! 809: #define F16 6 ! 810: #define F17 7 ! 811: #define F18 8 ! 812: #define F19 9 ! 813: ! 814: #define F20 0 ! 815: #define F21 1 ! 816: #define F22 2 ! 817: #define F23 3 ! 818: #define F24 4 ! 819: #define F25 5 ! 820: #define F26 6 ! 821: #define F27 7 ! 822: #define F28 8 ! 823: #define F29 9 ! 824: ! 825: #define F30 0 ! 826: #define F31 1 ! 827: #define F32 2 ! 828: #define F33 3 ! 829: #define F34 4 ! 830: #define F35 5 ! 831: #define F36 6 ! 832: #define F37 7 ! 833: #define F38 8 ! 834: #define F39 9 ! 835: ! 836: #define F40 0 ! 837: #define F41 1 ! 838: #define F42 2 ! 839: #define F43 3 ! 840: #define F44 4 ! 841: #define F45 5 ! 842: #define F46 6 ! 843: #define F47 7 ! 844: #define F48 8 ! 845: #define F49 9 ! 846: ! 847: #define F50 0 ! 848: #define F51 1 ! 849: #define F52 2 ! 850: #define F53 3 ! 851: #define F54 4 ! 852: #define F55 5 ! 853: #define F56 6 ! 854: #define F57 7 ! 855: #define F58 8 ! 856: #define F59 9 ! 857: ! 858: #define F60 0 ! 859: #define F61 1 ! 860: #define F62 2 ! 861: #define F63 3 ! 862: #define F64 4 ! 863: #define F65 5 ! 864: #define F66 6 ! 865: #define F67 7 ! 866: #define F68 8 ! 867: #define F69 9 ! 868: ! 869: #define F70 0 ! 870: #define F71 1 ! 871: #define F72 2 ! 872: #define F73 3 ! 873: #define F74 4 ! 874: #define F75 5 ! 875: #define F76 6 ! 876: #define F77 7 ! 877: #define F78 8 ! 878: #define F79 9 ! 879: ! 880: #define F80 0 ! 881: #define F81 1 ! 882: #define F82 2 ! 883: #define F83 3 ! 884: #define F84 4 ! 885: #define F85 5 ! 886: #define F86 6 ! 887: #define F87 7 ! 888: #define F88 8 ! 889: #define F89 9 ! 890: ! 891: #define F90 0 ! 892: #define F91 1 ! 893: #define F92 2 ! 894: #define F93 3 ! 895: #define F94 4 ! 896: #define F95 5 ! 897: #define F96 6 ! 898: #define F97 7 ! 899: #define F98 8 ! 900: #define F99 9 ! 901: ! 902: #define G00 0 ! 903: #define G01 1 ! 904: #define G02 2 ! 905: #define G03 3 ! 906: #define G04 4 ! 907: #define G05 5 ! 908: #define G06 6 ! 909: #define G07 7 ! 910: #define G08 8 ! 911: #define G09 9 ! 912: ! 913: #define G10 0 ! 914: #define G11 1 ! 915: #define G12 2 ! 916: #define G13 3 ! 917: #define G14 4 ! 918: #define G15 5 ! 919: #define G16 6 ! 920: #define G17 7 ! 921: #define G18 8 ! 922: #define G19 9 ! 923: ! 924: #define G20 0 ! 925: #define G21 1 ! 926: #define G22 2 ! 927: #define G23 3 ! 928: #define G24 4 ! 929: #define G25 5 ! 930: #define G26 6 ! 931: #define G27 7 ! 932: #define G28 8 ! 933: #define G29 9 ! 934: ! 935: #define G30 0 ! 936: #define G31 1 ! 937: #define G32 2 ! 938: #define G33 3 ! 939: #define G34 4 ! 940: #define G35 5 ! 941: #define G36 6 ! 942: #define G37 7 ! 943: #define G38 8 ! 944: #define G39 9 ! 945: ! 946: #define G40 0 ! 947: #define G41 1 ! 948: #define G42 2 ! 949: #define G43 3 ! 950: #define G44 4 ! 951: #define G45 5 ! 952: #define G46 6 ! 953: #define G47 7 ! 954: #define G48 8 ! 955: #define G49 9 ! 956: ! 957: #define G50 0 ! 958: #define G51 1 ! 959: #define G52 2 ! 960: #define G53 3 ! 961: #define G54 4 ! 962: #define G55 5 ! 963: #define G56 6 ! 964: #define G57 7 ! 965: #define G58 8 ! 966: #define G59 9 ! 967: ! 968: #define G60 0 ! 969: #define G61 1 ! 970: #define G62 2 ! 971: #define G63 3 ! 972: #define G64 4 ! 973: #define G65 5 ! 974: #define G66 6 ! 975: #define G67 7 ! 976: #define G68 8 ! 977: #define G69 9 ! 978: ! 979: #define G70 0 ! 980: #define G71 1 ! 981: #define G72 2 ! 982: #define G73 3 ! 983: #define G74 4 ! 984: #define G75 5 ! 985: #define G76 6 ! 986: #define G77 7 ! 987: #define G78 8 ! 988: #define G79 9 ! 989: ! 990: #define G80 0 ! 991: #define G81 1 ! 992: #define G82 2 ! 993: #define G83 3 ! 994: #define G84 4 ! 995: #define G85 5 ! 996: #define G86 6 ! 997: #define G87 7 ! 998: #define G88 8 ! 999: #define G89 9 ! 1000: ! 1001: #define G90 0 ! 1002: #define G91 1 ! 1003: #define G92 2 ! 1004: #define G93 3 ! 1005: #define G94 4 ! 1006: #define G95 5 ! 1007: #define G96 6 ! 1008: #define G97 7 ! 1009: #define G98 8 ! 1010: #define G99 9 ! 1011: ! 1012: #define H00 0 ! 1013: #define H01 1 ! 1014: #define H02 2 ! 1015: #define H03 3 ! 1016: #define H04 4 ! 1017: #define H05 5 ! 1018: #define H06 6 ! 1019: #define H07 7 ! 1020: #define H08 8 ! 1021: #define H09 9 ! 1022: ! 1023: #define H10 0 ! 1024: #define H11 1 ! 1025: #define H12 2 ! 1026: #define H13 3 ! 1027: #define H14 4 ! 1028: #define H15 5 ! 1029: #define H16 6 ! 1030: #define H17 7 ! 1031: #define H18 8 ! 1032: #define H19 9 ! 1033: ! 1034: #define H20 0 ! 1035: #define H21 1 ! 1036: #define H22 2 ! 1037: #define H23 3 ! 1038: #define H24 4 ! 1039: #define H25 5 ! 1040: #define H26 6 ! 1041: #define H27 7 ! 1042: #define H28 8 ! 1043: #define H29 9 ! 1044: ! 1045: #define H30 0 ! 1046: #define H31 1 ! 1047: #define H32 2 ! 1048: #define H33 3 ! 1049: #define H34 4 ! 1050: #define H35 5 ! 1051: #define H36 6 ! 1052: #define H37 7 ! 1053: #define H38 8 ! 1054: #define H39 9 ! 1055: ! 1056: #define H40 0 ! 1057: #define H41 1 ! 1058: #define H42 2 ! 1059: #define H43 3 ! 1060: #define H44 4 ! 1061: #define H45 5 ! 1062: #define H46 6 ! 1063: #define H47 7 ! 1064: #define H48 8 ! 1065: #define H49 9 ! 1066: ! 1067: #define H50 0 ! 1068: #define H51 1 ! 1069: #define H52 2 ! 1070: #define H53 3 ! 1071: #define H54 4 ! 1072: #define H55 5 ! 1073: #define H56 6 ! 1074: #define H57 7 ! 1075: #define H58 8 ! 1076: #define H59 9 ! 1077: ! 1078: #define H60 0 ! 1079: #define H61 1 ! 1080: #define H62 2 ! 1081: #define H63 3 ! 1082: #define H64 4 ! 1083: #define H65 5 ! 1084: #define H66 6 ! 1085: #define H67 7 ! 1086: #define H68 8 ! 1087: #define H69 9 ! 1088: ! 1089: #define H70 0 ! 1090: #define H71 1 ! 1091: #define H72 2 ! 1092: #define H73 3 ! 1093: #define H74 4 ! 1094: #define H75 5 ! 1095: #define H76 6 ! 1096: #define H77 7 ! 1097: #define H78 8 ! 1098: #define H79 9 ! 1099: ! 1100: #define H80 0 ! 1101: #define H81 1 ! 1102: #define H82 2 ! 1103: #define H83 3 ! 1104: #define H84 4 ! 1105: #define H85 5 ! 1106: #define H86 6 ! 1107: #define H87 7 ! 1108: #define H88 8 ! 1109: #define H89 9 ! 1110: ! 1111: #define H90 0 ! 1112: #define H91 1 ! 1113: #define H92 2 ! 1114: #define H93 3 ! 1115: #define H94 4 ! 1116: #define H95 5 ! 1117: #define H96 6 ! 1118: #define H97 7 ! 1119: #define H98 8 ! 1120: #define H99 9 ! 1121: ! 1122: #define I00 0 ! 1123: #define I01 1 ! 1124: #define I02 2 ! 1125: #define I03 3 ! 1126: #define I04 4 ! 1127: #define I05 5 ! 1128: #define I06 6 ! 1129: #define I07 7 ! 1130: #define I08 8 ! 1131: #define I09 9 ! 1132: ! 1133: #define I10 0 ! 1134: #define I11 1 ! 1135: #define I12 2 ! 1136: #define I13 3 ! 1137: #define I14 4 ! 1138: #define I15 5 ! 1139: #define I16 6 ! 1140: #define I17 7 ! 1141: #define I18 8 ! 1142: #define I19 9 ! 1143: ! 1144: #define I20 0 ! 1145: #define I21 1 ! 1146: #define I22 2 ! 1147: #define I23 3 ! 1148: #define I24 4 ! 1149: #define I25 5 ! 1150: #define I26 6 ! 1151: #define I27 7 ! 1152: #define I28 8 ! 1153: #define I29 9 ! 1154: ! 1155: #define I30 0 ! 1156: #define I31 1 ! 1157: #define I32 2 ! 1158: #define I33 3 ! 1159: #define I34 4 ! 1160: #define I35 5 ! 1161: #define I36 6 ! 1162: #define I37 7 ! 1163: #define I38 8 ! 1164: #define I39 9 ! 1165: ! 1166: #define I40 0 ! 1167: #define I41 1 ! 1168: #define I42 2 ! 1169: #define I43 3 ! 1170: #define I44 4 ! 1171: #define I45 5 ! 1172: #define I46 6 ! 1173: #define I47 7 ! 1174: #define I48 8 ! 1175: #define I49 9 ! 1176: ! 1177: #define I50 0 ! 1178: #define I51 1 ! 1179: #define I52 2 ! 1180: #define I53 3 ! 1181: #define I54 4 ! 1182: #define I55 5 ! 1183: #define I56 6 ! 1184: #define I57 7 ! 1185: #define I58 8 ! 1186: #define I59 9 ! 1187: ! 1188: #define I60 0 ! 1189: #define I61 1 ! 1190: #define I62 2 ! 1191: #define I63 3 ! 1192: #define I64 4 ! 1193: #define I65 5 ! 1194: #define I66 6 ! 1195: #define I67 7 ! 1196: #define I68 8 ! 1197: #define I69 9 ! 1198: ! 1199: #define I70 0 ! 1200: #define I71 1 ! 1201: #define I72 2 ! 1202: #define I73 3 ! 1203: #define I74 4 ! 1204: #define I75 5 ! 1205: #define I76 6 ! 1206: #define I77 7 ! 1207: #define I78 8 ! 1208: #define I79 9 ! 1209: ! 1210: #define I80 0 ! 1211: #define I81 1 ! 1212: #define I82 2 ! 1213: #define I83 3 ! 1214: #define I84 4 ! 1215: #define I85 5 ! 1216: #define I86 6 ! 1217: #define I87 7 ! 1218: #define I88 8 ! 1219: #define I89 9 ! 1220: ! 1221: #define I90 0 ! 1222: #define I91 1 ! 1223: #define I92 2 ! 1224: #define I93 3 ! 1225: #define I94 4 ! 1226: #define I95 5 ! 1227: #define I96 6 ! 1228: #define I97 7 ! 1229: #define I98 8 ! 1230: #define I99 9 ! 1231: ! 1232: #define J00 0 ! 1233: #define J01 1 ! 1234: #define J02 2 ! 1235: #define J03 3 ! 1236: #define J04 4 ! 1237: #define J05 5 ! 1238: #define J06 6 ! 1239: #define J07 7 ! 1240: #define J08 8 ! 1241: #define J09 9 ! 1242: ! 1243: #define J10 0 ! 1244: #define J11 1 ! 1245: #define J12 2 ! 1246: #define J13 3 ! 1247: #define J14 4 ! 1248: #define J15 5 ! 1249: #define J16 6 ! 1250: #define J17 7 ! 1251: #define J18 8 ! 1252: #define J19 9 ! 1253: ! 1254: #define J20 0 ! 1255: #define J21 1 ! 1256: #define J22 2 ! 1257: #define J23 3 ! 1258: #define J24 4 ! 1259: #define J25 5 ! 1260: #define J26 6 ! 1261: #define J27 7 ! 1262: #define J28 8 ! 1263: #define J29 9 ! 1264: ! 1265: #define J30 0 ! 1266: #define J31 1 ! 1267: #define J32 2 ! 1268: #define J33 3 ! 1269: #define J34 4 ! 1270: #define J35 5 ! 1271: #define J36 6 ! 1272: #define J37 7 ! 1273: #define J38 8 ! 1274: #define J39 9 ! 1275: ! 1276: #define J40 0 ! 1277: #define J41 1 ! 1278: #define J42 2 ! 1279: #define J43 3 ! 1280: #define J44 4 ! 1281: #define J45 5 ! 1282: #define J46 6 ! 1283: #define J47 7 ! 1284: #define J48 8 ! 1285: #define J49 9 ! 1286: ! 1287: #define J50 0 ! 1288: #define J51 1 ! 1289: #define J52 2 ! 1290: #define J53 3 ! 1291: #define J54 4 ! 1292: #define J55 5 ! 1293: #define J56 6 ! 1294: #define J57 7 ! 1295: #define J58 8 ! 1296: #define J59 9 ! 1297: ! 1298: #define J60 0 ! 1299: #define J61 1 ! 1300: #define J62 2 ! 1301: #define J63 3 ! 1302: #define J64 4 ! 1303: #define J65 5 ! 1304: #define J66 6 ! 1305: #define J67 7 ! 1306: #define J68 8 ! 1307: #define J69 9 ! 1308: ! 1309: #define J70 0 ! 1310: #define J71 1 ! 1311: #define J72 2 ! 1312: #define J73 3 ! 1313: #define J74 4 ! 1314: #define J75 5 ! 1315: #define J76 6 ! 1316: #define J77 7 ! 1317: #define J78 8 ! 1318: #define J79 9 ! 1319: ! 1320: #define J80 0 ! 1321: #define J81 1 ! 1322: #define J82 2 ! 1323: #define J83 3 ! 1324: #define J84 4 ! 1325: #define J85 5 ! 1326: #define J86 6 ! 1327: #define J87 7 ! 1328: #define J88 8 ! 1329: #define J89 9 ! 1330: ! 1331: #define J90 0 ! 1332: #define J91 1 ! 1333: #define J92 2 ! 1334: #define J93 3 ! 1335: #define J94 4 ! 1336: #define J95 5 ! 1337: #define J96 6 ! 1338: #define J97 7 ! 1339: #define J98 8 ! 1340: #define J99 9 ! 1341: ! 1342: #define K00 0 ! 1343: #define K01 1 ! 1344: #define K02 2 ! 1345: #define K03 3 ! 1346: #define K04 4 ! 1347: #define K05 5 ! 1348: #define K06 6 ! 1349: #define K07 7 ! 1350: #define K08 8 ! 1351: #define K09 9 ! 1352: #define K10 0 ! 1353: #define K11 1 ! 1354: #define K12 2 ! 1355: #define K13 3 ! 1356: ! 1357: verify(__LINE__, A00 == 0 && K13 == 3); ! 1358: } ! 1359: ! 1360: /* #11: 31 parameters in one function definition and call */ ! 1361: { ! 1362: char buf[40]; ! 1363: ! 1364: cat31(buf, /* target + dummy + 29 args */ ! 1365: 0, ! 1366: '1','2','3','4','5','6','7','8','9','0', ! 1367: '1','2','3','4','5','6','7','8','9','0', ! 1368: '1','2','3','4','5','6','7','8','9'); ! 1369: verify(__LINE__, 0 == str_cmp(buf, "12345678901234567890123456789")); ! 1370: } ! 1371: ! 1372: /* #12: 31 parameters in one macro definition and invocation */ ! 1373: { ! 1374: #define MUL31(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E) \ ! 1375: a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*A*B*C*D*E ! 1376: ! 1377: verify(__LINE__, 0x40000000L == ! 1378: MUL31(1L,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2)); ! 1379: ! 1380: } ! 1381: ! 1382: /* #13: 509 characters in a logical source line */ ! 1383: /* #14: 509 characters in a string literal (after concatenation) */ ! 1384: { ! 1385: static char buf[510] = ! 1386: "\ ! 1387: 1234567890123456789012345678901234567890123456789012345678901234567890\ ! 1388: 1234567890123456789012345678901234567890123456789012345678901234567890\ ! 1389: 1234567890123456789012345678901234567890123456789012345678901234567890\ ! 1390: 1234567890123456789012345678901234567890123456789012345678901234567890\ ! 1391: 1234567890123456789012345678901234567890123456789012345678901234567890\ ! 1392: 1234567890123456789012345678901234567890123456789012345678901234567890\ ! 1393: 1234567890123456789012345678901234567890123456789012345678901234567890\ ! 1394: 12345678901234567" ! 1395: "89"; ! 1396: /* 2 quotes + 7x70 digits + 17 digits = 509 */ ! 1397: /* 507 catenated with 2 = 509 */ ! 1398: ! 1399: verify(__LINE__, str_len(buf) == 509 && buf[str_len(buf)-1] == '9'); ! 1400: } /* end #13 and #14 */ ! 1401: #ifndef FREESTANDING ! 1402: /* #15: 32767 bytes in an object (hosted environment only) */ ! 1403: { ! 1404: static unsigned char buf[32767] = {0}; ! 1405: long i; ! 1406: ! 1407: for (i = 0; i < 32767; ++i) ! 1408: buf[i] = i % 251; ! 1409: for (i = 0; i < 32767; ++i) ! 1410: verify(__LINE__, buf[i] == i % 251); ! 1411: } ! 1412: #endif /* !FREESTANDING */ ! 1413: /* #16: 8 nesting levels for #included files */ ! 1414: /* b22411.h includes b22412.h, etc. to b22418.h: ! 1415: * b22411.h: ! 1416: * #include "b22412.h" ! 1417: * b22412.h: ! 1418: * #include "b22413.h" ! 1419: * b22413.h: ! 1420: * #include "b22414.h" ! 1421: * b22414.h: ! 1422: * #include "b22415.h" ! 1423: * b22415.h: ! 1424: * #include "b22416.h" ! 1425: * b22416.h: ! 1426: * #include "b22417.h" ! 1427: * b22417.h: ! 1428: * #include "b22418.h" ! 1429: * b22418.h: ! 1430: * #define b22418_INCLUDED 12345678 ! 1431: */ ! 1432: #include "b22411.h" ! 1433: { ! 1434: verify(__LINE__, b22418_INCLUDED == 12345678); ! 1435: } ! 1436: ! 1437: /* #17: 257 case labels in a switch statement (ANSI8703 changed from 255) */ ! 1438: { ! 1439: short i = 101; ! 1440: ! 1441: switch (i) { ! 1442: case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109: ! 1443: break; ! 1444: case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119: ! 1445: case 120:case 121:case 122:case 123:case 124:case 125:case 126:case 127:case 128:case 129: ! 1446: case 130:case 131:case 132:case 133:case 134:case 135:case 136:case 137:case 138:case 139: ! 1447: case 140:case 141:case 142:case 143:case 144:case 145:case 146:case 147:case 148:case 149: ! 1448: verify(__LINE__, 0); /* fail, if reached here */ ! 1449: case 150:case 151:case 152:case 153:case 154:case 155:case 156:case 157:case 158:case 159: ! 1450: case 160:case 161:case 162:case 163:case 164:case 165:case 166:case 167:case 168:case 169: ! 1451: case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 178:case 179: ! 1452: case 180:case 181:case 182:case 183:case 184:case 185:case 186:case 187:case 188:case 189: ! 1453: case 190:case 191:case 192:case 193:case 194:case 195:case 196:case 197:case 198:case 199: ! 1454: /* 100 cases */ ! 1455: verify(__LINE__, 0); ! 1456: case 200:case 201:case 202:case 203:case 204:case 205:case 206:case 207:case 208:case 209: ! 1457: case 210:case 211:case 212:case 213:case 214:case 215:case 216:case 217:case 218:case 219: ! 1458: case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229: ! 1459: case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239: ! 1460: case 240:case 241:case 242:case 243:case 244:case 245:case 246:case 247:case 248:case 249: ! 1461: case 250:case 251:case 252:case 253:case 254:case 255:case 256:case 257:case 258:case 259: ! 1462: case 260:case 261:case 262:case 263:case 264:case 265:case 266:case 267:case 268:case 269: ! 1463: case 270:case 271:case 272:case 273:case 274:case 275:case 276:case 277:case 278:case 279: ! 1464: case 280:case 281:case 282:case 283:case 284:case 285:case 286:case 287:case 288:case 289: ! 1465: case 290:case 291:case 292:case 293:case 294:case 295:case 296:case 297:case 298:case 299: ! 1466: /* 200 cases */ ! 1467: verify(__LINE__, 0); ! 1468: case 300:case 301:case 302:case 303:case 304:case 305:case 306:case 307:case 308:case 309: ! 1469: case 310:case 311:case 312:case 313:case 314:case 315:case 316:case 317:case 318:case 319: ! 1470: case 320:case 321:case 322:case 323:case 324:case 325:case 326:case 327:case 328:case 329: ! 1471: case 330:case 331:case 332:case 333:case 334:case 335:case 336:case 337:case 338:case 339: ! 1472: case 340:case 341:case 342:case 343:case 344:case 345:case 346:case 347:case 348:case 349: ! 1473: /* 250 cases */ ! 1474: case 350: case 351: case 352: case 353: case 354: case 355: case 356: ! 1475: /* 257 cases */ ! 1476: verify(__LINE__, 0); ! 1477: } /* end of switch */ ! 1478: } /* end of #17 */ ! 1479: ! 1480: /* #18: 127 members in a single structure or union */ ! 1481: { ! 1482: struct s127 { ! 1483: int i00, i01, i02, i03, i04, i05, i06, i07, i08, i09; ! 1484: int i10, i11, i12, i13, i14, i15, i16, i17, i18, i19; ! 1485: int i20, i21, i22, i23, i24, i25, i26, i27, i28, i29; ! 1486: int i30, i31, i32, i33, i34, i35, i36, i37, i38, i39; ! 1487: int i40, i41, i42, i43, i44, i45, i46, i47, i48, i49; ! 1488: int i50, i51, i52, i53, i54, i55, i56, i57, i58, i59; ! 1489: int i60, i61, i62, i63, i64, i65, i66, i67, i68, i69; ! 1490: int i70, i71, i72, i73, i74, i75, i76, i77, i78, i79; ! 1491: int i80, i81, i82, i83, i84, i85, i86, i87, i88, i89; ! 1492: int i90, i91, i92, i93, i94, i95, i96, i97, i98, i99; ! 1493: int i100, i101, i102, i103, i104, i105, i106, i107, i108, i109; ! 1494: int i110, i111, i112, i113, i114, i115, i116, i117, i118, i119; ! 1495: int i120, i121, i122, i123, i124, i125, i126; ! 1496: } s127 = {0, 1, 2, 0}; ! 1497: verify(__LINE__, s127.i01 == 1); ! 1498: verify(__LINE__, s127.i126 == 0); ! 1499: } ! 1500: ! 1501: ! 1502: /* #19: 127 enumeration constants in a single enumeration */ ! 1503: { ! 1504: enum e127 { ! 1505: EN00, EN01, EN02, EN03, EN04, EN05, EN06, EN07, EN08, EN09, ! 1506: EN10, EN11, EN12, EN13, EN14, EN15, EN16, EN17, EN18, EN19, ! 1507: EN20, EN21, EN22, EN23, EN24, EN25, EN26, EN27, EN28, EN29, ! 1508: EN30, EN31, EN32, EN33, EN34, EN35, EN36, EN37, EN38, EN39, ! 1509: EN40, EN41, EN42, EN43, EN44, EN45, EN46, EN47, EN48, EN49, ! 1510: EN50, EN51, EN52, EN53, EN54, EN55, EN56, EN57, EN58, EN59, ! 1511: EN60, EN61, EN62, EN63, EN64, EN65, EN66, EN67, EN68, EN69, ! 1512: EN70, EN71, EN72, EN73, EN74, EN75, EN76, EN77, EN78, EN79, ! 1513: EN80, EN81, EN82, EN83, EN84, EN85, EN86, EN87, EN88, EN89, ! 1514: EN90, EN91, EN92, EN93, EN94, EN95, EN96, EN97, EN98, EN99, ! 1515: EN100, EN101, EN102, EN103, EN104, EN105, EN106, EN107, EN108, EN109, ! 1516: EN110, EN111, EN112, EN113, EN114, EN115, EN116, EN117, EN118, EN119, ! 1517: EN120, EN121, EN122, EN123, EN124, EN125, EN126 ! 1518: } e127 = {EN126}; ! 1519: verify(__LINE__, e127 == 126); ! 1520: verify(__LINE__, EN125 == 125); ! 1521: } ! 1522: ! 1523: /* #20: 15 levels of nested structure or union definitions in a single struct-declaraction list */ ! 1524: { ! 1525: struct { /* 1 */ ! 1526: struct { /* 2 */ ! 1527: struct { /* 3 */ ! 1528: struct { /* 4 */ ! 1529: struct { /* 5 */ ! 1530: struct { /* 6 */ ! 1531: struct { /* 7 */ ! 1532: struct { /* 8 */ ! 1533: struct { /* 9 */ ! 1534: struct { /* 10 */ ! 1535: struct { /* 11 */ ! 1536: struct { /* 12 */ ! 1537: struct { /* 13 */ ! 1538: struct { /* 14 */ ! 1539: struct { /* 15 */ ! 1540: int i; ! 1541: } s15; ! 1542: } s14; ! 1543: } s13; ! 1544: } s12; ! 1545: } s11; ! 1546: } s10; ! 1547: } s9; ! 1548: } s8; ! 1549: } s7; ! 1550: } s6; ! 1551: } s5; ! 1552: } s4; ! 1553: } s3; ! 1554: } s2; ! 1555: } s1 = { 99 }; ! 1556: ! 1557: verify(__LINE__, s1.s2.s3.s4.s5.s6.s7.s8.s9.s10.s11.s12.s13.s14.s15.i == 99); ! 1558: } ! 1559: ! 1560: if (errs == 0) ! 1561: {} ! 1562: else ! 1563: { ! 1564: printf("***** 0 successful tests in CAPACITY *****\n", 0); ! 1565: printf("***** %d errors detected in CAPACITY *****\n", errs); ! 1566: printf("***** 0 skipped sections in CAPACITY *****\n", 0); ! 1567: } ! 1568: ! 1569: return 0; ! 1570: } /* end of main */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.