|
|
1.1 ! root 1: C COMMENT SECTION. 00010009 ! 2: C DATE***82/08/02*18.33.46 ! 3: C OWNER PRE/850703/TC-85- -410/ /FSTC/278FCVS*F78UBP20/ ! 4: C AUDIT FCVS78 V2.0 ! 5: C 00020009 ! 6: C FM009 00030009 ! 7: C 00040009 ! 8: C THIS ROUTINE TESTS ARITHMETIC ASSIGNMENT STATEMENTS OF THE 00050009 ! 9: C FORM 00060009 ! 10: C INTEGER VARIABLE = ARITHMETIC EXPRESSION 00070009 ! 11: C WHERE THE ARITHMETIC EXPRESSION IS FORMED WITH THE ARITHMETIC 00080009 ! 12: C OPERATOR +, INTEGER CONSTANTS AND POSITIVE INTEGER VARIABLES. 00090009 ! 13: C SOME OF THE TESTS USE PARENTHESES TO GROUP ELEMENTS IN THE 00100009 ! 14: C ARITHMETIC EXPRESSION. 00110009 ! 15: C 00120009 ! 16: C THERE ARE TESTS WHERE THE ARITHMETIC EXPRESSION CONTAINS 00130009 ! 17: C (1) TWO INTEGER VARIABLES, 00140009 ! 18: C (2) TWO INTEGER VARIABLES AND ONE INTEGER CONSTANT, 00150009 ! 19: C (3) TWO INTEGER VARIABLES AND ONE INTEGER CONSTANT WITH 00160009 ! 20: C PARENTHESES TO GROUP ELEMENTS. 00170009 ! 21: C 00180009 ! 22: C REFERENCES 00190009 ! 23: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00200009 ! 24: C X3.9-1978 00210009 ! 25: C 00220009 ! 26: C SECTION 4.3, INTEGER TYPE 00230009 ! 27: C SECTION 4.3.1, INTEGER CONSTANT 00240009 ! 28: C SECTION 6.1, ARITHMETIC EXPRESSIONS 00250009 ! 29: C SECTION 10.1, ARITHMETIC ASSIGNMENT STATEMENTS 00260009 ! 30: C 00270009 ! 31: C ********************************************************** 00280009 ! 32: C 00290009 ! 33: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00300009 ! 34: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD 00310009 ! 35: C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00320009 ! 36: C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER 00330009 ! 37: C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00340009 ! 38: C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN 00350009 ! 39: C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC 00360009 ! 40: C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00370009 ! 41: C OF EXECUTING THESE TESTS. 00380009 ! 42: C 00390009 ! 43: C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00400009 ! 44: C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. 00410009 ! 45: C 00420009 ! 46: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - 00430009 ! 47: C 00440009 ! 48: C DEPARTMENT OF THE NAVY 00450009 ! 49: C FEDERAL COBOL COMPILER TESTING SERVICE 00460009 ! 50: C WASHINGTON, D.C. 20376 00470009 ! 51: C 00480009 ! 52: C ********************************************************** 00490009 ! 53: C 00500009 ! 54: C 00510009 ! 55: C 00520009 ! 56: C INITIALIZATION SECTION 00530009 ! 57: C 00540009 ! 58: C INITIALIZE CONSTANTS 00550009 ! 59: C ************** 00560009 ! 60: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00570009 ! 61: I01 = 5 00580009 ! 62: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00590009 ! 63: I02 = 6 00600009 ! 64: C SYSTEM ENVIRONMENT SECTION 00610009 ! 65: C 00620009 ! 66: I01 = 5 00630009 ! 67: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00640009 ! 68: C (UNIT NUMBER FOR CARD READER). 00650009 ! 69: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00660009 ! 70: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00670009 ! 71: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00680009 ! 72: C 00690009 ! 73: I02 = 6 00700009 ! 74: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00710009 ! 75: C (UNIT NUMBER FOR PRINTER). 00720009 ! 76: CX021 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00730009 ! 77: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00740009 ! 78: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 00750009 ! 79: C 00760009 ! 80: IVPASS=0 00770009 ! 81: IVFAIL=0 00780009 ! 82: IVDELE=0 00790009 ! 83: ICZERO=0 00800009 ! 84: C 00810009 ! 85: C WRITE PAGE HEADERS 00820009 ! 86: WRITE (I02,90000) 00830009 ! 87: WRITE (I02,90001) 00840009 ! 88: WRITE (I02,90002) 00850009 ! 89: WRITE (I02, 90002) 00860009 ! 90: WRITE (I02,90003) 00870009 ! 91: WRITE (I02,90002) 00880009 ! 92: WRITE (I02,90004) 00890009 ! 93: WRITE (I02,90002) 00900009 ! 94: WRITE (I02,90011) 00910009 ! 95: WRITE (I02,90002) 00920009 ! 96: WRITE (I02,90002) 00930009 ! 97: WRITE (I02,90005) 00940009 ! 98: WRITE (I02,90006) 00950009 ! 99: WRITE (I02,90002) 00960009 ! 100: C 00970009 ! 101: C TEST SECTION 00980009 ! 102: C 00990009 ! 103: C ARITHMETIC ASSIGNMENT STATEMENT 01000009 ! 104: C 01010009 ! 105: C TEST 235 THROUGH TEST 243 CONTAIN TWO POSITIVE INTEGER VARIABLES 01020009 ! 106: C AND OPERATOR + IN ARITHMETIC EXPRESSION. 01030009 ! 107: C 01040009 ! 108: 2351 CONTINUE 01050009 ! 109: IVTNUM = 235 01060009 ! 110: C 01070009 ! 111: C **** TEST 235 **** 01080009 ! 112: C 01090009 ! 113: IF (ICZERO) 32350, 2350, 32350 01100009 ! 114: 2350 CONTINUE 01110009 ! 115: IVON01 = 2 01120009 ! 116: IVON02 = 3 01130009 ! 117: IVCOMP = IVON01 + IVON02 01140009 ! 118: GO TO 42350 01150009 ! 119: 32350 IVDELE = IVDELE + 1 01160009 ! 120: WRITE (I02,80003) IVTNUM 01170009 ! 121: IF (ICZERO) 42350, 2361, 42350 01180009 ! 122: 42350 IF (IVCOMP - 5) 22350,12350,22350 01190009 ! 123: 12350 IVPASS = IVPASS + 1 01200009 ! 124: WRITE (I02,80001) IVTNUM 01210009 ! 125: GO TO 2361 01220009 ! 126: 22350 IVFAIL = IVFAIL + 1 01230009 ! 127: IVCORR = 5 01240009 ! 128: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01250009 ! 129: 2361 CONTINUE 01260009 ! 130: IVTNUM = 236 01270009 ! 131: C 01280009 ! 132: C **** TEST 236 **** 01290009 ! 133: C 01300009 ! 134: IF (ICZERO) 32360, 2360, 32360 01310009 ! 135: 2360 CONTINUE 01320009 ! 136: IVON01 = 2 01330009 ! 137: IVON02 = 3 01340009 ! 138: IVCOMP = IVON02 + IVON01 01350009 ! 139: GO TO 42360 01360009 ! 140: 32360 IVDELE = IVDELE + 1 01370009 ! 141: WRITE (I02,80003) IVTNUM 01380009 ! 142: IF (ICZERO) 42360, 2371, 42360 01390009 ! 143: 42360 IF (IVCOMP - 5) 22360, 12360, 22360 01400009 ! 144: 12360 IVPASS = IVPASS + 1 01410009 ! 145: WRITE (I02,80001) IVTNUM 01420009 ! 146: GO TO 2371 01430009 ! 147: 22360 IVFAIL = IVFAIL + 1 01440009 ! 148: IVCORR = 5 01450009 ! 149: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01460009 ! 150: 2371 CONTINUE 01470009 ! 151: IVTNUM = 237 01480009 ! 152: C 01490009 ! 153: C **** TEST 237 **** 01500009 ! 154: C 01510009 ! 155: IF (ICZERO) 32370, 2370, 32370 01520009 ! 156: 2370 CONTINUE 01530009 ! 157: IVON01 = 51 01540009 ! 158: IVON02 = 52 01550009 ! 159: IVCOMP = IVON01 + IVON02 01560009 ! 160: GO TO 42370 01570009 ! 161: 32370 IVDELE = IVDELE + 1 01580009 ! 162: WRITE (I02,80003) IVTNUM 01590009 ! 163: IF (ICZERO) 42370, 2381, 42370 01600009 ! 164: 42370 IF (IVCOMP - 103) 22370, 12370, 22370 01610009 ! 165: 12370 IVPASS = IVPASS + 1 01620009 ! 166: WRITE (I02,80001) IVTNUM 01630009 ! 167: GO TO 2381 01640009 ! 168: 22370 IVFAIL = IVFAIL + 1 01650009 ! 169: IVCORR = 103 01660009 ! 170: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01670009 ! 171: 2381 CONTINUE 01680009 ! 172: IVTNUM = 238 01690009 ! 173: C 01700009 ! 174: C **** TEST 238 **** 01710009 ! 175: C 01720009 ! 176: IF (ICZERO) 32380, 2380, 32380 01730009 ! 177: 2380 CONTINUE 01740009 ! 178: IVON01 = 189 01750009 ! 179: IVON02 = 676 01760009 ! 180: IVCOMP = IVON01 + IVON02 01770009 ! 181: GO TO 42380 01780009 ! 182: 32380 IVDELE = IVDELE + 1 01790009 ! 183: WRITE (I02,80003) IVTNUM 01800009 ! 184: IF (ICZERO) 42380, 2391, 42380 01810009 ! 185: 42380 IF (IVCOMP - 865) 22380, 12380, 22380 01820009 ! 186: 12380 IVPASS = IVPASS + 1 01830009 ! 187: WRITE (I02,80001) IVTNUM 01840009 ! 188: GO TO 2391 01850009 ! 189: 22380 IVFAIL = IVFAIL + 1 01860009 ! 190: IVCORR = 865 01870009 ! 191: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01880009 ! 192: 2391 CONTINUE 01890009 ! 193: IVTNUM = 239 01900009 ! 194: C 01910009 ! 195: C **** TEST 239 **** 01920009 ! 196: C 01930009 ! 197: IF (ICZERO) 32390, 2390, 32390 01940009 ! 198: 2390 CONTINUE 01950009 ! 199: IVON01 = 1358 01960009 ! 200: IVON02 = 8001 01970009 ! 201: IVCOMP = IVON01 + IVON02 01980009 ! 202: GO TO 42390 01990009 ! 203: 32390 IVDELE = IVDELE + 1 02000009 ! 204: WRITE (I02,80003) IVTNUM 02010009 ! 205: IF (ICZERO) 42390, 2401, 42390 02020009 ! 206: 42390 IF (IVCOMP - 9359) 22390, 12390, 22390 02030009 ! 207: 12390 IVPASS = IVPASS + 1 02040009 ! 208: WRITE (I02,80001) IVTNUM 02050009 ! 209: GO TO 2401 02060009 ! 210: 22390 IVFAIL = IVFAIL + 1 02070009 ! 211: IVCORR = 9359 02080009 ! 212: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02090009 ! 213: 2401 CONTINUE 02100009 ! 214: IVTNUM = 240 02110009 ! 215: C 02120009 ! 216: C **** TEST 240 **** 02130009 ! 217: C 02140009 ! 218: IF (ICZERO) 32400, 2400, 32400 02150009 ! 219: 2400 CONTINUE 02160009 ! 220: IVON01 = 1358 02170009 ! 221: IVON02 = 8001 02180009 ! 222: IVCOMP = IVON02 + IVON01 02190009 ! 223: GO TO 42400 02200009 ! 224: 32400 IVDELE = IVDELE + 1 02210009 ! 225: WRITE (I02,80003) IVTNUM 02220009 ! 226: IF (ICZERO) 42400, 2411, 42400 02230009 ! 227: 42400 IF (IVCOMP - 9359) 22400, 12400, 22400 02240009 ! 228: 12400 IVPASS = IVPASS + 1 02250009 ! 229: WRITE (I02,80001) IVTNUM 02260009 ! 230: GO TO 2411 02270009 ! 231: 22400 IVFAIL = IVFAIL + 1 02280009 ! 232: IVCORR = 9359 02290009 ! 233: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02300009 ! 234: 2411 CONTINUE 02310009 ! 235: IVTNUM = 241 02320009 ! 236: C 02330009 ! 237: C **** TEST 241 **** 02340009 ! 238: C 02350009 ! 239: IF (ICZERO) 32410, 2410, 32410 02360009 ! 240: 2410 CONTINUE 02370009 ! 241: IVON01 = 11112 02380009 ! 242: IVON02 = 10001 02390009 ! 243: IVCOMP = IVON01 + IVON02 02400009 ! 244: GO TO 42410 02410009 ! 245: 32410 IVDELE = IVDELE + 1 02420009 ! 246: WRITE (I02,80003) IVTNUM 02430009 ! 247: IF (ICZERO) 42410, 2421, 42410 02440009 ! 248: 42410 IF (IVCOMP - 21113) 22410, 12410, 22410 02450009 ! 249: 12410 IVPASS = IVPASS + 1 02460009 ! 250: WRITE (I02,80001) IVTNUM 02470009 ! 251: GO TO 2421 02480009 ! 252: 22410 IVFAIL = IVFAIL + 1 02490009 ! 253: IVCORR = 21113 02500009 ! 254: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02510009 ! 255: 2421 CONTINUE 02520009 ! 256: IVTNUM = 242 02530009 ! 257: C 02540009 ! 258: C **** TEST 242 **** 02550009 ! 259: C 02560009 ! 260: IF (ICZERO) 32420, 2420, 32420 02570009 ! 261: 2420 CONTINUE 02580009 ! 262: IVON01 = 189 02590009 ! 263: IVON02 = 9876 02600009 ! 264: IVCOMP = IVON01 + IVON02 02610009 ! 265: GO TO 42420 02620009 ! 266: 32420 IVDELE = IVDELE + 1 02630009 ! 267: WRITE (I02,80003) IVTNUM 02640009 ! 268: IF (ICZERO) 42420, 2431, 42420 02650009 ! 269: 42420 IF (IVCOMP - 10065) 22420, 12420, 22420 02660009 ! 270: 12420 IVPASS = IVPASS + 1 02670009 ! 271: WRITE (I02,80001) IVTNUM 02680009 ! 272: GO TO 2431 02690009 ! 273: 22420 IVFAIL = IVFAIL + 1 02700009 ! 274: IVCORR = 10065 02710009 ! 275: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02720009 ! 276: 2431 CONTINUE 02730009 ! 277: IVTNUM = 243 02740009 ! 278: C 02750009 ! 279: C **** TEST 243 **** 02760009 ! 280: C REQUIRES 32767 02770009 ! 281: C 02780009 ! 282: IF (ICZERO) 32430, 2430, 32430 02790009 ! 283: 2430 CONTINUE 02800009 ! 284: IVON01 = 16383 02810009 ! 285: IVON02 = 16384 02820009 ! 286: IVCOMP = IVON01 + IVON02 02830009 ! 287: GO TO 42430 02840009 ! 288: 32430 IVDELE = IVDELE + 1 02850009 ! 289: WRITE (I02,80003) IVTNUM 02860009 ! 290: IF (ICZERO) 42430, 2441, 42430 02870009 ! 291: 42430 IF (IVCOMP - 32767) 22430, 12430, 22430 02880009 ! 292: 12430 IVPASS = IVPASS + 1 02890009 ! 293: WRITE (I02,80001) IVTNUM 02900009 ! 294: GO TO 2441 02910009 ! 295: 22430 IVFAIL = IVFAIL + 1 02920009 ! 296: IVCORR = 32767 02930009 ! 297: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02940009 ! 298: C 02950009 ! 299: C TEST 244 THROUGH TEST 250 CONTAIN TWO POSITIVE INTEGER VARIABLES, 02960009 ! 300: C ONE INTEGER CONSTANT, AND OPERATOR + IN ARITHMETIC EXPRESSION. 02970009 ! 301: C 02980009 ! 302: 2441 CONTINUE 02990009 ! 303: IVTNUM = 244 03000009 ! 304: C 03010009 ! 305: C **** TEST 244 **** 03020009 ! 306: C 03030009 ! 307: IF (ICZERO) 32440, 2440, 32440 03040009 ! 308: 2440 CONTINUE 03050009 ! 309: IVON01 = 2 03060009 ! 310: IVON02 = 3 03070009 ! 311: IVCOMP = IVON01 + IVON02 + 4 03080009 ! 312: GO TO 42440 03090009 ! 313: 32440 IVDELE = IVDELE + 1 03100009 ! 314: WRITE (I02,80003) IVTNUM 03110009 ! 315: IF (ICZERO) 42440, 2451, 42440 03120009 ! 316: 42440 IF (IVCOMP - 9) 22440, 12440, 22440 03130009 ! 317: 12440 IVPASS = IVPASS + 1 03140009 ! 318: WRITE (I02,80001) IVTNUM 03150009 ! 319: GO TO 2451 03160009 ! 320: 22440 IVFAIL = IVFAIL + 1 03170009 ! 321: IVCORR = 9 03180009 ! 322: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03190009 ! 323: 2451 CONTINUE 03200009 ! 324: IVTNUM = 245 03210009 ! 325: C 03220009 ! 326: C **** TEST 245 **** 03230009 ! 327: C 03240009 ! 328: IF (ICZERO) 32450, 2450, 32450 03250009 ! 329: 2450 CONTINUE 03260009 ! 330: IVON01 = 2 03270009 ! 331: IVON03 = 4 03280009 ! 332: IVCOMP = IVON01 +3 + IVON03 03290009 ! 333: GO TO 42450 03300009 ! 334: 32450 IVDELE = IVDELE + 1 03310009 ! 335: WRITE (I02,80003) IVTNUM 03320009 ! 336: IF (ICZERO) 42450, 2461, 42450 03330009 ! 337: 42450 IF (IVCOMP - 9) 22450, 12450, 22450 03340009 ! 338: 12450 IVPASS = IVPASS + 1 03350009 ! 339: WRITE (I02,80001) IVTNUM 03360009 ! 340: GO TO 2461 03370009 ! 341: 22450 IVFAIL = IVFAIL + 1 03380009 ! 342: IVCORR = 9 03390009 ! 343: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03400009 ! 344: 2461 CONTINUE 03410009 ! 345: IVTNUM = 246 03420009 ! 346: C 03430009 ! 347: C **** TEST 246 **** 03440009 ! 348: C 03450009 ! 349: IF (ICZERO) 32460, 2460, 32460 03460009 ! 350: 2460 CONTINUE 03470009 ! 351: IVON02 = 3 03480009 ! 352: IVON03 = 4 03490009 ! 353: IVCOMP = 2 + IVON02 + IVON03 03500009 ! 354: GO TO 42460 03510009 ! 355: 32460 IVDELE = IVDELE + 1 03520009 ! 356: WRITE (I02,80003) IVTNUM 03530009 ! 357: IF (ICZERO) 42460, 2471, 42460 03540009 ! 358: 42460 IF (IVCOMP - 9) 22460, 12460, 22460 03550009 ! 359: 12460 IVPASS = IVPASS + 1 03560009 ! 360: WRITE (I02,80001) IVTNUM 03570009 ! 361: GO TO 2471 03580009 ! 362: 22460 IVFAIL = IVFAIL + 1 03590009 ! 363: IVCORR = 9 03600009 ! 364: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03610009 ! 365: 2471 CONTINUE 03620009 ! 366: IVTNUM = 247 03630009 ! 367: C 03640009 ! 368: C **** TEST 247 **** 03650009 ! 369: C 03660009 ! 370: IF (ICZERO) 32470, 2470, 32470 03670009 ! 371: 2470 CONTINUE 03680009 ! 372: IVON01 = 51 03690009 ! 373: IVON03 = 53 03700009 ! 374: IVCOMP = IVON01 +52 + IVON03 03710009 ! 375: GO TO 42470 03720009 ! 376: 32470 IVDELE = IVDELE + 1 03730009 ! 377: WRITE (I02,80003) IVTNUM 03740009 ! 378: IF (ICZERO) 42470, 2481, 42470 03750009 ! 379: 42470 IF (IVCOMP - 156) 22470, 12470, 22470 03760009 ! 380: 12470 IVPASS = IVPASS + 1 03770009 ! 381: WRITE (I02,80001) IVTNUM 03780009 ! 382: GO TO 2481 03790009 ! 383: 22470 IVFAIL = IVFAIL + 1 03800009 ! 384: IVCORR = 156 03810009 ! 385: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03820009 ! 386: 2481 CONTINUE 03830009 ! 387: IVTNUM = 248 03840009 ! 388: C 03850009 ! 389: C **** TEST 248 **** 03860009 ! 390: C 03870009 ! 391: IF (ICZERO) 32480, 2480, 32480 03880009 ! 392: 2480 CONTINUE 03890009 ! 393: IVON02 = 676 03900009 ! 394: IVON03 = 101 03910009 ! 395: IVCOMP = 189 + IVON02 + IVON03 03920009 ! 396: GO TO 42480 03930009 ! 397: 32480 IVDELE = IVDELE + 1 03940009 ! 398: WRITE (I02,80003) IVTNUM 03950009 ! 399: IF (ICZERO) 42480, 2491, 42480 03960009 ! 400: 42480 IF (IVCOMP - 966) 22480, 12480, 22480 03970009 ! 401: 12480 IVPASS = IVPASS + 1 03980009 ! 402: WRITE (I02,80001) IVTNUM 03990009 ! 403: GO TO 2491 04000009 ! 404: 22480 IVFAIL = IVFAIL + 1 04010009 ! 405: IVCORR = 966 04020009 ! 406: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04030009 ! 407: 2491 CONTINUE 04040009 ! 408: IVTNUM = 249 04050009 ! 409: C 04060009 ! 410: C **** TEST 249 **** 04070009 ! 411: C 04080009 ! 412: IF (ICZERO) 32490, 2490, 32490 04090009 ! 413: 2490 CONTINUE 04100009 ! 414: IVON01 = 1358 04110009 ! 415: IVON02 = 8001 04120009 ! 416: IVCOMP = IVON01 + IVON02 + 2189 04130009 ! 417: GO TO 42490 04140009 ! 418: 32490 IVDELE = IVDELE + 1 04150009 ! 419: WRITE (I02,80003) IVTNUM 04160009 ! 420: IF (ICZERO) 42490, 2501, 42490 04170009 ! 421: 42490 IF (IVCOMP - 11548) 22490, 12490, 22490 04180009 ! 422: 12490 IVPASS = IVPASS + 1 04190009 ! 423: WRITE (I02,80001) IVTNUM 04200009 ! 424: GO TO 2501 04210009 ! 425: 22490 IVFAIL = IVFAIL + 1 04220009 ! 426: IVCORR = 11548 04230009 ! 427: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04240009 ! 428: 2501 CONTINUE 04250009 ! 429: IVTNUM = 250 04260009 ! 430: C 04270009 ! 431: C **** TEST 250 **** 04280009 ! 432: C REQUIRES 32767 04290009 ! 433: C 04300009 ! 434: IF (ICZERO) 32500, 2500, 32500 04310009 ! 435: 2500 CONTINUE 04320009 ! 436: IVON01 = 16383 04330009 ! 437: IVON03 = 4 04340009 ! 438: IVCOMP = IVON01 + 16380 + IVON03 04350009 ! 439: GO TO 42500 04360009 ! 440: 32500 IVDELE = IVDELE + 1 04370009 ! 441: WRITE (I02,80003) IVTNUM 04380009 ! 442: IF (ICZERO) 42500, 2511, 42500 04390009 ! 443: 42500 IF (IVCOMP - 32767) 22500,12500,22500 04400009 ! 444: 12500 IVPASS = IVPASS + 1 04410009 ! 445: WRITE (I02,80001) IVTNUM 04420009 ! 446: GO TO 2511 04430009 ! 447: 22500 IVFAIL = IVFAIL + 1 04440009 ! 448: IVCORR = 32767 04450009 ! 449: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04460009 ! 450: C 04470009 ! 451: C TEST 251 THROUGH TEST 264 CONTAIN TWO POSITIVE INTEGER VARIABLES, 04480009 ! 452: C ONE INTEGER CONSTANT, AND OPERATOR + IN ARITHMETIC EXPRESSION. 04490009 ! 453: C PARENTHESES ARE USED TO GROUP ELEMENTS. THE RESULTS ARE THE SAME 04500009 ! 454: C AS TESTS 244 THROUGH 250. 04510009 ! 455: C 04520009 ! 456: 2511 CONTINUE 04530009 ! 457: IVTNUM = 251 04540009 ! 458: C 04550009 ! 459: C **** TEST 251 **** 04560009 ! 460: C 04570009 ! 461: IF (ICZERO) 32510, 2510, 32510 04580009 ! 462: 2510 CONTINUE 04590009 ! 463: IVON01 = 2 04600009 ! 464: IVON02 = 3 04610009 ! 465: IVCOMP = (IVON01 + IVON02) + 4 04620009 ! 466: GO TO 42510 04630009 ! 467: 32510 IVDELE = IVDELE + 1 04640009 ! 468: WRITE (I02,80003) IVTNUM 04650009 ! 469: IF (ICZERO) 42510, 2521, 42510 04660009 ! 470: 42510 IF (IVCOMP - 9) 22510,12510,22510 04670009 ! 471: 12510 IVPASS = IVPASS + 1 04680009 ! 472: WRITE (I02,80001) IVTNUM 04690009 ! 473: GO TO 2521 04700009 ! 474: 22510 IVFAIL = IVFAIL + 1 04710009 ! 475: IVCORR = 9 04720009 ! 476: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04730009 ! 477: 2521 CONTINUE 04740009 ! 478: IVTNUM = 252 04750009 ! 479: C 04760009 ! 480: C **** TEST 252 **** 04770009 ! 481: C 04780009 ! 482: IF (ICZERO) 32520, 2520, 32520 04790009 ! 483: 2520 CONTINUE 04800009 ! 484: IVON02 = 3 04810009 ! 485: IVON03 = 4 04820009 ! 486: IVCOMP = 2 + (IVON02 + IVON03) 04830009 ! 487: GO TO 42520 04840009 ! 488: 32520 IVDELE = IVDELE + 1 04850009 ! 489: WRITE (I02,80003) IVTNUM 04860009 ! 490: IF (ICZERO) 42520, 2531, 42520 04870009 ! 491: 42520 IF (IVCOMP - 9) 22520,12520,22520 04880009 ! 492: 12520 IVPASS = IVPASS + 1 04890009 ! 493: WRITE (I02,80001) IVTNUM 04900009 ! 494: GO TO 2531 04910009 ! 495: 22520 IVFAIL = IVFAIL + 1 04920009 ! 496: IVCORR = 9 04930009 ! 497: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04940009 ! 498: 2531 CONTINUE 04950009 ! 499: IVTNUM = 253 04960009 ! 500: C 04970009 ! 501: C **** TEST 253 **** 04980009 ! 502: C 04990009 ! 503: IF (ICZERO) 32530, 2530, 32530 05000009 ! 504: 2530 CONTINUE 05010009 ! 505: IVON02 =3 05020009 ! 506: IVON03 =4 05030009 ! 507: IVCOMP = (2+IVON02)+IVON03 05040009 ! 508: GO TO 42530 05050009 ! 509: 32530 IVDELE = IVDELE + 1 05060009 ! 510: WRITE (I02,80003) IVTNUM 05070009 ! 511: IF (ICZERO) 42530, 2541, 42530 05080009 ! 512: 42530 IF (IVCOMP -9) 22530,12530,22530 05090009 ! 513: 12530 IVPASS = IVPASS + 1 05100009 ! 514: WRITE (I02,80001) IVTNUM 05110009 ! 515: GO TO 2541 05120009 ! 516: 22530 IVFAIL = IVFAIL + 1 05130009 ! 517: IVCORR =9 05140009 ! 518: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05150009 ! 519: 2541 CONTINUE 05160009 ! 520: IVTNUM = 254 05170009 ! 521: C 05180009 ! 522: C **** TEST 254 **** 05190009 ! 523: C 05200009 ! 524: IF (ICZERO) 32540, 2540, 32540 05210009 ! 525: 2540 CONTINUE 05220009 ! 526: IVON01 = 2 05230009 ! 527: IVON02 = 3 05240009 ! 528: IVCOMP = IVON01 + (IVON02 + 4) 05250009 ! 529: GO TO 42540 05260009 ! 530: 32540 IVDELE = IVDELE + 1 05270009 ! 531: WRITE (I02,80003) IVTNUM 05280009 ! 532: IF (ICZERO) 42540, 2551, 42540 05290009 ! 533: 42540 IF (IVCOMP-9)22540,12540,22540 05300009 ! 534: 12540 IVPASS = IVPASS + 1 05310009 ! 535: WRITE (I02,80001) IVTNUM 05320009 ! 536: GO TO 2551 05330009 ! 537: 22540 IVFAIL = IVFAIL + 1 05340009 ! 538: IVCORR=9 05350009 ! 539: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05360009 ! 540: 2551 CONTINUE 05370009 ! 541: IVTNUM = 255 05380009 ! 542: C 05390009 ! 543: C **** TEST 255 **** 05400009 ! 544: C 05410009 ! 545: IF (ICZERO) 32550, 2550, 32550 05420009 ! 546: 2550 CONTINUE 05430009 ! 547: IVON01 = 2 05440009 ! 548: IVON03 = 4 05450009 ! 549: IVCOMP = IVON01 +(3+IVON03) 05460009 ! 550: GO TO 42550 05470009 ! 551: 32550 IVDELE = IVDELE + 1 05480009 ! 552: WRITE (I02,80003) IVTNUM 05490009 ! 553: IF (ICZERO) 42550, 2561, 42550 05500009 ! 554: 42550 IF (IVCOMP-9)22550,12550,22550 05510009 ! 555: 12550 IVPASS = IVPASS + 1 05520009 ! 556: WRITE (I02,80001) IVTNUM 05530009 ! 557: GO TO 2561 05540009 ! 558: 22550 IVFAIL = IVFAIL + 1 05550009 ! 559: IVCORR =9 05560009 ! 560: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05570009 ! 561: 2561 CONTINUE 05580009 ! 562: IVTNUM = 256 05590009 ! 563: C 05600009 ! 564: C **** TEST 256 **** 05610009 ! 565: C 05620009 ! 566: IF (ICZERO) 32560, 2560, 32560 05630009 ! 567: 2560 CONTINUE 05640009 ! 568: IVON01 = 2 05650009 ! 569: IVON03 = 4 05660009 ! 570: IVCOMP =(IVON01+3)+IVON03 05670009 ! 571: GO TO 42560 05680009 ! 572: 32560 IVDELE = IVDELE + 1 05690009 ! 573: WRITE (I02,80003) IVTNUM 05700009 ! 574: IF (ICZERO) 42560, 2571, 42560 05710009 ! 575: 42560 IF (IVCOMP-9) 22560,12560,22560 05720009 ! 576: 12560 IVPASS = IVPASS + 1 05730009 ! 577: WRITE (I02,80001) IVTNUM 05740009 ! 578: GO TO 2571 05750009 ! 579: 22560 IVFAIL = IVFAIL + 1 05760009 ! 580: IVCORR =9 05770009 ! 581: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05780009 ! 582: 2571 CONTINUE 05790009 ! 583: IVTNUM = 257 05800009 ! 584: C 05810009 ! 585: C **** TEST 257 **** 05820009 ! 586: C 05830009 ! 587: IF (ICZERO) 32570, 2570, 32570 05840009 ! 588: 2570 CONTINUE 05850009 ! 589: IVON01 = 51 05860009 ! 590: IVON03 = 53 05870009 ! 591: IVCOMP=IVON01+(52+IVON03) 05880009 ! 592: GO TO 42570 05890009 ! 593: 32570 IVDELE = IVDELE + 1 05900009 ! 594: WRITE (I02,80003) IVTNUM 05910009 ! 595: IF (ICZERO) 42570, 2581, 42570 05920009 ! 596: 42570 IF (IVCOMP -156) 22570,12570,22570 05930009 ! 597: 12570 IVPASS = IVPASS + 1 05940009 ! 598: WRITE (I02,80001) IVTNUM 05950009 ! 599: GO TO 2581 05960009 ! 600: 22570 IVFAIL = IVFAIL + 1 05970009 ! 601: IVCORR = 156 05980009 ! 602: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05990009 ! 603: 2581 CONTINUE 06000009 ! 604: IVTNUM = 258 06010009 ! 605: C 06020009 ! 606: C **** TEST 258 **** 06030009 ! 607: C 06040009 ! 608: IF (ICZERO) 32580, 2580, 32580 06050009 ! 609: 2580 CONTINUE 06060009 ! 610: IVON01 = 51 06070009 ! 611: IVON03 = 53 06080009 ! 612: IVCOMP =(IVON01+52)+IVON03 06090009 ! 613: GO TO 42580 06100009 ! 614: 32580 IVDELE = IVDELE + 1 06110009 ! 615: WRITE (I02,80003) IVTNUM 06120009 ! 616: IF (ICZERO) 42580, 2591, 42580 06130009 ! 617: 42580 IF (IVCOMP-156) 22580,12580,22580 06140009 ! 618: 12580 IVPASS = IVPASS + 1 06150009 ! 619: WRITE (I02,80001) IVTNUM 06160009 ! 620: GO TO 2591 06170009 ! 621: 22580 IVFAIL = IVFAIL + 1 06180009 ! 622: IVCORR = 156 06190009 ! 623: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06200009 ! 624: 2591 CONTINUE 06210009 ! 625: IVTNUM = 259 06220009 ! 626: C 06230009 ! 627: C **** TEST 259 **** 06240009 ! 628: C 06250009 ! 629: IF (ICZERO) 32590, 2590, 32590 06260009 ! 630: 2590 CONTINUE 06270009 ! 631: IVON02 = 676 06280009 ! 632: IVON03 = 101 06290009 ! 633: IVCOMP = 189+(IVON02+IVON03) 06300009 ! 634: GO TO 42590 06310009 ! 635: 32590 IVDELE = IVDELE + 1 06320009 ! 636: WRITE (I02,80003) IVTNUM 06330009 ! 637: IF (ICZERO) 42590, 2601, 42590 06340009 ! 638: 42590 IF (IVCOMP -966) 22590,12590,22590 06350009 ! 639: 12590 IVPASS = IVPASS + 1 06360009 ! 640: WRITE (I02,80001) IVTNUM 06370009 ! 641: GO TO 2601 06380009 ! 642: 22590 IVFAIL = IVFAIL + 1 06390009 ! 643: IVCORR =966 06400009 ! 644: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06410009 ! 645: 2601 CONTINUE 06420009 ! 646: IVTNUM = 260 06430009 ! 647: C 06440009 ! 648: C **** TEST 260 **** 06450009 ! 649: C 06460009 ! 650: IF (ICZERO) 32600, 2600, 32600 06470009 ! 651: 2600 CONTINUE 06480009 ! 652: IVON02 = 676 06490009 ! 653: IVON03 = 101 06500009 ! 654: IVCOMP = (189 + IVON02) + IVON03 06510009 ! 655: GO TO 42600 06520009 ! 656: 32600 IVDELE = IVDELE + 1 06530009 ! 657: WRITE (I02,80003) IVTNUM 06540009 ! 658: IF (ICZERO) 42600, 2611, 42600 06550009 ! 659: 42600 IF (IVCOMP-966) 22600,12600,22600 06560009 ! 660: 12600 IVPASS = IVPASS + 1 06570009 ! 661: WRITE (I02,80001) IVTNUM 06580009 ! 662: GO TO 2611 06590009 ! 663: 22600 IVFAIL = IVFAIL + 1 06600009 ! 664: IVCORR=966 06610009 ! 665: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06620009 ! 666: 2611 CONTINUE 06630009 ! 667: IVTNUM = 261 06640009 ! 668: C 06650009 ! 669: C **** TEST 261 **** 06660009 ! 670: C 06670009 ! 671: IF (ICZERO) 32610, 2610, 32610 06680009 ! 672: 2610 CONTINUE 06690009 ! 673: IVON01 = 1358 06700009 ! 674: IVON02 = 8001 06710009 ! 675: IVCOMP = IVON01 + (IVON02 + 2189) 06720009 ! 676: GO TO 42610 06730009 ! 677: 32610 IVDELE = IVDELE + 1 06740009 ! 678: WRITE (I02,80003) IVTNUM 06750009 ! 679: IF (ICZERO) 42610, 2621, 42610 06760009 ! 680: 42610 IF (IVCOMP-11548) 22610,12610,22610 06770009 ! 681: 12610 IVPASS = IVPASS + 1 06780009 ! 682: WRITE (I02,80001) IVTNUM 06790009 ! 683: GO TO 2621 06800009 ! 684: 22610 IVFAIL = IVFAIL + 1 06810009 ! 685: IVCORR=11548 06820009 ! 686: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06830009 ! 687: 2621 CONTINUE 06840009 ! 688: IVTNUM = 262 06850009 ! 689: C 06860009 ! 690: C **** TEST 262 **** 06870009 ! 691: C 06880009 ! 692: IF (ICZERO) 32620, 2620, 32620 06890009 ! 693: 2620 CONTINUE 06900009 ! 694: IVON01 = 1358 06910009 ! 695: IVON02 = 8001 06920009 ! 696: IVCOMP =(IVON01+IVON02)+2189 06930009 ! 697: GO TO 42620 06940009 ! 698: 32620 IVDELE = IVDELE + 1 06950009 ! 699: WRITE (I02,80003) IVTNUM 06960009 ! 700: IF (ICZERO) 42620, 2631, 42620 06970009 ! 701: 42620 IF (IVCOMP-11548) 22620,12620,22620 06980009 ! 702: 12620 IVPASS = IVPASS + 1 06990009 ! 703: WRITE (I02,80001) IVTNUM 07000009 ! 704: GO TO 2631 07010009 ! 705: 22620 IVFAIL = IVFAIL + 1 07020009 ! 706: IVCORR=11548 07030009 ! 707: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07040009 ! 708: 2631 CONTINUE 07050009 ! 709: IVTNUM = 263 07060009 ! 710: C 07070009 ! 711: C **** TEST 263 **** 07080009 ! 712: C REQUIRES 32767 07090009 ! 713: C 07100009 ! 714: IF (ICZERO) 32630, 2630, 32630 07110009 ! 715: 2630 CONTINUE 07120009 ! 716: IVON01 = 16383 07130009 ! 717: IVON03 = 16380 07140009 ! 718: IVCOMP = IVON01 + (4+IVON03) 07150009 ! 719: GO TO 42630 07160009 ! 720: 32630 IVDELE = IVDELE + 1 07170009 ! 721: WRITE (I02,80003) IVTNUM 07180009 ! 722: IF (ICZERO) 42630, 2641, 42630 07190009 ! 723: 42630 IF (IVCOMP-32767) 22630,12630,22630 07200009 ! 724: 12630 IVPASS = IVPASS + 1 07210009 ! 725: WRITE (I02,80001) IVTNUM 07220009 ! 726: GO TO 2641 07230009 ! 727: 22630 IVFAIL = IVFAIL + 1 07240009 ! 728: IVCORR =32767 07250009 ! 729: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07260009 ! 730: 2641 CONTINUE 07270009 ! 731: IVTNUM = 264 07280009 ! 732: C 07290009 ! 733: C **** TEST 264 **** 07300009 ! 734: C REQUIRES 32767 07310009 ! 735: C 07320009 ! 736: IF (ICZERO) 32640, 2640, 32640 07330009 ! 737: 2640 CONTINUE 07340009 ! 738: IVON01 = 16383 07350009 ! 739: IVON02 = 16380 07360009 ! 740: IVCOMP = (IVON01+IVON02) +4 07370009 ! 741: GO TO 42640 07380009 ! 742: 32640 IVDELE = IVDELE + 1 07390009 ! 743: WRITE (I02,80003) IVTNUM 07400009 ! 744: IF (ICZERO) 42640, 2651, 42640 07410009 ! 745: 42640 IF (IVCOMP - 32767) 22640,12640,22640 07420009 ! 746: 12640 IVPASS = IVPASS + 1 07430009 ! 747: WRITE (I02,80001) IVTNUM 07440009 ! 748: GO TO 2651 07450009 ! 749: 22640 IVFAIL = IVFAIL + 1 07460009 ! 750: IVCORR = 32767 07470009 ! 751: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07480009 ! 752: 2651 CONTINUE 07490009 ! 753: C 07500009 ! 754: C WRITE PAGE FOOTINGS AND RUN SUMMARIES 07510009 ! 755: 99999 CONTINUE 07520009 ! 756: WRITE (I02,90002) 07530009 ! 757: WRITE (I02,90006) 07540009 ! 758: WRITE (I02,90002) 07550009 ! 759: WRITE (I02,90002) 07560009 ! 760: WRITE (I02,90007) 07570009 ! 761: WRITE (I02,90002) 07580009 ! 762: WRITE (I02,90008) IVFAIL 07590009 ! 763: WRITE (I02,90009) IVPASS 07600009 ! 764: WRITE (I02,90010) IVDELE 07610009 ! 765: C 07620009 ! 766: C 07630009 ! 767: C TERMINATE ROUTINE EXECUTION 07640009 ! 768: STOP 07650009 ! 769: C 07660009 ! 770: C FORMAT STATEMENTS FOR PAGE HEADERS 07670009 ! 771: 90000 FORMAT (1H1) 07680009 ! 772: 90002 FORMAT (1H ) 07690009 ! 773: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 07700009 ! 774: 90003 FORMAT (1H ,21X,11HVERSION 1.0) 07710009 ! 775: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 07720009 ! 776: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 07730009 ! 777: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 07740009 ! 778: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 07750009 ! 779: C 07760009 ! 780: C FORMAT STATEMENTS FOR RUN SUMMARIES 07770009 ! 781: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED) 07780009 ! 782: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED) 07790009 ! 783: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED) 07800009 ! 784: C 07810009 ! 785: C FORMAT STATEMENTS FOR TEST RESULTS 07820009 ! 786: 80001 FORMAT (1H ,4X,I5,7X,4HPASS) 07830009 ! 787: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL) 07840009 ! 788: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED) 07850009 ! 789: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 07860009 ! 790: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 07870009 ! 791: C 07880009 ! 792: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM009) 07890009 ! 793: END 07900009
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.