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

unix.superglobalmegacorp.com

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