|
|
1.1 ! root 1: PROGRAM FM200 00010200 ! 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 00020200 ! 6: C 00030200 ! 7: C THIS ROUTINE IS THE FIRST AUDIT PROGRAM TO CONTAIN A PROGRAM 00040200 ! 8: C STATEMENT. THE FOLLOWING FEATURES FROM CHAPTER 3., CHARACTERS, 00050200 ! 9: C LINES AND EXECUTION SEQUENCE ARE TESTED. 00060200 ! 10: C 00070200 ! 11: C (1) ASTERISK (*) IN COLUMN 1 TO DESIGNATE A COMMENT LINE. 00080200 ! 12: C (2) USE OF NON-FORTRAN CHARACTERS WITHIN A COMMENT LINE. 00090200 ! 13: C (3) STATEMENT LABELS ON NONEXECUTABLE STATEMENTS. 00100200 ! 14: C (4) DIGIT 0 IN COLUMN 6 OF AN INITIAL LINE. 00110200 ! 15: C (5) CONTINUATION LINES - MAXIMUM OF NINE CONTINUATION LINES 00120200 ! 16: C (660 CHARACTERS). 00130200 ! 17: C (6) BLANK CHARACTERS WITHIN STATEMENTS. 00140200 ! 18: C (7) BLANK COMMENT LINE, BLANK CHARACTERS IN COLUMNS 1-72. 00150200 ! 19: C 00160200 ! 20: C THE BASIC FEATURES OF SUBSET FORTRAN WHICH ARE TESTED BY THIS 00170200 ! 21: C PROGRAM ARE USED THROUGHOUT THE REST OF THE SUBSET ROUTINES. 00180200 ! 22: C 00190200 ! 23: C REFERENCES 00200200 ! 24: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00210200 ! 25: C X3.9-1978 00220200 ! 26: C 00230200 ! 27: C SECTION 3.1.6, BLANK CHARACTER 00240200 ! 28: C SECTION 3.2.1, COMMENT LINE 00250200 ! 29: C SECTION 3.2.2, INITIAL LINE 00260200 ! 30: C SECTION 3.2.3, CONTINUATION LINE 00270200 ! 31: C SECTION 3.3, STATEMENTS 00280200 ! 32: C SECTION 3.4, STATEMENT LABEL 00290200 ! 33: C SECTION 14.1, PROGRAM STATEMENT 00300200 ! 34: C 00310200 ! 35: C 00320200 ! 36: C ******************************************************************00330200 ! 37: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00340200 ! 38: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN 00350200 ! 39: C X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY. THE 00360200 ! 40: C FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT 00370200 ! 41: C ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT00380200 ! 42: C ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS 00390200 ! 43: C OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00400200 ! 44: C THE RESULT OF EXECUTING THESE TESTS. 00410200 ! 45: C 00420200 ! 46: C THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES 00430200 ! 47: C FOUND IN THE SUBSET LEVEL OF THE STANDARD. 00440200 ! 48: C 00450200 ! 49: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00460200 ! 50: C DEPARTMENT OF THE NAVY 00470200 ! 51: C FEDERAL COBOL COMPILER TESTING SERVICE 00480200 ! 52: C WASHINGTON, D.C. 20376 00490200 ! 53: C 00500200 ! 54: C ******************************************************************00510200 ! 55: C 00520200 ! 56: C 00530200 ! 57: IMPLICIT LOGICAL (L) 00540200 ! 58: IMPLICIT CHARACTER*14 (C) 00550200 ! 59: C 00560200 ! 60: 12 INTEGER XVTN01 00570200 ! 61: 22 DATA IVON02/5/ 00580200 ! 62: C THE PRECEDING STATEMENTS ARE NONEXECUTABLE STATEMENTS WHICH 00590200 ! 63: C CONTAIN STATEMENT LABELS. THEY ARE REFERENCED IN TESTS 1 AND 2. 00600200 ! 64: C 00610200 ! 65: C 00620200 ! 66: C 00630200 ! 67: C INITIALIZATION SECTION. 00640200 ! 68: C 00650200 ! 69: C INITIALIZE CONSTANTS 00660200 ! 70: C ******************** 00670200 ! 71: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER 00680200 ! 72: I01 = 5 00690200 ! 73: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER 00700200 ! 74: I02 = 6 00710200 ! 75: C SYSTEM ENVIRONMENT SECTION 00720200 ! 76: C 00730200 ! 77: I01 = 5 00740200 ! 78: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00750200 ! 79: C (UNIT NUMBER FOR CARD READER). 00760200 ! 80: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD00770200 ! 81: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00780200 ! 82: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00790200 ! 83: C 00800200 ! 84: I02 = 6 00810200 ! 85: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00820200 ! 86: C (UNIT NUMBER FOR PRINTER). 00830200 ! 87: CX021 THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.00840200 ! 88: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00850200 ! 89: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 00860200 ! 90: C 00870200 ! 91: IVPASS = 0 00880200 ! 92: IVFAIL = 0 00890200 ! 93: IVDELE = 0 00900200 ! 94: ICZERO = 0 00910200 ! 95: C 00920200 ! 96: C WRITE OUT PAGE HEADERS 00930200 ! 97: C 00940200 ! 98: WRITE (I02,90002) 00950200 ! 99: WRITE (I02,90006) 00960200 ! 100: WRITE (I02,90008) 00970200 ! 101: WRITE (I02,90004) 00980200 ! 102: WRITE (I02,90010) 00990200 ! 103: WRITE (I02,90004) 01000200 ! 104: WRITE (I02,90016) 01010200 ! 105: WRITE (I02,90001) 01020200 ! 106: WRITE (I02,90004) 01030200 ! 107: WRITE (I02,90012) 01040200 ! 108: WRITE (I02,90014) 01050200 ! 109: WRITE (I02,90004) 01060200 ! 110: C 01070200 ! 111: C 01080200 ! 112: C TEST 1 AND TEST 2 REFERENCE VARIABLES DEFINED IN NONEXECUTABLE 01090200 ! 113: C STATEMENTS WHICH CONTAIN STATEMENT LABELS. THE NONEXECUTABLE 01100200 ! 114: C STATEMENTS WHICH APPEAR AT THE BEGINNING OF THE PROGRAM ARE 01110200 ! 115: C 12 INTEGER XVTN01 01120200 ! 116: C 22 DATA IVON02/5/ 01130200 ! 117: C 01140200 ! 118: C REFERENCE X3.9-1977, SECTION 3.4, STATEMENT LABELS 01150200 ! 119: C 01160200 ! 120: C 01170200 ! 121: C **** FCVS PROGRAM 200 - TEST 001 **** 01180200 ! 122: C 01190200 ! 123: C TEST 001 ASSIGNS AN INTEGER VALUE TO XVTN01 WHICH WAS SPECIFIED01200200 ! 124: C AS TYPE INTEGER IN AN INTEGER STATEMENT CONTAINING A STATEMENT 01210200 ! 125: C LABEL. 01220200 ! 126: C 01230200 ! 127: IVTNUM = 1 01240200 ! 128: IF (ICZERO) 30010, 0010, 30010 01250200 ! 129: 0010 CONTINUE 01260200 ! 130: IVCOMP = 0 01270200 ! 131: XVTN01 = 1 01280200 ! 132: IVCOMP = XVTN01 01290200 ! 133: IVCORR = 1 01300200 ! 134: 40010 IF (IVCOMP - 1) 20010, 10010, 20010 01310200 ! 135: 30010 IVDELE = IVDELE + 1 01320200 ! 136: WRITE (I02,80000) IVTNUM 01330200 ! 137: IF (ICZERO) 10010, 0021, 20010 01340200 ! 138: 10010 IVPASS = IVPASS + 1 01350200 ! 139: WRITE (I02,80002) IVTNUM 01360200 ! 140: GO TO 0021 01370200 ! 141: 20010 IVFAIL = IVFAIL + 1 01380200 ! 142: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01390200 ! 143: 0021 CONTINUE 01400200 ! 144: C 01410200 ! 145: C **** FCVS PROGRAM 200 - TEST 002 **** 01420200 ! 146: C 01430200 ! 147: C TEST 002 CHECKS THE VALUE WHICH WAS ASSIGNED TO IVON02 BY A 01440200 ! 148: C DATA STATEMENT WITH A STATEMENT LABEL. 01450200 ! 149: C 01460200 ! 150: IVTNUM = 2 01470200 ! 151: IF (ICZERO) 30020, 0020, 30020 01480200 ! 152: 0020 CONTINUE 01490200 ! 153: IVCOMP = 0 01500200 ! 154: IVCOMP = IVON02 01510200 ! 155: IVCORR = 5 01520200 ! 156: 40020 IF (IVCOMP - 5) 20020, 10020, 20020 01530200 ! 157: 30020 IVDELE = IVDELE + 1 01540200 ! 158: WRITE (I02,80000) IVTNUM 01550200 ! 159: IF (ICZERO) 10020, 0031, 20020 01560200 ! 160: 10020 IVPASS = IVPASS + 1 01570200 ! 161: WRITE (I02,80002) IVTNUM 01580200 ! 162: GO TO 0031 01590200 ! 163: 20020 IVFAIL = IVFAIL + 1 01600200 ! 164: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01610200 ! 165: 0031 CONTINUE 01620200 ! 166: C 01630200 ! 167: C TEST 3 THROUGH TEST 5 USE AN ASTERISK (*) IN COLUMN 1 TO 01640200 ! 168: C DENOTE A COMMENT LINE. 01650200 ! 169: C 01660200 ! 170: C REFERENCE X3.9-1977, SECTION 3.2.1, COMMENT LINE 01670200 ! 171: C 01680200 ! 172: C 01690200 ! 173: C **** FCVS PROGRAM 200 - TEST 003 **** 01700200 ! 174: C 01710200 ! 175: C GO TO STATEMENT IN ASTERISK COMMENT LINE. 01720200 ! 176: C 01730200 ! 177: IVTNUM = 3 01740200 ! 178: IF (ICZERO) 30030, 0030, 30030 01750200 ! 179: 0030 CONTINUE 01760200 ! 180: IVCOMP = 1 01770200 ! 181: * GO TO 20030 01780200 ! 182: IVCOMP = 0 01790200 ! 183: IVCORR = 0 01800200 ! 184: 40030 IF (IVCOMP) 20030, 10030, 20030 01810200 ! 185: 30030 IVDELE = IVDELE + 1 01820200 ! 186: WRITE (I02,80000) IVTNUM 01830200 ! 187: IF (ICZERO) 10030, 0041, 20030 01840200 ! 188: 10030 IVPASS = IVPASS + 1 01850200 ! 189: WRITE (I02,80002) IVTNUM 01860200 ! 190: GO TO 0041 01870200 ! 191: 20030 IVFAIL = IVFAIL + 1 01880200 ! 192: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01890200 ! 193: 0041 CONTINUE 01900200 ! 194: C 01910200 ! 195: C **** FCVS PROGRAM 200 - TEST 004 **** 01920200 ! 196: C 01930200 ! 197: C SEVERAL * COMMENT LINES INTERMIXED WITH EXECUTABLE STATEMENTS. 01940200 ! 198: C 01950200 ! 199: IVTNUM = 4 01960200 ! 200: IF (ICZERO) 30040, 0040, 30040 01970200 ! 201: 0040 CONTINUE 01980200 ! 202: IVCOMP = 0 01990200 ! 203: * THE * COMMENT LINE IS THE SAME AS A C COMMENT LINE. 02000200 ! 204: IVCOMP = 1 02010200 ! 205: * THE * COMMENT LINES HAVE NO EFFECT ON THE PROGRAM EXECUTION. 02020200 ! 206: * THEIR USE IS STRICTLY FOR DOCUMENTATION PURPOSES. 02030200 ! 207: IVCOMP = 2 02040200 ! 208: * IVCOMP = 3 02050200 ! 209: * 40 ANY STATEMENT LABELS ON COMMENT LINES ARE IGNORED. 02060200 ! 210: IVCORR = 2 02070200 ! 211: 40040 IF (IVCOMP - 2) 20040, 10040, 20040 02080200 ! 212: 30040 IVDELE = IVDELE + 1 02090200 ! 213: WRITE (I02,80000) IVTNUM 02100200 ! 214: IF (ICZERO) 10040, 0051, 20040 02110200 ! 215: 10040 IVPASS = IVPASS + 1 02120200 ! 216: WRITE (I02,80002) IVTNUM 02130200 ! 217: GO TO 0051 02140200 ! 218: 20040 IVFAIL = IVFAIL + 1 02150200 ! 219: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02160200 ! 220: 0051 CONTINUE 02170200 ! 221: C 02180200 ! 222: C **** FCVS PROGRAM 200 - TEST 005 **** 02190200 ! 223: C 02200200 ! 224: C NONFORTRAN CHARACTERS WITHIN C AND * COMMENT LINES. 02210200 ! 225: C 02220200 ! 226: IVTNUM = 5 02230200 ! 227: IF (ICZERO) 30050, 0050, 30050 02240200 ! 228: 0050 CONTINUE 02250200 ! 229: IVCOMP = 1 02260200 ! 230: * <>%? NONFORTRAN CHARACTER 02270200 ! 231: C <>%? NONFORTRAN CHARACTER 02280200 ! 232: IVCOMP = 0 02290200 ! 233: IVCORR = 0 02300200 ! 234: 40050 IF (IVCOMP) 20050, 10050, 20050 02310200 ! 235: 30050 IVDELE = IVDELE + 1 02320200 ! 236: WRITE (I02,80000) IVTNUM 02330200 ! 237: IF (ICZERO) 10050, 0061, 20050 02340200 ! 238: 10050 IVPASS = IVPASS + 1 02350200 ! 239: WRITE (I02,80002) IVTNUM 02360200 ! 240: GO TO 0061 02370200 ! 241: 20050 IVFAIL = IVFAIL + 1 02380200 ! 242: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02390200 ! 243: 0061 CONTINUE 02400200 ! 244: C 02410200 ! 245: C **** FCVS PROGRAM 200 - TEST 006 **** 02420200 ! 246: C 02430200 ! 247: C LINES CONTAINING ONLY BLANK CHARACTERS IN COLUMNS 1 THROUGH 02440200 ! 248: C 72 ARE COMMENT LINES. 02450200 ! 249: C 02460200 ! 250: C REFERENCE X3.9-1977, SECTION 3.2.1, COMMENT LINE 02470200 ! 251: C 02480200 ! 252: IVTNUM = 6 02490200 ! 253: IF (ICZERO) 30060, 0060, 30060 02500200 ! 254: 0060 CONTINUE 02510200 ! 255: IVCOMP = 0 02520200 ! 256: 02530200 ! 257: IVCORR = 3 02540200 ! 258: IVCOMP = 9 02550200 ! 259: * ASTERISK COMMENT LINE FOLLOWED BY BLANK COMMENT LINE. 02560200 ! 260: 02570200 ! 261: * ASTERISK COMMENT LINE. 02580200 ! 262: IVCOMP = 3 02590200 ! 263: 40060 IF (IVCOMP - 3) 20060, 10060, 20060 02600200 ! 264: 30060 IVDELE = IVDELE + 1 02610200 ! 265: WRITE (I02,80000) IVTNUM 02620200 ! 266: IF (ICZERO) 10060, 0071, 20060 02630200 ! 267: 10060 IVPASS = IVPASS + 1 02640200 ! 268: WRITE (I02,80002) IVTNUM 02650200 ! 269: GO TO 0071 02660200 ! 270: 20060 IVFAIL = IVFAIL + 1 02670200 ! 271: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02680200 ! 272: 0071 CONTINUE 02690200 ! 273: C 02700200 ! 274: C TEST 7 AND TEST 8 CONTAIN THE DIGIT 0 IN COLUMN 6 OF INITIAL 02710200 ! 275: C LINES. 02720200 ! 276: C 02730200 ! 277: C REFERENCE X3.9-1977, SECTION 3.2.2, INITIAL LINE 02740200 ! 278: C 02750200 ! 279: C 02760200 ! 280: C **** FCVS PROGRAM 200 - TEST 007 **** 02770200 ! 281: C 02780200 ! 282: C TEST 007 USES THE DIGIT 0 IN COLUMN 6 OF TWO SUCCESSIVE 02790200 ! 283: C INITIAL LINES. 02800200 ! 284: C 02810200 ! 285: IVTNUM = 7 02820200 ! 286: IF (ICZERO) 30070, 0070, 30070 02830200 ! 287: 0070 CONTINUE 02840200 ! 288: IVCOMP = 0 02850200 ! 289: 0IVON01 = 5 02860200 ! 290: 0IVON02 = 6 02870200 ! 291: IVCOMP = IVON01 + IVON02 02880200 ! 292: IVCORR = 11 02890200 ! 293: 40070 IF (IVCOMP - 11) 20070, 10070, 20070 02900200 ! 294: 30070 IVDELE = IVDELE + 1 02910200 ! 295: WRITE (I02,80000) IVTNUM 02920200 ! 296: IF (ICZERO) 10070, 0081, 20070 02930200 ! 297: 10070 IVPASS = IVPASS + 1 02940200 ! 298: WRITE (I02,80002) IVTNUM 02950200 ! 299: GO TO 0081 02960200 ! 300: 20070 IVFAIL = IVFAIL + 1 02970200 ! 301: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02980200 ! 302: 0081 CONTINUE 02990200 ! 303: C 03000200 ! 304: C **** FCVS PROGRAM 200 - TEST 008 **** 03010200 ! 305: C 03020200 ! 306: C TEST 008 MIXES STATEMENTS WITH DIGIT 0 IN COLUMN 6 OF INITIAL 03030200 ! 307: C LINE AND COMMENT LINES WITH * IN COLUMN 1. 03040200 ! 308: C 03050200 ! 309: IVTNUM = 8 03060200 ! 310: IF (ICZERO) 30080, 0080, 30080 03070200 ! 311: 0080 CONTINUE 03080200 ! 312: IVCOMP = 0 03090200 ! 313: * FIRST INITIAL LINE FOLLOWS. 03100200 ! 314: 0IVON01 = 5 03110200 ! 315: * TWO SUCCESSIVE COMMENT LINES, 03120200 ! 316: * FOLLOWED BY TWO INITIAL LINES. 03130200 ! 317: 0IVON02=4 03140200 ! 318: 0IVCOMP=IVON01+IVON02 03150200 ! 319: * FALL THROUGH TO VERIFICATION CODE 03160200 ! 320: IVCORR = 9 03170200 ! 321: 40080 IF (IVCOMP - 9) 20080, 10080, 20080 03180200 ! 322: 30080 IVDELE = IVDELE + 1 03190200 ! 323: WRITE (I02,80000) IVTNUM 03200200 ! 324: IF (ICZERO) 10080, 0091, 20080 03210200 ! 325: 10080 IVPASS = IVPASS + 1 03220200 ! 326: WRITE (I02,80002) IVTNUM 03230200 ! 327: GO TO 0091 03240200 ! 328: 20080 IVFAIL = IVFAIL + 1 03250200 ! 329: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03260200 ! 330: 0091 CONTINUE 03270200 ! 331: C 03280200 ! 332: C TEST 9 THROUGH TEST 13 VERIFY THAT CONTINUATION LINES ARE 03290200 ! 333: C PERMITTED. 03300200 ! 334: C 03310200 ! 335: C REFERENCE X3.9-1977, SECTION 3.2.3, CONTINUATION LINE 03320200 ! 336: C 03330200 ! 337: C 03340200 ! 338: C **** FCVS PROGRAM 200 - TEST 009 **** 03350200 ! 339: C 03360200 ! 340: C STATEMENT WITH TWO CONTINUATION LINES. 03370200 ! 341: C 03380200 ! 342: IVTNUM = 9 03390200 ! 343: IF (ICZERO) 30090, 0090, 30090 03400200 ! 344: 0090 CONTINUE 03410200 ! 345: IVON01 = 0 03420200 ! 346: IVON 03430200 ! 347: 1 01 03440200 ! 348: 2 = 2 03450200 ! 349: IVCOMP = IVON01 03460200 ! 350: IVCORR = 2 03470200 ! 351: 40090 IF (IVCOMP - 2) 20090, 10090, 20090 03480200 ! 352: 30090 IVDELE = IVDELE + 1 03490200 ! 353: WRITE (I02,80000) IVTNUM 03500200 ! 354: IF (ICZERO) 10090, 0101, 20090 03510200 ! 355: 10090 IVPASS = IVPASS + 1 03520200 ! 356: WRITE (I02,80002) IVTNUM 03530200 ! 357: GO TO 0101 03540200 ! 358: 20090 IVFAIL = IVFAIL + 1 03550200 ! 359: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03560200 ! 360: 0101 CONTINUE 03570200 ! 361: C 03580200 ! 362: C **** FCVS PROGRAM 200 - TEST 010 **** 03590200 ! 363: C 03600200 ! 364: C STATEMENT WITH NINE CONTINUATION LINES. 03610200 ! 365: C 03620200 ! 366: IVTNUM = 10 03630200 ! 367: IF (ICZERO) 30100, 0100, 30100 03640200 ! 368: 0100 CONTINUE 03650200 ! 369: IVON01 = 0 03660200 ! 370: IVON01 = 03670200 ! 371: 1 1 03680200 ! 372: 2 +1 03690200 ! 373: 3 +1 03700200 ! 374: 4 +1 03710200 ! 375: 5 +1 03720200 ! 376: 6 +1 03730200 ! 377: 7 +1 03740200 ! 378: 8 +1 03750200 ! 379: 9+1 03760200 ! 380: IVCOMP = IVON01 03770200 ! 381: IVCORR = 9 03780200 ! 382: 40100 IF (IVCOMP - 9) 20100, 10100, 20100 03790200 ! 383: 30100 IVDELE = IVDELE + 1 03800200 ! 384: WRITE (I02,80000) IVTNUM 03810200 ! 385: IF (ICZERO) 10100, 0111, 20100 03820200 ! 386: 10100 IVPASS = IVPASS + 1 03830200 ! 387: WRITE (I02,80002) IVTNUM 03840200 ! 388: GO TO 0111 03850200 ! 389: 20100 IVFAIL = IVFAIL + 1 03860200 ! 390: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03870200 ! 391: 0111 CONTINUE 03880200 ! 392: C 03890200 ! 393: C **** FCVS PROGRAM 200 - TEST 011 **** 03900200 ! 394: C 03910200 ! 395: C TEST 011 CONTAINS THE MAXIMUM NUMBER OF CONTINUATION LINES 03920200 ! 396: C PERMITTED IN THE SUBSET LANGUAGE AND EACH OF THE 660 CHARACTERS 03930200 ! 397: C IN THE STATEMENT ARE NONBLANK. 03940200 ! 398: C 03950200 ! 399: IVTNUM = 11 03960200 ! 400: IF (ICZERO) 30110, 0110, 30110 03970200 ! 401: 0110 CONTINUE 03980200 ! 402: IVON01 = 1 03990200 ! 403: IVCOMP = 0 04000200 ! 404: IVCOMP=IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVO04010200 ! 405: 1N01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON0104020200 ! 406: 2+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IV04030200 ! 407: 3ON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON004040200 ! 408: 41+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+I04050200 ! 409: 5VON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON04060200 ! 410: 601+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+04070200 ! 411: 7IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVO04080200 ! 412: 8N01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON0104090200 ! 413: 9+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+1204100200 ! 414: IVCORR = 105 04110200 ! 415: 40110 IF (IVCOMP - 105) 20110, 10110, 20110 04120200 ! 416: 30110 IVDELE = IVDELE + 1 04130200 ! 417: WRITE (I02,80000) IVTNUM 04140200 ! 418: IF (ICZERO) 10110, 0121, 20110 04150200 ! 419: 10110 IVPASS = IVPASS + 1 04160200 ! 420: WRITE (I02,80002) IVTNUM 04170200 ! 421: GO TO 0121 04180200 ! 422: 20110 IVFAIL = IVFAIL + 1 04190200 ! 423: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04200200 ! 424: 0121 CONTINUE 04210200 ! 425: C 04220200 ! 426: C **** FCVS PROGRAM 200 - TEST 012 **** 04230200 ! 427: C 04240200 ! 428: C TEST 012 SPLITS A STATEMENT ACROSS 8 CONTINUATION LINES. 04250200 ! 429: C THERE IS A STATEMENT LABEL IN COLUMNS 1-5 AND 0 IN COLUMN 6 04260200 ! 430: C OF THE INITIAL LINE. 04270200 ! 431: C 04280200 ! 432: IVTNUM = 12 04290200 ! 433: IF (ICZERO) 30120, 0120, 30120 04300200 ! 434: 0120 CONTINUE 04310200 ! 435: IVON01 = 0 04320200 ! 436: GO TO 0122 04330200 ! 437: 01220 I 04340200 ! 438: 1 V 04350200 ! 439: 2 O 04360200 ! 440: 3 N 04370200 ! 441: 4 0 04380200 ! 442: 5 1 04390200 ! 443: 6 = 04400200 ! 444: 7 8 04410200 ! 445: 8 9 04420200 ! 446: IVCOMP = IVON01 04430200 ! 447: IVCORR = 89 04440200 ! 448: 40120 IF (IVCOMP - 89) 20120, 10120, 20120 04450200 ! 449: 30120 IVDELE = IVDELE + 1 04460200 ! 450: WRITE (I02,80000) IVTNUM 04470200 ! 451: IF (ICZERO) 10120, 0131, 20120 04480200 ! 452: 10120 IVPASS = IVPASS + 1 04490200 ! 453: WRITE (I02,80002) IVTNUM 04500200 ! 454: GO TO 0131 04510200 ! 455: 20120 IVFAIL = IVFAIL + 1 04520200 ! 456: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04530200 ! 457: 0131 CONTINUE 04540200 ! 458: C 04550200 ! 459: C **** FCVS PROGRAM 200 - TEST 013 **** 04560200 ! 460: C 04570200 ! 461: C TEST 013 CONSISTS OF AN INITIAL LINE WHICH CONTAINS ONLY A 04580200 ! 462: C STATEMENT LABEL AND A CONTINUATION LINE WHICH CONTAINS THE 04590200 ! 463: C EXECUTABLE STATEMENT. 04600200 ! 464: C 04610200 ! 465: IVTNUM = 13 04620200 ! 466: IF (ICZERO) 30130, 0130, 30130 04630200 ! 467: 0130 CONTINUE 04640200 ! 468: IVCOMP = 0 04650200 ! 469: 0132 04660200 ! 470: 1IVCOMP = 4 04670200 ! 471: IVCORR = 4 04680200 ! 472: 40130 IF (IVCOMP - 4) 20130, 10130, 20130 04690200 ! 473: 30130 IVDELE = IVDELE + 1 04700200 ! 474: WRITE (I02,80000) IVTNUM 04710200 ! 475: IF (ICZERO) 10130, 0141, 20130 04720200 ! 476: 10130 IVPASS = IVPASS + 1 04730200 ! 477: WRITE (I02,80002) IVTNUM 04740200 ! 478: GO TO 0141 04750200 ! 479: 20130 IVFAIL = IVFAIL + 1 04760200 ! 480: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04770200 ! 481: 0141 CONTINUE 04780200 ! 482: C 04790200 ! 483: C 04800200 ! 484: C WRITE OUT TEST SUMMARY 04810200 ! 485: C 04820200 ! 486: WRITE (I02,90004) 04830200 ! 487: WRITE (I02,90014) 04840200 ! 488: WRITE (I02,90004) 04850200 ! 489: WRITE (I02,90000) 04860200 ! 490: WRITE (I02,90004) 04870200 ! 491: WRITE (I02,90020) IVFAIL 04880200 ! 492: WRITE (I02,90022) IVPASS 04890200 ! 493: WRITE (I02,90024) IVDELE 04900200 ! 494: STOP 04910200 ! 495: 90001 FORMAT (1H ,24X,5HFM200) 04920200 ! 496: 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM200) 04930200 ! 497: C 04940200 ! 498: C FORMATS FOR TEST DETAIL LINES 04950200 ! 499: C 04960200 ! 500: 80000 FORMAT (1H ,4X,I5,6X,7HDELETED) 04970200 ! 501: 80002 FORMAT (1H ,4X,I5,7X,4HPASS) 04980200 ! 502: 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 04990200 ! 503: 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 05000200 ! 504: 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14) 05010200 ! 505: C 05020200 ! 506: C FORMAT STATEMENTS FOR PAGE HEADERS 05030200 ! 507: C 05040200 ! 508: 90002 FORMAT (1H1) 05050200 ! 509: 90004 FORMAT (1H ) 05060200 ! 510: 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 05070200 ! 511: 90008 FORMAT (1H ,21X,11HVERSION 1.0) 05080200 ! 512: 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 05090200 ! 513: 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT) 05100200 ! 514: 90014 FORMAT (1H ,5X,46H----------------------------------------------) 05110200 ! 515: 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 05120200 ! 516: C 05130200 ! 517: C FORMAT STATEMENTS FOR RUN SUMMARY 05140200 ! 518: C 05150200 ! 519: 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED) 05160200 ! 520: 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED) 05170200 ! 521: 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED) 05180200 ! 522: END 05190200
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.