|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.