Annotation of researchv10no/cmd/lcc/ph/prec2b.c, revision 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.