Annotation of researchv10no/cmd/lcc/ph/prec1c.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: #include "defs.h"
        !            11: 
        !            12: /*
        !            13:  * PREC1C -- try all operator pairs -- this file uses all binary operators
        !            14:  * in the first position (see prec 2 for the other way around).
        !            15:  */
        !            16: 
        !            17: static void p1_36();
        !            18: static void p1_37();
        !            19: static void p1_38();
        !            20: static void p1_39();
        !            21: static void p1_40();
        !            22: static void p1_41();
        !            23: static void p1_42();
        !            24: static void p1_43();
        !            25: static void p1_44();
        !            26: static void p1_45();
        !            27: static void p1_46();
        !            28: static void p1_47();
        !            29: 
        !            30: 
        !            31: void prec1c()
        !            32:        {
        !            33:        Filename = "prec1c.c";
        !            34:        p1_36();        /* = */
        !            35:        p1_37();        /* *= */
        !            36:        p1_38();        /* /= */
        !            37:        p1_39();        /* %= */
        !            38:        p1_40();        /* += */
        !            39:        p1_41();        /* -= */
        !            40:        p1_42();        /* <<= */
        !            41:        p1_43();        /* >>= */
        !            42:        p1_44();        /* &= */
        !            43:        p1_45();        /* ^= */
        !            44:        p1_46();        /* |= */
        !            45:        p1_47();        /* , */
        !            46:        }
        !            47: 
        !            48: 
        !            49: /*  X*=YopZ */
        !            50: static void p1_36()
        !            51:        {
        !            52:        int i = 1;
        !            53:        int j = 7;
        !            54:        int k = 4;
        !            55:        iequals(__LINE__, i=j*=k, 28);
        !            56:        iequals(__LINE__, i, 28);
        !            57:        iequals(__LINE__, j, 28);
        !            58:        i = 1;
        !            59:        j = 7;
        !            60:        iequals(__LINE__, i=j*=k, 28);
        !            61:        iequals(__LINE__, i, 28);
        !            62:        iequals(__LINE__, j, 28);
        !            63:        iequals(__LINE__, i=j/=k, 7);
        !            64:        iequals(__LINE__, i, 7);
        !            65:        iequals(__LINE__, j, 7);
        !            66:        iequals(__LINE__, i=j%=k, 3);
        !            67:        iequals(__LINE__, i, 3);
        !            68:        iequals(__LINE__, j, 3);
        !            69:        iequals(__LINE__, i=j+=k, 7);
        !            70:        iequals(__LINE__, i, 7);
        !            71:        iequals(__LINE__, j, 7);
        !            72:        iequals(__LINE__, i=j-=k, 3);
        !            73:        iequals(__LINE__, i, 3);
        !            74:        iequals(__LINE__, j, 3);
        !            75:        k = 1;
        !            76:        iequals(__LINE__, i=j<<=k, 6);
        !            77:        iequals(__LINE__, i, 6);
        !            78:        iequals(__LINE__, j, 6);
        !            79:        iequals(__LINE__, i=j>>=k, 3);
        !            80:        iequals(__LINE__, i, 3);
        !            81:        iequals(__LINE__, j, 3);
        !            82:        k = 3;
        !            83:        iequals(__LINE__, i=j&=k, 3);
        !            84:        iequals(__LINE__, i, 3);
        !            85:        iequals(__LINE__, j, 3);
        !            86:        j = 0;
        !            87:        iequals(__LINE__, i=j^=k, 3);
        !            88:        iequals(__LINE__, i, 3);
        !            89:        iequals(__LINE__, j, 3);
        !            90:        k = 3;
        !            91:        iequals(__LINE__, i=j|=k, 3);
        !            92:        iequals(__LINE__, i, 3);
        !            93:        iequals(__LINE__, j, 3);
        !            94:        iequals(__LINE__, (i=j,k), 3);
        !            95:        iequals(__LINE__, i, 3);
        !            96:        }
        !            97: 
        !            98: /*  X*=YopZ */
        !            99: static void p1_37()
        !           100:        {
        !           101:        int i = 1;
        !           102:        int j = 7;
        !           103:        int k = 4;
        !           104:        iequals(__LINE__, i*=j*=k, 28);
        !           105:        iequals(__LINE__, i, 28);
        !           106:        iequals(__LINE__, j, 28);
        !           107:        iequals(__LINE__, i*=j/=k, 196);
        !           108:        iequals(__LINE__, i, 196);
        !           109:        iequals(__LINE__, j, 7);
        !           110:        iequals(__LINE__, i*=j%=k, 588);
        !           111:        iequals(__LINE__, i, 588);
        !           112:        iequals(__LINE__, j, 3);
        !           113:        iequals(__LINE__, i*=j+=k, 4116);
        !           114:        iequals(__LINE__, i, 4116);
        !           115:        iequals(__LINE__, j, 7);
        !           116:        iequals(__LINE__, i*=j-=k, 12348);
        !           117:        iequals(__LINE__, i, 12348);
        !           118:        iequals(__LINE__, j, 3);
        !           119:        i = 11;
        !           120:        k = 1;
        !           121:        iequals(__LINE__, i*=j<<=k, 66);
        !           122:        iequals(__LINE__, i, 66);
        !           123:        iequals(__LINE__, j, 6);
        !           124:        i = 11;
        !           125:        iequals(__LINE__, i*=j>>=k, 33);
        !           126:        iequals(__LINE__, i, 33);
        !           127:        iequals(__LINE__, j, 3);
        !           128:        i = 11;
        !           129:        k = 3;
        !           130:        iequals(__LINE__, i*=j&=k, 33);
        !           131:        iequals(__LINE__, i, 33);
        !           132:        iequals(__LINE__, j, 3);
        !           133:        i = 11;
        !           134:        j = 0;
        !           135:        iequals(__LINE__, i*=j^=k, 33);
        !           136:        iequals(__LINE__, i, 33);
        !           137:        iequals(__LINE__, j, 3);
        !           138:        i = 11;
        !           139:        k = 3;
        !           140:        iequals(__LINE__, i*=j|=k, 33);
        !           141:        iequals(__LINE__, i, 33);
        !           142:        iequals(__LINE__, j, 3);
        !           143:        i = 11;
        !           144:        iequals(__LINE__, (i*=j,k), 3);
        !           145:        iequals(__LINE__, i, 33);
        !           146:        }
        !           147: 
        !           148: /*  X/=YopZ */
        !           149: static void p1_38()
        !           150:        {
        !           151:        int i = 11;
        !           152:        int j = 8;
        !           153:        int k = 4;
        !           154:        iequals(__LINE__, i/=j/=k, 5);
        !           155:        iequals(__LINE__, i, 5);
        !           156:        iequals(__LINE__, j, 2);
        !           157:        i = 11;
        !           158:        j = 7;
        !           159:        iequals(__LINE__, i/=j%=k, 3);
        !           160:        iequals(__LINE__, i, 3);
        !           161:        iequals(__LINE__, j, 3);
        !           162:        i = 11;
        !           163:        iequals(__LINE__, i/=j-=k, -11);
        !           164:        iequals(__LINE__, i, -11);
        !           165:        iequals(__LINE__, j, -1);
        !           166:        i = 11;
        !           167:        k = 1;
        !           168:        j = 3;
        !           169:        iequals(__LINE__, i/=j<<=k, 1);
        !           170:        iequals(__LINE__, i, 1);
        !           171:        iequals(__LINE__, j, 6);
        !           172:        i = 11;
        !           173:        iequals(__LINE__, i/=j>>=k, 3);
        !           174:        iequals(__LINE__, i, 3);
        !           175:        iequals(__LINE__, j, 3);
        !           176:        i = 11;
        !           177:        k = 3;
        !           178:        iequals(__LINE__, i/=j&=k, 3);
        !           179:        iequals(__LINE__, i, 3);
        !           180:        iequals(__LINE__, j, 3);
        !           181:        i = 11;
        !           182:        j = 0;
        !           183:        iequals(__LINE__, i/=j^=k, 3);
        !           184:        iequals(__LINE__, i, 3);
        !           185:        iequals(__LINE__, j, 3);
        !           186:        i = 11;
        !           187:        k = 3;
        !           188:        iequals(__LINE__, i/=j|=k, 3);
        !           189:        iequals(__LINE__, i, 3);
        !           190:        iequals(__LINE__, j, 3);
        !           191:        i = 11;
        !           192:        iequals(__LINE__, (i/=j,k), 3);
        !           193:        iequals(__LINE__, i, 3);
        !           194:        }
        !           195: 
        !           196: /*  X%=YopZ */
        !           197: static void p1_39()
        !           198:        {
        !           199:        int i = 11;
        !           200:        int j = 7;
        !           201:        int k = 4;
        !           202:        iequals(__LINE__, i%=j%=k, 2);
        !           203:        iequals(__LINE__, i, 2);
        !           204:        iequals(__LINE__, j, 3);
        !           205:        i = 11;
        !           206:        iequals(__LINE__, i%=j+=k, 4);
        !           207:        iequals(__LINE__, i, 4);
        !           208:        iequals(__LINE__, j, 7);
        !           209:        i = 11;
        !           210:        iequals(__LINE__, i%=j-=k, 2);
        !           211:        iequals(__LINE__, i, 2);
        !           212:        iequals(__LINE__, j, 3);
        !           213:        i = 11;
        !           214:        k = 1;
        !           215:        iequals(__LINE__, i%=j<<=k, 5);
        !           216:        iequals(__LINE__, i, 5);
        !           217:        iequals(__LINE__, j, 6);
        !           218:        i = 11;
        !           219:        iequals(__LINE__, i%=j>>=k, 2);
        !           220:        iequals(__LINE__, i, 2);
        !           221:        iequals(__LINE__, j, 3);
        !           222:        i = 11;
        !           223:        k = 3;
        !           224:        iequals(__LINE__, i%=j&=k, 2);
        !           225:        iequals(__LINE__, i, 2);
        !           226:        iequals(__LINE__, j, 3);
        !           227:        i = 11;
        !           228:        j = 0;
        !           229:        iequals(__LINE__, i%=j^=k, 2);
        !           230:        iequals(__LINE__, i, 2);
        !           231:        iequals(__LINE__, j, 3);
        !           232:        i = 11;
        !           233:        k = 3;
        !           234:        iequals(__LINE__, i%=j|=k, 2);
        !           235:        iequals(__LINE__, i, 2);
        !           236:        iequals(__LINE__, j, 3);
        !           237:        i = 11;
        !           238:        iequals(__LINE__, (i%=j,k), 3);
        !           239:        iequals(__LINE__, i, 2);
        !           240:        }
        !           241: 
        !           242: /*  X+=YopZ */
        !           243: static void p1_40()
        !           244:        {
        !           245:        int i = -6;
        !           246:        int j = 3;
        !           247:        int k = 4;
        !           248:        iequals(__LINE__, i+=j+=k, 1);
        !           249:        iequals(__LINE__, i, 1);
        !           250:        iequals(__LINE__, j, 7);
        !           251:        iequals(__LINE__, i+=j-=k, 4);
        !           252:        iequals(__LINE__, i, 4);
        !           253:        iequals(__LINE__, j, 3);
        !           254:        k = 1;
        !           255:        iequals(__LINE__, i+=j<<=k, 10);
        !           256:        iequals(__LINE__, i, 10);
        !           257:        iequals(__LINE__, j, 6);
        !           258:        iequals(__LINE__, i+=j>>=k, 13);
        !           259:        iequals(__LINE__, i, 13);
        !           260:        iequals(__LINE__, j, 3);
        !           261:        k = 3;
        !           262:        iequals(__LINE__, i+=j&=k, 16);
        !           263:        iequals(__LINE__, i, 16);
        !           264:        iequals(__LINE__, j, 3);
        !           265:        iequals(__LINE__, i+=j^=k, 16);
        !           266:        iequals(__LINE__, i, 16);
        !           267:        iequals(__LINE__, j, 0);
        !           268:        k = 3;
        !           269:        iequals(__LINE__, i+=j|=k, 19);
        !           270:        iequals(__LINE__, i, 19);
        !           271:        iequals(__LINE__, j, 3);
        !           272:        iequals(__LINE__, (i+=j,k), k);
        !           273:        iequals(__LINE__, i, 22);
        !           274:        }
        !           275: 
        !           276: /*  X-=YopZ */
        !           277: static void p1_41()
        !           278:        {
        !           279:        int i = 21;
        !           280:        int j = 7;
        !           281:        int k = 4;
        !           282:        iequals(__LINE__, i-=j-=k, 18);
        !           283:        iequals(__LINE__, i, 18);
        !           284:        iequals(__LINE__, j, 3);
        !           285:        k = 1;
        !           286:        iequals(__LINE__, i-=j<<=k, 12);
        !           287:        iequals(__LINE__, i, 12);
        !           288:        iequals(__LINE__, j, 6);
        !           289:        iequals(__LINE__, i-=j>>=k, 9);
        !           290:        iequals(__LINE__, i, 9);
        !           291:        iequals(__LINE__, j, 3);
        !           292:        k = 3;
        !           293:        iequals(__LINE__, i-=j&=k, 6);
        !           294:        iequals(__LINE__, i, 6);
        !           295:        iequals(__LINE__, j, 3);
        !           296:        iequals(__LINE__, i-=j^=k, 6);
        !           297:        iequals(__LINE__, i, 6);
        !           298:        iequals(__LINE__, j, 0);
        !           299:        k = 3;
        !           300:        iequals(__LINE__, i-=j|=k, 3);
        !           301:        iequals(__LINE__, i, 3);
        !           302:        iequals(__LINE__, j, 3);
        !           303:        iequals(__LINE__, (i-=j,k), k);
        !           304:        iequals(__LINE__, i, 0);
        !           305:        }
        !           306: 
        !           307: /*  X<<=YopZ */
        !           308: static void p1_42()
        !           309:        {
        !           310:        int i = 1;
        !           311:        int j = 2;
        !           312:        int k = 1;
        !           313:        iequals(__LINE__, i<<=j<<=k, 16);
        !           314:        iequals(__LINE__, i, 16);
        !           315:        iequals(__LINE__, j, 4);
        !           316:        j = 2;
        !           317:        iequals(__LINE__, i<<=j>>=k, 32);
        !           318:        iequals(__LINE__, i, 32);
        !           319:        iequals(__LINE__, j, 1);
        !           320:        iequals(__LINE__, i<<=j&=k, 64);
        !           321:        iequals(__LINE__, i, 64);
        !           322:        iequals(__LINE__, j, 1);
        !           323:        j = 0;
        !           324:        iequals(__LINE__, i<<=j^=k, 128);
        !           325:        iequals(__LINE__, i, 128);
        !           326:        iequals(__LINE__, j, 1);
        !           327:        iequals(__LINE__, i<<=j|=k, 256);
        !           328:        iequals(__LINE__, i, 256);
        !           329:        iequals(__LINE__, j, 1);
        !           330:        iequals(__LINE__, (i<<=j,k), k);
        !           331:        iequals(__LINE__, i, 512);
        !           332:        }
        !           333: 
        !           334: /*  X>>=YopZ */
        !           335: static void p1_43()
        !           336:        {
        !           337:        int i = 9;
        !           338:        int j = 3;
        !           339:        int k = 1;
        !           340:        iequals(__LINE__, i>>=j>>=k, 4);
        !           341:        iequals(__LINE__, i, 4);
        !           342:        iequals(__LINE__, j, 1);
        !           343:        k = 7;
        !           344:        iequals(__LINE__, i>>=j&=k, 2);
        !           345:        iequals(__LINE__, i, 2);
        !           346:        iequals(__LINE__, j, 1);
        !           347:        i = 0x100;
        !           348:        iequals(__LINE__, i>>=j^=k, 4);
        !           349:        iequals(__LINE__, i, 4);
        !           350:        iequals(__LINE__, j, 6);
        !           351:        j = 0; k = 2;
        !           352:        iequals(__LINE__, i>>=j|=k, 1);
        !           353:        iequals(__LINE__, i, 1);
        !           354:        iequals(__LINE__, j, 2);
        !           355:        i = 7;
        !           356:        iequals(__LINE__, (i>>=j,k), k);
        !           357:        iequals(__LINE__, i, 1);
        !           358:        }
        !           359: 
        !           360: /*  X&=YopZ */
        !           361: static void p1_44()
        !           362:        {
        !           363:        int i = 7;
        !           364:        int j = 2;
        !           365:        int k = 3;
        !           366:        iequals(__LINE__, i&=j&=k, 2);
        !           367:        iequals(__LINE__, i, 2);
        !           368:        iequals(__LINE__, j, 2);
        !           369:        i = 7;
        !           370:        iequals(__LINE__, i&=j^=k, 1);
        !           371:        iequals(__LINE__, i, 1);
        !           372:        iequals(__LINE__, j, 1);
        !           373:        k = 4;
        !           374:        iequals(__LINE__, i&=j|=k, 1);
        !           375:        iequals(__LINE__, i, 1);
        !           376:        iequals(__LINE__, j, 5);
        !           377:        i = 7;
        !           378:        iequals(__LINE__, (i&=j,k), k);
        !           379:        iequals(__LINE__, i, 5);
        !           380:        }
        !           381: 
        !           382: /*  X^=YopZ */
        !           383: static void p1_45()
        !           384:        {
        !           385:        int i = 2;
        !           386:        int j = 2;
        !           387:        int k = 3;
        !           388:        iequals(__LINE__, i^=j^=k, 3);
        !           389:        iequals(__LINE__, i, 3);
        !           390:        iequals(__LINE__, j, 1);
        !           391:        k = 4;
        !           392:        iequals(__LINE__, i^=j|=k, 6);
        !           393:        iequals(__LINE__, i, 6);
        !           394:        iequals(__LINE__, j, 5);
        !           395:        iequals(__LINE__, (i^=j,k), 4);
        !           396:        iequals(__LINE__, i, 3);
        !           397:        }
        !           398: 
        !           399: /*  X|=YopZ */
        !           400: static void p1_46()
        !           401:        {
        !           402:        int i = 1;
        !           403:        int j = 2;
        !           404:        int k = 4;
        !           405:        iequals(__LINE__, i|=j|=k, 7);
        !           406:        iequals(__LINE__, i, 7);
        !           407:        iequals(__LINE__, j, 6);
        !           408:        iequals(__LINE__, (i|=j,k), 4);
        !           409:        iequals(__LINE__, i, 7);
        !           410:        }
        !           411: 
        !           412: /*  X,YopZ */
        !           413: static void p1_47()
        !           414:        {
        !           415:        int i = 1;
        !           416:        int j = 2;
        !           417:        int k = 3;
        !           418:        iequals(__LINE__, (i,j,k), k);
        !           419:        }

unix.superglobalmegacorp.com

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