Annotation of researchv10no/cmd/lcc/ph/xor.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 the Suite corresponds to the 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: #define ANSI 1  /* This file follows ANSI arithmetic rules, which may not work in non-ANSI modes */
        !            11: #include "types.h"
        !            12: #include "o.h"
        !            13: int main()
        !            14:        {
        !            15:        extern char *Filename;
        !            16:        auto CHAR Ac = 7;
        !            17: #if ANSI
        !            18:        auto SCHAR Asc = 8;
        !            19: #endif
        !            20:        auto SHORT As = 9;
        !            21:        auto INT Ai = 10;
        !            22:        auto UCHAR Auc = 11;
        !            23:        auto USHORT Aus = 12;
        !            24:        auto UINT Aui = 13;
        !            25:        auto LONG Al = 14;
        !            26:        auto ULONG Aul = 15;
        !            27:        auto FLOAT Af = 16;
        !            28:        auto DOUBLE Ad = 17;
        !            29: #if ANSI
        !            30:        auto LDOUBLE Ald = 18;
        !            31: #endif
        !            32:        {
        !            33:        {
        !            34:        int true = 1, false = 0;
        !            35:        Filename =  " auto scalar auto funcrs xor ";
        !            36:        iequals(__LINE__, Ac ^ Oc().c, 0);
        !            37:        iequals(__LINE__, Oc().c ^ Ac, 0);
        !            38: #if ANSI
        !            39:        iequals(__LINE__, Ac ^ Osc().sc, 15);
        !            40:        iequals(__LINE__, Osc().sc ^ Ac, 15);
        !            41: #endif
        !            42:        iequals(__LINE__, Ac ^ Os().s, 14);
        !            43:        iequals(__LINE__, Os().s ^ Ac, 14);
        !            44:        iequals(__LINE__, Ac ^ Oi().i, 13);
        !            45:        iequals(__LINE__, Oi().i ^ Ac, 13);
        !            46:        iequals(__LINE__, Ac ^ Ouc().uc, 12);
        !            47:        iequals(__LINE__, Ouc().uc ^ Ac, 12);
        !            48:        iequals(__LINE__, Ac ^ Ous().us, 11);
        !            49:        iequals(__LINE__, Ous().us ^ Ac, 11);
        !            50:        iequals(__LINE__, Ac ^ Oui().ui, 10);
        !            51:        iequals(__LINE__, Oui().ui ^ Ac, 10);
        !            52:        lequals(__LINE__, Ac ^ Ol().l, 9L);
        !            53:        lequals(__LINE__, Ol().l ^ Ac, 9L);
        !            54:        lequals(__LINE__, Ac ^ Oul().ul, 8L);
        !            55:        lequals(__LINE__, Oul().ul ^ Ac, 8L);
        !            56: #if ANSI
        !            57:        iequals(__LINE__, Asc ^ Oc().c, 15);
        !            58:        iequals(__LINE__, Oc().c ^ Asc, 15);
        !            59: #endif
        !            60: #if ANSI
        !            61:        iequals(__LINE__, Asc ^ Osc().sc, 0);
        !            62:        iequals(__LINE__, Osc().sc ^ Asc, 0);
        !            63: #endif
        !            64: #if ANSI
        !            65:        iequals(__LINE__, Asc ^ Os().s, 1);
        !            66:        iequals(__LINE__, Os().s ^ Asc, 1);
        !            67: #endif
        !            68: #if ANSI
        !            69:        iequals(__LINE__, Asc ^ Oi().i, 2);
        !            70:        iequals(__LINE__, Oi().i ^ Asc, 2);
        !            71: #endif
        !            72: #if ANSI
        !            73:        iequals(__LINE__, Asc ^ Ouc().uc, 3);
        !            74:        iequals(__LINE__, Ouc().uc ^ Asc, 3);
        !            75: #endif
        !            76: #if ANSI
        !            77:        iequals(__LINE__, Asc ^ Ous().us, 4);
        !            78:        iequals(__LINE__, Ous().us ^ Asc, 4);
        !            79: #endif
        !            80: #if ANSI
        !            81:        iequals(__LINE__, Asc ^ Oui().ui, 5);
        !            82:        iequals(__LINE__, Oui().ui ^ Asc, 5);
        !            83: #endif
        !            84: #if ANSI
        !            85:        lequals(__LINE__, Asc ^ Ol().l, 6L);
        !            86:        lequals(__LINE__, Ol().l ^ Asc, 6L);
        !            87: #endif
        !            88: #if ANSI
        !            89:        lequals(__LINE__, Asc ^ Oul().ul, 7L);
        !            90:        lequals(__LINE__, Oul().ul ^ Asc, 7L);
        !            91: #endif
        !            92:        iequals(__LINE__, As ^ Oc().c, 14);
        !            93:        iequals(__LINE__, Oc().c ^ As, 14);
        !            94: #if ANSI
        !            95:        iequals(__LINE__, As ^ Osc().sc, 1);
        !            96:        iequals(__LINE__, Osc().sc ^ As, 1);
        !            97: #endif
        !            98:        iequals(__LINE__, As ^ Os().s, 0);
        !            99:        iequals(__LINE__, Os().s ^ As, 0);
        !           100:        iequals(__LINE__, As ^ Oi().i, 3);
        !           101:        iequals(__LINE__, Oi().i ^ As, 3);
        !           102:        iequals(__LINE__, As ^ Ouc().uc, 2);
        !           103:        iequals(__LINE__, Ouc().uc ^ As, 2);
        !           104:        iequals(__LINE__, As ^ Ous().us, 5);
        !           105:        iequals(__LINE__, Ous().us ^ As, 5);
        !           106:        iequals(__LINE__, As ^ Oui().ui, 4);
        !           107:        iequals(__LINE__, Oui().ui ^ As, 4);
        !           108:        lequals(__LINE__, As ^ Ol().l, 7L);
        !           109:        lequals(__LINE__, Ol().l ^ As, 7L);
        !           110:        lequals(__LINE__, As ^ Oul().ul, 6L);
        !           111:        lequals(__LINE__, Oul().ul ^ As, 6L);
        !           112:        iequals(__LINE__, Ai ^ Oc().c, 13);
        !           113:        iequals(__LINE__, Oc().c ^ Ai, 13);
        !           114: #if ANSI
        !           115:        iequals(__LINE__, Ai ^ Osc().sc, 2);
        !           116:        iequals(__LINE__, Osc().sc ^ Ai, 2);
        !           117: #endif
        !           118:        iequals(__LINE__, Ai ^ Os().s, 3);
        !           119:        iequals(__LINE__, Os().s ^ Ai, 3);
        !           120:        iequals(__LINE__, Ai ^ Oi().i, 0);
        !           121:        iequals(__LINE__, Oi().i ^ Ai, 0);
        !           122:        iequals(__LINE__, Ai ^ Ouc().uc, 1);
        !           123:        iequals(__LINE__, Ouc().uc ^ Ai, 1);
        !           124:        iequals(__LINE__, Ai ^ Ous().us, 6);
        !           125:        iequals(__LINE__, Ous().us ^ Ai, 6);
        !           126:        iequals(__LINE__, Ai ^ Oui().ui, 7);
        !           127:        iequals(__LINE__, Oui().ui ^ Ai, 7);
        !           128:        lequals(__LINE__, Ai ^ Ol().l, 4L);
        !           129:        lequals(__LINE__, Ol().l ^ Ai, 4L);
        !           130:        lequals(__LINE__, Ai ^ Oul().ul, 5L);
        !           131:        lequals(__LINE__, Oul().ul ^ Ai, 5L);
        !           132:        iequals(__LINE__, Auc ^ Oc().c, 12);
        !           133:        iequals(__LINE__, Oc().c ^ Auc, 12);
        !           134: #if ANSI
        !           135:        iequals(__LINE__, Auc ^ Osc().sc, 3);
        !           136:        iequals(__LINE__, Osc().sc ^ Auc, 3);
        !           137: #endif
        !           138:        iequals(__LINE__, Auc ^ Os().s, 2);
        !           139:        iequals(__LINE__, Os().s ^ Auc, 2);
        !           140:        iequals(__LINE__, Auc ^ Oi().i, 1);
        !           141:        iequals(__LINE__, Oi().i ^ Auc, 1);
        !           142:        iequals(__LINE__, Auc ^ Ouc().uc, 0);
        !           143:        iequals(__LINE__, Ouc().uc ^ Auc, 0);
        !           144:        iequals(__LINE__, Auc ^ Ous().us, 7);
        !           145:        iequals(__LINE__, Ous().us ^ Auc, 7);
        !           146:        iequals(__LINE__, Auc ^ Oui().ui, 6);
        !           147:        iequals(__LINE__, Oui().ui ^ Auc, 6);
        !           148:        lequals(__LINE__, Auc ^ Ol().l, 5L);
        !           149:        lequals(__LINE__, Ol().l ^ Auc, 5L);
        !           150:        lequals(__LINE__, Auc ^ Oul().ul, 4L);
        !           151:        lequals(__LINE__, Oul().ul ^ Auc, 4L);
        !           152:        iequals(__LINE__, Aus ^ Oc().c, 11);
        !           153:        iequals(__LINE__, Oc().c ^ Aus, 11);
        !           154: #if ANSI
        !           155:        iequals(__LINE__, Aus ^ Osc().sc, 4);
        !           156:        iequals(__LINE__, Osc().sc ^ Aus, 4);
        !           157: #endif
        !           158:        iequals(__LINE__, Aus ^ Os().s, 5);
        !           159:        iequals(__LINE__, Os().s ^ Aus, 5);
        !           160:        iequals(__LINE__, Aus ^ Oi().i, 6);
        !           161:        iequals(__LINE__, Oi().i ^ Aus, 6);
        !           162:        iequals(__LINE__, Aus ^ Ouc().uc, 7);
        !           163:        iequals(__LINE__, Ouc().uc ^ Aus, 7);
        !           164:        iequals(__LINE__, Aus ^ Ous().us, 0);
        !           165:        iequals(__LINE__, Ous().us ^ Aus, 0);
        !           166:        iequals(__LINE__, Aus ^ Oui().ui, 1);
        !           167:        iequals(__LINE__, Oui().ui ^ Aus, 1);
        !           168:        lequals(__LINE__, Aus ^ Ol().l, 2L);
        !           169:        lequals(__LINE__, Ol().l ^ Aus, 2L);
        !           170:        lequals(__LINE__, Aus ^ Oul().ul, 3L);
        !           171:        lequals(__LINE__, Oul().ul ^ Aus, 3L);
        !           172:        iequals(__LINE__, Aui ^ Oc().c, 10);
        !           173:        iequals(__LINE__, Oc().c ^ Aui, 10);
        !           174: #if ANSI
        !           175:        iequals(__LINE__, Aui ^ Osc().sc, 5);
        !           176:        iequals(__LINE__, Osc().sc ^ Aui, 5);
        !           177: #endif
        !           178:        iequals(__LINE__, Aui ^ Os().s, 4);
        !           179:        iequals(__LINE__, Os().s ^ Aui, 4);
        !           180:        iequals(__LINE__, Aui ^ Oi().i, 7);
        !           181:        iequals(__LINE__, Oi().i ^ Aui, 7);
        !           182:        iequals(__LINE__, Aui ^ Ouc().uc, 6);
        !           183:        iequals(__LINE__, Ouc().uc ^ Aui, 6);
        !           184:        iequals(__LINE__, Aui ^ Ous().us, 1);
        !           185:        iequals(__LINE__, Ous().us ^ Aui, 1);
        !           186:        iequals(__LINE__, Aui ^ Oui().ui, 0);
        !           187:        iequals(__LINE__, Oui().ui ^ Aui, 0);
        !           188:        lequals(__LINE__, Aui ^ Ol().l, 3L);
        !           189:        lequals(__LINE__, Ol().l ^ Aui, 3L);
        !           190:        lequals(__LINE__, Aui ^ Oul().ul, 2L);
        !           191:        lequals(__LINE__, Oul().ul ^ Aui, 2L);
        !           192:        lequals(__LINE__, Al ^ Oc().c, 9L);
        !           193:        lequals(__LINE__, Oc().c ^ Al, 9L);
        !           194: #if ANSI
        !           195:        lequals(__LINE__, Al ^ Osc().sc, 6L);
        !           196:        lequals(__LINE__, Osc().sc ^ Al, 6L);
        !           197: #endif
        !           198:        lequals(__LINE__, Al ^ Os().s, 7L);
        !           199:        lequals(__LINE__, Os().s ^ Al, 7L);
        !           200:        lequals(__LINE__, Al ^ Oi().i, 4L);
        !           201:        lequals(__LINE__, Oi().i ^ Al, 4L);
        !           202:        lequals(__LINE__, Al ^ Ouc().uc, 5L);
        !           203:        lequals(__LINE__, Ouc().uc ^ Al, 5L);
        !           204:        lequals(__LINE__, Al ^ Ous().us, 2L);
        !           205:        lequals(__LINE__, Ous().us ^ Al, 2L);
        !           206:        lequals(__LINE__, Al ^ Oui().ui, 3L);
        !           207:        lequals(__LINE__, Oui().ui ^ Al, 3L);
        !           208:        lequals(__LINE__, Al ^ Ol().l, 0L);
        !           209:        lequals(__LINE__, Ol().l ^ Al, 0L);
        !           210:        lequals(__LINE__, Al ^ Oul().ul, 1L);
        !           211:        lequals(__LINE__, Oul().ul ^ Al, 1L);
        !           212:        lequals(__LINE__, Aul ^ Oc().c, 8L);
        !           213:        lequals(__LINE__, Oc().c ^ Aul, 8L);
        !           214: #if ANSI
        !           215:        lequals(__LINE__, Aul ^ Osc().sc, 7L);
        !           216:        lequals(__LINE__, Osc().sc ^ Aul, 7L);
        !           217: #endif
        !           218:        lequals(__LINE__, Aul ^ Os().s, 6L);
        !           219:        lequals(__LINE__, Os().s ^ Aul, 6L);
        !           220:        lequals(__LINE__, Aul ^ Oi().i, 5L);
        !           221:        lequals(__LINE__, Oi().i ^ Aul, 5L);
        !           222:        lequals(__LINE__, Aul ^ Ouc().uc, 4L);
        !           223:        lequals(__LINE__, Ouc().uc ^ Aul, 4L);
        !           224:        lequals(__LINE__, Aul ^ Ous().us, 3L);
        !           225:        lequals(__LINE__, Ous().us ^ Aul, 3L);
        !           226:        lequals(__LINE__, Aul ^ Oui().ui, 2L);
        !           227:        lequals(__LINE__, Oui().ui ^ Aul, 2L);
        !           228:        lequals(__LINE__, Aul ^ Ol().l, 1L);
        !           229:        lequals(__LINE__, Ol().l ^ Aul, 1L);
        !           230:        lequals(__LINE__, Aul ^ Oul().ul, 0L);
        !           231:        lequals(__LINE__, Oul().ul ^ Aul, 0L);
        !           232:        }}
        !           233:        return  report(Filename);
        !           234:        }

unix.superglobalmegacorp.com

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