Annotation of researchv10no/cmd/lcc/ph/capacity.c, revision 1.1

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 */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.