Annotation of researchv10dc/cmd/lcc/ph/prec2b.c, revision 1.1.1.1

1.1       root        1: /* The Plum Hall Validation Suite for C
                      2:  * Unpublished copyright (c) 1986-1991, Chiron Systems Inc and Plum Hall Inc.
                      3:  * VERSION: 4
                      4:  * DATE: 1993-01-01
                      5:  * The "ANSI" mode of this suite corresponds to official ANSI C, X3.159-1989.
                      6:  * As per your license agreement, your distribution is not to be moved or copied outside the Designated Site
                      7:  * without specific permission from Plum Hall Inc.
                      8:  */
                      9: 
                     10: /*
                     11:  * PREC2B - the fourth quarter of precedence checking 
                     12:  */
                     13: #include "defs.h"
                     14: 
                     15: static void p2_17();
                     16: static void p2_18();
                     17: static void p2_19();
                     18: static void p2_20();
                     19: static void p2_21();
                     20: static void p2_22();
                     21: static void p2_23();
                     22: static void p2_24();
                     23: static void p2_25();
                     24: static void p2_26();
                     25: static void p2_27();
                     26: static void p2_28();
                     27: static void p2_29();
                     28: static void p2_30();
                     29: static void p2_31();
                     30: static void p2_32();
                     31: static void p2_33();
                     32: static void p2_34();
                     33: static void p2_35();
                     34: 
                     35: void prec2b()
                     36:        {
                     37:        Filename = "prec2b.c";
                     38:        p2_17();        /* * */
                     39:        p2_18();        /* / */
                     40:        p2_19();        /* % */
                     41:        p2_20();        /* + */
                     42:        p2_21();        /* - */
                     43:        p2_22();        /* >> */
                     44:        p2_23();        /* << */
                     45:        p2_24();        /* > */
                     46:        p2_25();        /* < */
                     47:        p2_26();        /* >= */
                     48:        p2_27();        /* <= */
                     49:        p2_28();        /* == */
                     50:        p2_29();        /* != */
                     51:        p2_30();        /* & */
                     52:        p2_31();        /* ^ */
                     53:        p2_32();        /* | */
                     54:        p2_33();        /* && */
                     55:        p2_34();        /* || */
                     56:        p2_35();        /* ?: */
                     57:        }
                     58: 
                     59: /* Z op X*Y */
                     60: static void p2_17()
                     61:        {
                     62:        int i = 7;
                     63:        int j = 3;
                     64:        int k = 2;
                     65:        iequals(__LINE__, i/j*k, 4);
                     66:        iequals(__LINE__, i%j*k, 2);
                     67:        iequals(__LINE__, i+j*k, 13);
                     68:        iequals(__LINE__, i-j*k, 1);
                     69:        iequals(__LINE__, i>>j*k, 0);
                     70:        iequals(__LINE__, i<<j*k, 448);
                     71:        iequals(__LINE__, i>j*k, 1);
                     72:        iequals(__LINE__, i<j*k, 0);
                     73:        iequals(__LINE__, i<=j*k, 0);
                     74:        iequals(__LINE__, i>=j*k, 1);
                     75:        iequals(__LINE__, i==j*k, 0);
                     76:        iequals(__LINE__, i!=j*k, 1);
                     77:        iequals(__LINE__, i&j*k, 6);
                     78:        iequals(__LINE__, i^j*k, 1);
                     79:        iequals(__LINE__, i|j*k, 7);
                     80:        iequals(__LINE__, i&&j*k, 1);
                     81:        iequals(__LINE__, i||j*k, 1);
                     82:        iequals(__LINE__, i?j*k:0, 6);
                     83:        iequals(__LINE__, i=j*k, 6);
                     84:        iequals(__LINE__, i*=j*k, 36);
                     85:        iequals(__LINE__, i/=j*k, 6);
                     86:        iequals(__LINE__, i%=j*k, 0);
                     87:        iequals(__LINE__, i+=j*k, 6);
                     88:        i = 8;
                     89:        iequals(__LINE__, i-=j*k, 2);
                     90:        iequals(__LINE__, i<<=j*k, 128);
                     91:        iequals(__LINE__, i>>=j*k, 2);
                     92:        iequals(__LINE__, i&=j*k, 2);
                     93:        iequals(__LINE__, i^=j*k, 4);
                     94:        iequals(__LINE__, i|=j*k, 6);
                     95:        iequals(__LINE__, (i,j*k), 6);
                     96:        }
                     97: 
                     98: /* Z op X/Y */
                     99: static void p2_18()
                    100:        {
                    101:        int i = 7;
                    102:        int j = 4;
                    103:        int k = 2;
                    104:        iequals(__LINE__, i/j/k, 0);
                    105:        iequals(__LINE__, i%j/k, 1);
                    106:        iequals(__LINE__, i+j/k, 9);
                    107:        iequals(__LINE__, i-j/k, 5);
                    108:        iequals(__LINE__, i>>j/k, 1);
                    109:        iequals(__LINE__, i<<j/k, 28);
                    110:        iequals(__LINE__, i>j/k, 1);
                    111:        iequals(__LINE__, i<j/k, 0);
                    112:        iequals(__LINE__, i<=j/k, 0);
                    113:        iequals(__LINE__, i>=j/k, 1);
                    114:        iequals(__LINE__, i==j/k, 0);
                    115:        iequals(__LINE__, i!=j/k, 1);
                    116:        iequals(__LINE__, i&j/k, 2);
                    117:        iequals(__LINE__, i^j/k, 5);
                    118:        iequals(__LINE__, i|j/k, 7);
                    119:        iequals(__LINE__, i&&j/k, 1);
                    120:        iequals(__LINE__, i||j/k, 1);
                    121:        iequals(__LINE__, i?j/k:0, 2);
                    122:        iequals(__LINE__, i=j/k, 2);
                    123:        iequals(__LINE__, i*=j/k, 4);
                    124:        iequals(__LINE__, i/=j/k, 2);
                    125:        iequals(__LINE__, i%=j/k, 0);
                    126:        iequals(__LINE__, i+=j/k, 2);
                    127:        i = 3;
                    128:        iequals(__LINE__, i-=j/k, 1);
                    129:        iequals(__LINE__, i<<=j/k, 4);
                    130:        iequals(__LINE__, i>>=j/k, 1);
                    131:        iequals(__LINE__, i&=j/k, 0);
                    132:        iequals(__LINE__, i^=j/k, 2);
                    133:        iequals(__LINE__, i|=j/k, 2);
                    134:        iequals(__LINE__, (i,j/k), 2);
                    135:        }
                    136: 
                    137: /* Z op X%Y */
                    138: static void p2_19()
                    139:        {
                    140:        int i = 7;
                    141:        int j = 6;
                    142:        int k = 4;
                    143:        iequals(__LINE__, i%j%k, 1);
                    144:        iequals(__LINE__, i+j%k, 9);
                    145:        iequals(__LINE__, i-j%k, 5);
                    146:        iequals(__LINE__, i>>j%k, 1);
                    147:        iequals(__LINE__, i<<j%k, 28);
                    148:        iequals(__LINE__, i>j%k, 1);
                    149:        iequals(__LINE__, i<j%k, 0);
                    150:        iequals(__LINE__, i<=j%k, 0);
                    151:        iequals(__LINE__, i>=j%k, 1);
                    152:        iequals(__LINE__, i==j%k, 0);
                    153:        iequals(__LINE__, i!=j%k, 1);
                    154:        iequals(__LINE__, i&j%k, 2);
                    155:        iequals(__LINE__, i^j%k, 5);
                    156:        iequals(__LINE__, i|j%k, 7);
                    157:        iequals(__LINE__, i&&j%k, 1);
                    158:        iequals(__LINE__, i||j%k, 1);
                    159:        iequals(__LINE__, i?j%k:0, 2);
                    160:        iequals(__LINE__, i=j%k, 2);
                    161:        iequals(__LINE__, i*=j%k, 4);
                    162:        iequals(__LINE__, i/=j%k, 2);
                    163:        iequals(__LINE__, i%=j%k, 0);
                    164:        iequals(__LINE__, i+=j%k, 2);
                    165:        i = 3;
                    166:        iequals(__LINE__, i-=j%k, 1);
                    167:        iequals(__LINE__, i<<=j%k, 4);
                    168:        iequals(__LINE__, i>>=j%k, 1);
                    169:        iequals(__LINE__, i&=j%k, 0);
                    170:        iequals(__LINE__, i^=j%k, 2);
                    171:        iequals(__LINE__, i|=j%k, 2);
                    172:        iequals(__LINE__, (i,j%k), 2);
                    173:        }
                    174: 
                    175: /* Z op X+Y */
                    176: static void p2_20()
                    177:        {
                    178:        int i = 7;
                    179:        int j = 4;
                    180:        int k = 2;
                    181:        iequals(__LINE__, i+j+k, 13);
                    182:        iequals(__LINE__, i-j+k, 5);
                    183:        iequals(__LINE__, i>>j+k, 0);
                    184:        iequals(__LINE__, i<<j+k, 448);
                    185:        iequals(__LINE__, i>j+k, 1);
                    186:        iequals(__LINE__, i<j+k, 0);
                    187:        iequals(__LINE__, i<=j+k, 0);
                    188:        iequals(__LINE__, i>=j+k, 1);
                    189:        iequals(__LINE__, i==j+k, 0);
                    190:        iequals(__LINE__, i!=j+k, 1);
                    191:        iequals(__LINE__, i&j+k, 6);
                    192:        iequals(__LINE__, i^j+k, 1);
                    193:        iequals(__LINE__, i|j+k, 7);
                    194:        iequals(__LINE__, i&&j+k, 1);
                    195:        iequals(__LINE__, i||j+k, 1);
                    196:        iequals(__LINE__, i?j+k:0, 6);
                    197:        iequals(__LINE__, i=j+k, 6);
                    198:        iequals(__LINE__, i*=j+k, 36);
                    199:        iequals(__LINE__, i/=j+k, 6);
                    200:        iequals(__LINE__, i%=j+k, 0);
                    201:        iequals(__LINE__, i+=j+k, 6);
                    202:        i = 8;
                    203:        iequals(__LINE__, i-=j+k, 2);
                    204:        iequals(__LINE__, i<<=j+k, 2<<6);
                    205:        iequals(__LINE__, i>>=j+k, 2);
                    206:        iequals(__LINE__, i&=j+k, 2);
                    207:        iequals(__LINE__, i^=j+k, 4);
                    208:        iequals(__LINE__, i|=j+k, 6);
                    209:        iequals(__LINE__, (i,j+k), 6);
                    210:        }
                    211: 
                    212: /* Z op X-Y */
                    213: static void p2_21()
                    214:        {
                    215:        int i = 7;
                    216:        int j = 4;
                    217:        int k = 2;
                    218:        iequals(__LINE__, i-j-k, 1);
                    219:        iequals(__LINE__, i>>j-k, 1);
                    220:        iequals(__LINE__, i<<j-k, 28);
                    221:        iequals(__LINE__, i>j-k, 1);
                    222:        iequals(__LINE__, i<j-k, 0);
                    223:        iequals(__LINE__, i<=j-k, 0);
                    224:        iequals(__LINE__, i>=j-k, 1);
                    225:        iequals(__LINE__, i==j-k, 0);
                    226:        iequals(__LINE__, i!=j-k, 1);
                    227:        iequals(__LINE__, i&j-k, 2);
                    228:        iequals(__LINE__, i^j-k, 5);
                    229:        iequals(__LINE__, i|j-k, 7);
                    230:        iequals(__LINE__, i&&j-k, 1);
                    231:        iequals(__LINE__, i||j-k, 1);
                    232:        iequals(__LINE__, i?j-k:0, 2);
                    233:        iequals(__LINE__, i=j-k, 2);
                    234:        iequals(__LINE__, i*=j-k, 4);
                    235:        iequals(__LINE__, i/=j-k, 2);
                    236:        iequals(__LINE__, i%=j-k, 0);
                    237:        iequals(__LINE__, i+=j-k, 2);
                    238:        iequals(__LINE__, i-=j-k, 0);
                    239:        i = 3;
                    240:        iequals(__LINE__, i<<=j-k, 12);
                    241:        iequals(__LINE__, i>>=j-k, 3);
                    242:        iequals(__LINE__, i&=j-k, 2);
                    243:        iequals(__LINE__, i^=j-k, 0);
                    244:        iequals(__LINE__, i|=j-k, 2);
                    245:        iequals(__LINE__, (i,j-k), 2);
                    246:        }
                    247: 
                    248: /* Z op X>>Y */
                    249: static void p2_22()
                    250:        {
                    251:        int i = 7;
                    252:        int j = 4;
                    253:        int k = 2;
                    254:        iequals(__LINE__, i>>j>>k, 0);
                    255:        iequals(__LINE__, i<<j>>k, 28);
                    256:        iequals(__LINE__, i>j>>k, 1);
                    257:        iequals(__LINE__, i<j>>k, 0);
                    258:        iequals(__LINE__, i<=j>>k, 0);
                    259:        iequals(__LINE__, i>=j>>k, 1);
                    260:        iequals(__LINE__, i==j>>k, 0);
                    261:        iequals(__LINE__, i!=j>>k, 1);
                    262:        iequals(__LINE__, i&j>>k, 1);
                    263:        iequals(__LINE__, i^j>>k, 6);
                    264:        iequals(__LINE__, i|j>>k, 7);
                    265:        iequals(__LINE__, i&&j>>k, 1);
                    266:        iequals(__LINE__, i||j>>k, 1);
                    267:        iequals(__LINE__, i?j>>k:0, 1);
                    268:        iequals(__LINE__, i=j>>k, 1);
                    269:        iequals(__LINE__, i*=j>>k, 1);
                    270:        iequals(__LINE__, i/=j>>k, 1);
                    271:        iequals(__LINE__, i%=j>>k, 0);
                    272:        iequals(__LINE__, i+=j>>k, 1);
                    273:        iequals(__LINE__, i-=j>>k, 0);
                    274:        i = 3;
                    275:        iequals(__LINE__, i<<=j>>k, 6);
                    276:        iequals(__LINE__, i>>=j>>k, 3);
                    277:        iequals(__LINE__, i&=j>>k, 1);
                    278:        iequals(__LINE__, i^=j>>k, 0);
                    279:        iequals(__LINE__, i|=j>>k, 1);
                    280:        iequals(__LINE__, (i,j>>k), 1);
                    281:        }
                    282: 
                    283: /* Z op X<<Y */
                    284: static void p2_23()
                    285:        {
                    286:        int i = 7;
                    287:        int j = 2;
                    288:        int k = 1;
                    289:        iequals(__LINE__, i<<j<<k, 56);
                    290:        iequals(__LINE__, i>j<<k, 1);
                    291:        iequals(__LINE__, i<j<<k, 0);
                    292:        iequals(__LINE__, i<=j<<k, 0);
                    293:        iequals(__LINE__, i>=j<<k, 1);
                    294:        iequals(__LINE__, i==j<<k, 0);
                    295:        iequals(__LINE__, i!=j<<k, 1);
                    296:        iequals(__LINE__, i&j<<k, 4);
                    297:        iequals(__LINE__, i^j<<k, 3);
                    298:        iequals(__LINE__, i|j<<k, 7);
                    299:        iequals(__LINE__, i&&j<<k, 1);
                    300:        iequals(__LINE__, i||j<<k, 1);
                    301:        iequals(__LINE__, i?j<<k:0, 4);
                    302:        iequals(__LINE__, i=j<<k, 4);
                    303:        iequals(__LINE__, i*=j<<k, 16);
                    304:        iequals(__LINE__, i/=j<<k, 4);
                    305:        iequals(__LINE__, i%=j<<k, 0);
                    306:        iequals(__LINE__, i+=j<<k, 4);
                    307:        iequals(__LINE__, i-=j<<k, 0);
                    308:        i = 3;
                    309:        iequals(__LINE__, i<<=j<<k, 48);
                    310:        iequals(__LINE__, i>>=j<<k, 3);
                    311:        iequals(__LINE__, i&=j<<k, 0);
                    312:        iequals(__LINE__, i^=j<<k, 4);
                    313:        iequals(__LINE__, i|=j<<k, 4);
                    314:        iequals(__LINE__, (i,j<<k), 4);
                    315:        }
                    316: 
                    317: /* Z op X>Y */
                    318: static void p2_24()
                    319:        {
                    320:        int i = 7;
                    321:        int j = 4;
                    322:        int k = 2;
                    323:        iequals(__LINE__, i>j>k, 0);
                    324:        iequals(__LINE__, i<j>k, 0);
                    325:        iequals(__LINE__, i<=j>k, 0);
                    326:        iequals(__LINE__, i>=j>k, 0);
                    327:        iequals(__LINE__, i==j>k, 0);
                    328:        iequals(__LINE__, i!=j>k, 1);
                    329:        iequals(__LINE__, i&j>k, 1);
                    330:        iequals(__LINE__, i^j>k, 6);
                    331:        iequals(__LINE__, i|j>k, 7);
                    332:        iequals(__LINE__, i&&j>k, 1);
                    333:        iequals(__LINE__, i||j>k, 1);
                    334:        iequals(__LINE__, i?j>k:0, 1);
                    335:        iequals(__LINE__, i=j>k, 1);
                    336:        iequals(__LINE__, i*=j>k, 1);
                    337:        iequals(__LINE__, i/=j>k, 1);
                    338:        iequals(__LINE__, i%=j>k, 0);
                    339:        iequals(__LINE__, i+=j>k, 1);
                    340:        iequals(__LINE__, i-=j>k, 0);
                    341:        i = 3;
                    342:        iequals(__LINE__, i<<=j>k, 6);
                    343:        iequals(__LINE__, i>>=j>k, 3);
                    344:        iequals(__LINE__, i&=j>k, 1);
                    345:        iequals(__LINE__, i^=j>k, 0);
                    346:        iequals(__LINE__, i|=j>k, 1);
                    347:        iequals(__LINE__, (i,j>k), 1);
                    348:        }
                    349: 
                    350: /* Z op X<Y */
                    351: static void p2_25()
                    352:        {
                    353:        int i = 7;
                    354:        int j = 2;
                    355:        int k = 4;
                    356:        iequals(__LINE__, i-j<k, 0);
                    357:        iequals(__LINE__, i>j<k, 1);
                    358:        iequals(__LINE__, i<j<k, 1);
                    359:        iequals(__LINE__, i<=j<k, 1);
                    360:        iequals(__LINE__, i>=j<k, 1);
                    361:        iequals(__LINE__, i==j<k, 0);
                    362:        iequals(__LINE__, i!=j<k, 1);
                    363:        iequals(__LINE__, i&j<k, 1);
                    364:        iequals(__LINE__, i^j<k, 6);
                    365:        iequals(__LINE__, i|j<k, 7);
                    366:        iequals(__LINE__, i&&j<k, 1);
                    367:        iequals(__LINE__, i||j<k, 1);
                    368:        iequals(__LINE__, i?j<k:0, 1);
                    369:        iequals(__LINE__, i=j<k, 1);
                    370:        iequals(__LINE__, i*=j<k, 1);
                    371:        iequals(__LINE__, i/=j<k, 1);
                    372:        iequals(__LINE__, i%=j<k, 0);
                    373:        iequals(__LINE__, i+=j<k, 1);
                    374:        iequals(__LINE__, i-=j<k, 0);
                    375:        i = 3;
                    376:        iequals(__LINE__, i<<=j<k, 6);
                    377:        iequals(__LINE__, i>>=j<k, 3);
                    378:        iequals(__LINE__, i&=j<k, 1);
                    379:        iequals(__LINE__, i^=j<k, 0);
                    380:        iequals(__LINE__, i|=j<k, 1);
                    381:        iequals(__LINE__, (i,j<k), 1);
                    382:        }
                    383: 
                    384: /* Z op X>=Y */
                    385: static void p2_26()
                    386:        {
                    387:        int i = 7;
                    388:        int j = 4;
                    389:        int k = 2;
                    390:        iequals(__LINE__, i<=j>=k, 0);
                    391:        iequals(__LINE__, i>=j>=k, 0);
                    392:        iequals(__LINE__, i==j>=k, 0);
                    393:        iequals(__LINE__, i!=j>=k, 1);
                    394:        iequals(__LINE__, i&j>=k, 1);
                    395:        iequals(__LINE__, i^j>=k, 6);
                    396:        iequals(__LINE__, i|j>=k, 7);
                    397:        iequals(__LINE__, i&&j>=k, 1);
                    398:        iequals(__LINE__, i||j>=k, 1);
                    399:        iequals(__LINE__, i?j>=k:0, 1);
                    400:        iequals(__LINE__, i=j>=k, 1);
                    401:        iequals(__LINE__, i*=j>=k, 1);
                    402:        iequals(__LINE__, i/=j>=k, 1);
                    403:        iequals(__LINE__, i%=j>=k, 0);
                    404:        iequals(__LINE__, i+=j>=k, 1);
                    405:        iequals(__LINE__, i-=j>=k, 0);
                    406:        i = 3;
                    407:        iequals(__LINE__, i<<=j>=k, 6);
                    408:        iequals(__LINE__, i>>=j>=k, 3);
                    409:        iequals(__LINE__, i&=j>=k, 1);
                    410:        iequals(__LINE__, i^=j>=k, 0);
                    411:        iequals(__LINE__, i|=j>=k, 1);
                    412:        iequals(__LINE__, (i,j>=k), 1);
                    413:        }
                    414: 
                    415: /* Z op X<=Y */
                    416: static void p2_27()
                    417:        {
                    418:        int i = 7;
                    419:        int j = 4;
                    420:        int k = 4;
                    421:        iequals(__LINE__, i>=j<=k, 1);
                    422:        iequals(__LINE__, i==j<=k, 0);
                    423:        iequals(__LINE__, i!=j<=k, 1);
                    424:        iequals(__LINE__, i&j<=k, 1);
                    425:        iequals(__LINE__, i^j<=k, 6);
                    426:        iequals(__LINE__, i|j<=k, 7);
                    427:        iequals(__LINE__, i&&j<=k, 1);
                    428:        iequals(__LINE__, i||j<=k, 1);
                    429:        iequals(__LINE__, i?j<=k:0, 1);
                    430:        iequals(__LINE__, i=j<=k, 1);
                    431:        iequals(__LINE__, i*=j<=k, 1);
                    432:        iequals(__LINE__, i/=j<=k, 1);
                    433:        iequals(__LINE__, i%=j<=k, 0);
                    434:        iequals(__LINE__, i+=j<=k, 1);
                    435:        iequals(__LINE__, i-=j<=k, 0);
                    436:        i = 3;
                    437:        iequals(__LINE__, i<<=j<=k, 6);
                    438:        iequals(__LINE__, i>>=j<=k, 3);
                    439:        iequals(__LINE__, i&=j<=k, 1);
                    440:        iequals(__LINE__, i^=j<=k, 0);
                    441:        iequals(__LINE__, i|=j<=k, 1);
                    442:        iequals(__LINE__, (i,j<=k), 1);
                    443:        }
                    444: 
                    445: /* Z op X==Y */
                    446: static void p2_28()
                    447:        {
                    448:        int i = 7;
                    449:        int j = 4;
                    450:        int k = 4;
                    451:        iequals(__LINE__, i==j==k, 0);
                    452:        iequals(__LINE__, i!=j==k, 0);
                    453:        iequals(__LINE__, i&j==k, 1);
                    454:        iequals(__LINE__, i^j==k, 6);
                    455:        iequals(__LINE__, i|j==k, 7);
                    456:        iequals(__LINE__, i&&j==k, 1);
                    457:        iequals(__LINE__, i||j==k, 1);
                    458:        iequals(__LINE__, i?j==k:0, 1);
                    459:        iequals(__LINE__, i=j==k, 1);
                    460:        iequals(__LINE__, i*=j==k, 1);
                    461:        iequals(__LINE__, i/=j==k, 1);
                    462:        iequals(__LINE__, i%=j==k, 0);
                    463:        iequals(__LINE__, i+=j==k, 1);
                    464:        iequals(__LINE__, i-=j==k, 0);
                    465:        i = 3;
                    466:        iequals(__LINE__, i<<=j==k, 6);
                    467:        iequals(__LINE__, i>>=j==k, 3);
                    468:        iequals(__LINE__, i&=j==k, 1);
                    469:        iequals(__LINE__, i^=j==k, 0);
                    470:        iequals(__LINE__, i|=j==k, 1);
                    471:        iequals(__LINE__, (i,j==k), 1);
                    472:        }
                    473: 
                    474: /* Z op X!=Y */
                    475: static void p2_29()
                    476:        {
                    477:        int i = 7;
                    478:        int j = 4;
                    479:        int k = 2;
                    480:        iequals(__LINE__, i!=j!=k, 1);
                    481:        iequals(__LINE__, i&j!=k, 1);
                    482:        iequals(__LINE__, i^j!=k, 6);
                    483:        iequals(__LINE__, i|j!=k, 7);
                    484:        iequals(__LINE__, i&&j!=k, 1);
                    485:        iequals(__LINE__, i||j!=k, 1);
                    486:        iequals(__LINE__, i?j!=k:0, 1);
                    487:        iequals(__LINE__, i=j!=k, 1);
                    488:        iequals(__LINE__, i*=j!=k, 1);
                    489:        iequals(__LINE__, i/=j!=k, 1);
                    490:        iequals(__LINE__, i%=j!=k, 0);
                    491:        iequals(__LINE__, i+=j!=k, 1);
                    492:        iequals(__LINE__, i-=j!=k, 0);
                    493:        i = 3;
                    494:        iequals(__LINE__, i<<=j!=k, 6);
                    495:        iequals(__LINE__, i>>=j!=k, 3);
                    496:        iequals(__LINE__, i&=j!=k, 1);
                    497:        iequals(__LINE__, i^=j!=k, 0);
                    498:        iequals(__LINE__, i|=j!=k, 1);
                    499:        iequals(__LINE__, (i,j!=k), 1);
                    500:        }
                    501: 
                    502: /* Z op X&Y */
                    503: static void p2_30()
                    504:        {
                    505:        int i = 7;
                    506:        int j = 3;
                    507:        int k = 2;
                    508:        iequals(__LINE__, i&j&k, 2);
                    509:        iequals(__LINE__, i^j&k, 5);
                    510:        iequals(__LINE__, i|j&k, 7);
                    511:        iequals(__LINE__, i&&j&k, 1);
                    512:        iequals(__LINE__, i||j&k, 1);
                    513:        iequals(__LINE__, i?j&k:0, 2);
                    514:        iequals(__LINE__, i=j&k, 2);
                    515:        iequals(__LINE__, i*=j&k, 4);
                    516:        iequals(__LINE__, i/=j&k, 2);
                    517:        iequals(__LINE__, i%=j&k, 0);
                    518:        iequals(__LINE__, i+=j&k, 2);
                    519:        iequals(__LINE__, i-=j&k, 0);
                    520:        i = 3;
                    521:        iequals(__LINE__, i<<=j&k, 12);
                    522:        iequals(__LINE__, i>>=j&k, 3);
                    523:        iequals(__LINE__, i&=j&k, 2);
                    524:        iequals(__LINE__, i^=j&k, 0);
                    525:        iequals(__LINE__, i|=j&k, 2);
                    526:        iequals(__LINE__, (i,j&k), 2);
                    527:        }
                    528: 
                    529: /* Z op X^Y */
                    530: static void p2_31()
                    531:        {
                    532:        int i = 7;
                    533:        int j = 4;
                    534:        int k = 2;
                    535:        iequals(__LINE__, i^j^k, 1);
                    536:        iequals(__LINE__, i|j^k, 7);
                    537:        iequals(__LINE__, i&&j^k, 1);
                    538:        iequals(__LINE__, i||j^k, 1);
                    539:        iequals(__LINE__, i?j^k:0, 6);
                    540:        iequals(__LINE__, i=j^k, 6);
                    541:        iequals(__LINE__, i*=j^k, 36);
                    542:        iequals(__LINE__, i/=j^k, 6);
                    543:        iequals(__LINE__, i%=j^k, 0);
                    544:        iequals(__LINE__, i+=j^k, 6);
                    545:        iequals(__LINE__, i-=j^k, 0);
                    546:        iequals(__LINE__, i<<=j^k, 0);
                    547:        iequals(__LINE__, i>>=j^k, 0);
                    548:        i = 3;
                    549:        iequals(__LINE__, i&=j^k, 2);
                    550:        iequals(__LINE__, i^=j^k, 4);
                    551:        iequals(__LINE__, i|=j^k, 6);
                    552:        iequals(__LINE__, (i,j^k), 6);
                    553:        }
                    554: 
                    555: /* Z op X|Y */
                    556: static void p2_32()
                    557:        {
                    558:        int i = 7;
                    559:        int j = 4;
                    560:        int k = 2;
                    561:        iequals(__LINE__, i|j|k, 7);
                    562:        iequals(__LINE__, i&&j|k, 1);
                    563:        iequals(__LINE__, i||j|k, 1);
                    564:        iequals(__LINE__, i?j|k:0, 6);
                    565:        iequals(__LINE__, i=j|k, 6);
                    566:        iequals(__LINE__, i*=j|k, 36);
                    567:        iequals(__LINE__, i/=j|k, 6);
                    568:        iequals(__LINE__, i%=j|k, 0);
                    569:        iequals(__LINE__, i+=j|k, 6);
                    570:        iequals(__LINE__, i-=j|k, 0);
                    571:        i = 3;
                    572:        iequals(__LINE__, i<<=j|k, 192);
                    573:        iequals(__LINE__, i>>=j|k, 3);
                    574:        iequals(__LINE__, i&=j|k, 2);
                    575:        iequals(__LINE__, i^=j|k, 4);
                    576:        iequals(__LINE__, i|=j|k, 6);
                    577:        iequals(__LINE__, (i,j|k), 6);
                    578:        }
                    579: 
                    580: /* Z op X&&Y */
                    581: static void p2_33()
                    582:        {
                    583:        int i = 7;
                    584:        int j = 4;
                    585:        int k = 2;
                    586:        iequals(__LINE__, i&&j&&k, 1);
                    587:        iequals(__LINE__, i||j&&k, 1);
                    588:        iequals(__LINE__, i?j&&k:0, 1);
                    589:        iequals(__LINE__, i=j&&k, 1);
                    590:        iequals(__LINE__, i*=j&&k, 1);
                    591:        iequals(__LINE__, i/=j&&k, 1);
                    592:        iequals(__LINE__, i%=j&&k, 0);
                    593:        iequals(__LINE__, i+=j&&k, 1);
                    594:        iequals(__LINE__, i-=j&&k, 0);
                    595:        i = 3;
                    596:        iequals(__LINE__, i<<=j&&k, 6);
                    597:        iequals(__LINE__, i>>=j&&k, 3);
                    598:        iequals(__LINE__, i&=j&&k, 1);
                    599:        iequals(__LINE__, i^=j&&k, 0);
                    600:        iequals(__LINE__, i|=j&&k, 1);
                    601:        iequals(__LINE__, (i,j&&k), 1);
                    602:        }
                    603: 
                    604: /* Z op X||Y */
                    605: static void p2_34()
                    606:        {
                    607:        int i = 7;
                    608:        int j = 4;
                    609:        int k = 2;
                    610:        iequals(__LINE__, i||j||k, 1);
                    611:        iequals(__LINE__, i?j||k:0, 1);
                    612:        iequals(__LINE__, i=j||k, 1);
                    613:        iequals(__LINE__, i*=j||k, 1);
                    614:        iequals(__LINE__, i/=j||k, 1);
                    615:        iequals(__LINE__, i%=j||k, 0);
                    616:        iequals(__LINE__, i+=j||k, 1);
                    617:        iequals(__LINE__, i-=j||k, 0);
                    618:        i = 3;
                    619:        iequals(__LINE__, i<<=j||k, 6);
                    620:        iequals(__LINE__, i>>=j||k, 3);
                    621:        iequals(__LINE__, i&=j||k, 1);
                    622:        iequals(__LINE__, i^=j||k, 0);
                    623:        iequals(__LINE__, i|=j||k, 1);
                    624:        iequals(__LINE__, (i,j||k), 1);
                    625:        }
                    626: 
                    627: /* Z op X?Y */
                    628: static void p2_35()
                    629:        {
                    630:        int i = 7;
                    631:        int j = 4;
                    632:        int k = 2;
                    633:        int l = 0;
                    634:        iequals(__LINE__, i=j?k:l, 2);
                    635:        iequals(__LINE__, i*=j?k:l, 4);
                    636:        iequals(__LINE__, i/=j?k:l, 2);
                    637:        iequals(__LINE__, i%=j?k:l, 0);
                    638:        iequals(__LINE__, i+=j?k:l, 2);
                    639:        iequals(__LINE__, i-=j?k:l, 0);
                    640:        i = 3;
                    641:        iequals(__LINE__, i<<=j?k:l, 12);
                    642:        iequals(__LINE__, i>>=j?k:l, 3);
                    643:        iequals(__LINE__, i&=j?k:l, 2);
                    644:        iequals(__LINE__, i^=j?k:l, 0);
                    645:        iequals(__LINE__, i|=j?k:l, 2);
                    646:        iequals(__LINE__, (i,j?k:l), 2);
                    647:        }
                    648: 

unix.superglobalmegacorp.com

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