|
|
1.1 ! root 1: C COMMENT SECTION. 00010107 ! 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 00020107 ! 6: C FM107 00030107 ! 7: C 00040107 ! 8: C THIS ROUTINE IS A TEST OF THE I FORMAT AND IS TAPE AND PRINTER00050107 ! 9: C ORIENTED. THE ROUTINE CAN ALSO BE USED FOR DISK. BOTH THE READ 00060107 ! 10: C AND WRITE STATEMENTS ARE TESTED. VARIABLES IN THE INPUT AND 00070107 ! 11: C OUTPUT LISTS ARE INTEGER VARIABLE AND INTEGER ARRAY ELEMENT OR 00080107 ! 12: C ARRAY NAME REFERENCES. ALL READ AND WRITE STATEMENTS ARE DONE 00090107 ! 13: C WITH FORMAT STATEMENTS. THE ROUTINE HAS AN OPTIONAL SECTION OF 00100107 ! 14: C CODE TO DUMP THE FILE AFTER IT HAS BEEN WRITTEN. DO LOOPS AND 00110107 ! 15: C DO-IMPLIED LISTS ARE USED IN CONJUNCTION WITH A ONE DIMENSIONAL 00120107 ! 16: C INTEGER ARRAY FOR THE DUMP SECTION. 00130107 ! 17: C 00140107 ! 18: C THE MAJOR PURPOSE OF THIS ROUTINE IS TO TEST WHETHER THE LAST 00150107 ! 19: C SET OF PARENTHESES WILL BE REPEATED IN A FORMAT STATEMENT IF THE 00160107 ! 20: C NUMBER OF DATA ITEMS IN THE INPUT/OUTPUT LIST IS GREATER THAN THE 00170107 ! 21: C NUMBER OF FIELD SPECIFICATIONS WITHIN THE FORMAT STATEMENT. 00180107 ! 22: C IN ADDITION THE USE OF TWO AND THREE DIMENSIONED ARRAYS IS TESTED 00190107 ! 23: C IN THE IMPLIED-DO LISTS IN BOTH THE WRITE AND READ SECTIONS. 00200107 ! 24: C 00210107 ! 25: C THIS ROUTINE WRITES A SINGLE SEQUENTIAL FILE WHICH IS 00220107 ! 26: C REWOUND AND READ SEQUENTIALLY FORWARD. EVERY FOURTH RECORD IS 00230107 ! 27: C CHECKED DURING THE READ TEST SECTION PLUS THE LAST TWO RECORDS 00240107 ! 28: C AND THE END OF FILE ON THE LAST RECORD. 00250107 ! 29: C 00260107 ! 30: C THE LINE CONTINUATION IN COLUMN 6 IS USED IN READ, WRITE, 00270107 ! 31: C AND FORMAT STATEMENTS. FOR BOTH SYNTAX AND SEMANTIC TESTS, ALL 00280107 ! 32: C STATEMENTS SHOULD BE CHECKED VISUALLY FOR THE PROPER FUNCTIONING 00290107 ! 33: C OF THE CONTINUATION LINE. 00300107 ! 34: C 00310107 ! 35: C REFERENCES 00320107 ! 36: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00330107 ! 37: C X3.9-1978 00340107 ! 38: C 00350107 ! 39: C SECTION 8, SPECIFICATION STATEMENTS 00360107 ! 40: C SECTION 9, DATA STATEMENT 00370107 ! 41: C SECTION 11.10, DO STATEMENT 00380107 ! 42: C SECTION 12, INPUT/OUTPUT STATEMENTS 00390107 ! 43: C SECTION 12.8.2, INPUT/OUTPUT LIST 00400107 ! 44: C SECTION 12.9.5.2, FORMATTED DATA TRANSFER 00410107 ! 45: C SECTION 13, FORMAT STATEMENT 00420107 ! 46: C SECTION 13.2.1, EDIT DESCRIPTORS 00430107 ! 47: C 00440107 ! 48: DIMENSION IADN21(31,20), IADN31(31,10,2) 00450107 ! 49: DIMENSION ITEST(27) 00460107 ! 50: DIMENSION IDUMP(136) 00470107 ! 51: CHARACTER*1 NINE,IDUMP 00480107 ! 52: DATA NINE/'9'/ 00490107 ! 53: C 00500107 ! 54: 77701 FORMAT ( 80A1 ) 00510107 ! 55: 77702 FORMAT (10X,19HPREMATURE EOF ONLY ,I3,13H RECORDS LUN ,I2,8H OUT O00520107 ! 56: 1F ,I3,8H RECORDS) 00530107 ! 57: 77703 FORMAT (10X,12HFILE ON LUN ,I2,7H OK... ,I3,8H RECORDS) 00540107 ! 58: 77704 FORMAT (10X,12HFILE ON LUN ,I2,20H NO EOF.. MORE THAN ,I3,8H RECOR00550107 ! 59: 1DS) 00560107 ! 60: 77705 FORMAT ( 1X,80A1) 00570107 ! 61: 77706 FORMAT (10X,44HFILE I06 CREATED WITH 137 SEQUENTIAL RECORDS ) 00580107 ! 62: 77751 FORMAT ( I3, 2(1I2), 3(1I3), I4, 10(1I3) ) 00590107 ! 63: 77752 FORMAT ( I3,2(1I2), 3(1I3), I4, 3(1I3) ) 00600107 ! 64: 77753 FORMAT ( //////////////// I3,2I2,3I3,I4,10(I3) ) 00610107 ! 65: C 00620107 ! 66: C 00630107 ! 67: C ********************************************************** 00640107 ! 68: C 00650107 ! 69: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00660107 ! 70: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD 00670107 ! 71: C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00680107 ! 72: C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER 00690107 ! 73: C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00700107 ! 74: C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN 00710107 ! 75: C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC 00720107 ! 76: C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00730107 ! 77: C OF EXECUTING THESE TESTS. 00740107 ! 78: C 00750107 ! 79: C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00760107 ! 80: C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. 00770107 ! 81: C 00780107 ! 82: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - 00790107 ! 83: C 00800107 ! 84: C DEPARTMENT OF THE NAVY 00810107 ! 85: C FEDERAL COBOL COMPILER TESTING SERVICE 00820107 ! 86: C WASHINGTON, D.C. 20376 00830107 ! 87: C 00840107 ! 88: C ********************************************************** 00850107 ! 89: C 00860107 ! 90: C 00870107 ! 91: C 00880107 ! 92: C INITIALIZATION SECTION 00890107 ! 93: C 00900107 ! 94: C INITIALIZE CONSTANTS 00910107 ! 95: C ************** 00920107 ! 96: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00930107 ! 97: I01 = 5 00940107 ! 98: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00950107 ! 99: I02 = 6 00960107 ! 100: C SYSTEM ENVIRONMENT SECTION 00970107 ! 101: C 00980107 ! 102: I01 = 5 00990107 ! 103: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 01000107 ! 104: C (UNIT NUMBER FOR CARD READER). 01010107 ! 105: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 01020107 ! 106: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 01030107 ! 107: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 01040107 ! 108: C 01050107 ! 109: I02 = 6 01060107 ! 110: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 01070107 ! 111: C (UNIT NUMBER FOR PRINTER). 01080107 ! 112: CX021 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 01090107 ! 113: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 01100107 ! 114: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 01110107 ! 115: C 01120107 ! 116: IVPASS=0 01130107 ! 117: IVFAIL=0 01140107 ! 118: IVDELE=0 01150107 ! 119: ICZERO=0 01160107 ! 120: C 01170107 ! 121: C WRITE PAGE HEADERS 01180107 ! 122: WRITE (I02,90000) 01190107 ! 123: WRITE (I02,90001) 01200107 ! 124: WRITE (I02,90002) 01210107 ! 125: WRITE (I02, 90002) 01220107 ! 126: WRITE (I02,90003) 01230107 ! 127: WRITE (I02,90002) 01240107 ! 128: WRITE (I02,90004) 01250107 ! 129: WRITE (I02,90002) 01260107 ! 130: WRITE (I02,90011) 01270107 ! 131: WRITE (I02,90002) 01280107 ! 132: WRITE (I02,90002) 01290107 ! 133: WRITE (I02,90005) 01300107 ! 134: WRITE (I02,90006) 01310107 ! 135: WRITE (I02,90002) 01320107 ! 136: C 01330107 ! 137: C DEFAULT ASSIGNMENT FOR FILE 08 IS I06 = 7 01340107 ! 138: I06 = 7 01350107 ! 139: OPEN(UNIT=I06,ACCESS='SEQUENTIAL',FORM='FORMATTED') 01360107 ! 140: CX061 THIS CARD IS REPLACED BY THE CONTENTS OF CARD X-061 01370107 ! 141: C 01380107 ! 142: C WRITE SECTION.... 01390107 ! 143: C 01400107 ! 144: C THIS SECTION OF CODE BUILDS A UNIT RECORD FILE ON LUN I06 THAT IS 01410107 ! 145: C 80 CHARACTERS PER RECORD, 31 RECORDS SETS, AND CONSISTS OF ONLY 01420107 ! 146: C INTEGERS ( I FORMAT ). THIS IS THE ONLY FILE TESTED IN THE 01430107 ! 147: C ROUTINE FM107 AND FOR PURPOSES OF IDENTIFICATION IS FILE 08. 01440107 ! 148: IPROG = 107 01450107 ! 149: IFILE = 08 01460107 ! 150: ILUN = I06 01470107 ! 151: ITOTR = 137 01480107 ! 152: IRLGN = 80 01490107 ! 153: IEOF = 0000 01500107 ! 154: C THESE DO-LOOPS ARE TO SET THE VALUES INTO THE TWO AND THREE 01510107 ! 155: C DIMENSIONED ARRAYS FOR THE I/O LISTS.... 01520107 ! 156: DO 1143 IRNUM = 1, 31 01530107 ! 157: DO 1142 J = 1, 20 01540107 ! 158: IADN21(IRNUM,J) = IRNUM + J + 99 01550107 ! 159: 1142 CONTINUE 01560107 ! 160: 1143 CONTINUE 01570107 ! 161: C 01580107 ! 162: DO 1146 IRNUM = 1, 31 01590107 ! 163: DO 1145 J = 1, 10 01600107 ! 164: DO 1144 K = 1, 2 01610107 ! 165: IADN31(IRNUM,J,K) = IRNUM + J + K + 298 01620107 ! 166: 1144 CONTINUE 01630107 ! 167: 1145 CONTINUE 01640107 ! 168: 1146 CONTINUE 01650107 ! 169: IFLIP = 1 01660107 ! 170: DO 1149 IRNUM = 1, 31 01670107 ! 171: IF ( IRNUM .EQ. 31 ) IEOF = 9999 01680107 ! 172: IF ( IFLIP - 1 ) 1147, 1147, 1148 01690107 ! 173: 1147 WRITE ( I06, 77751 ) IPROG, IFILE, ILUN, IRNUM, ITOTR, IRLGN, IEOF01700107 ! 174: 1,(IADN21(IRNUM,J), J = 1, 20) 01710107 ! 175: IFLIP = 2 01720107 ! 176: GO TO 1149 01730107 ! 177: 1148 WRITE ( I06, 77752 ) IPROG, IFILE, ILUN, IRNUM, ITOTR, IRLGN, IEOF01740107 ! 178: 1,((IADN31(IRNUM,J,K), K = 1, 2), J = 1, 10) 01750107 ! 179: IFLIP = 1 01760107 ! 180: 1149 CONTINUE 01770107 ! 181: WRITE (I02,77706) 01780107 ! 182: C 01790107 ! 183: C REWIND SECTION 01800107 ! 184: C 01810107 ! 185: REWIND I06 01820107 ! 186: C 01830107 ! 187: C READ SECTION.... 01840107 ! 188: C 01850107 ! 189: IVTNUM = 114 01860107 ! 190: C 01870107 ! 191: C **** TEST 114 THRU TEST 121 **** 01880107 ! 192: C TEST 114 THRU 121 - THESE TESTS READ THE SEQUENTIAL FILE 01890107 ! 193: C PREVIOUSLY WRITTEN ON LUN I06 AND CHECK THE FIRST AND EVERY FOURTH01900107 ! 194: C RECORD. THE VALUES CHECKED ARE THE RECORD NUMBER - IRNUM AND 01910107 ! 195: C SEVERAL VALUES IN THE INTEGER ARRAY WHICH SHOULD FOLLOW A 01920107 ! 196: C CALCULATED PATTERN WITH RESPECT TO THE SUBSCRIPTS AND THE RECORD 01930107 ! 197: C NUMBER.... 01940107 ! 198: C 01950107 ! 199: IRNUM = 1 01960107 ! 200: READ(I06,77751) ITEST 01970107 ! 201: C READ THE FIRST RECORD.... 01980107 ! 202: DO 1212 I = 1, 8 01990107 ! 203: IVON01 = 0 02000107 ! 204: C THE INTEGER VARIABLE IS INITIALIZED TO ZERO FOR EACH TEST 02010107 ! 205: IF ( ITEST(4) .EQ. IRNUM ) IVON01 = IVON01 + 1 02020107 ! 206: C THE ELEMENT (4) SHOULD EQUAL THE RECORD NUMBER.... 02030107 ! 207: C THE FOLLOWING TESTS ARE FOR ODD NUMBERED RECORDS 02040107 ! 208: IF ( ITEST(8) .EQ. IADN21(IRNUM,1) ) IVON01 = IVON01 + 1 02050107 ! 209: C ELEMENT (8) SHOULD EQUAL IRNUM + 100 .... 02060107 ! 210: IF ( ITEST(12) .EQ. IADN21(IRNUM,5) ) IVON01 = IVON01 + 1 02070107 ! 211: C ELEMENT (12) SHOULD EQUAL IRNUM + 104 .... 02080107 ! 212: IF ( ITEST(16) .EQ. IADN21(IRNUM,9) ) IVON01 = IVON01 + 1 02090107 ! 213: C ELEMENT (16) SHOULD EQUAL IRNUM + 108 .... 02100107 ! 214: IF ( ITEST(20) .EQ. IADN21(IRNUM,13) ) IVON01 = IVON01 + 1 02110107 ! 215: C ELEMENT (20) SHOULD EQUAL IRNUM + 112 .... 02120107 ! 216: IF ( ITEST(27) .EQ. IADN21(IRNUM,20) ) IVON01 = IVON01 + 1 02130107 ! 217: C ELEMENT (27) SHOULD EQUAL IRNUM + 119 .... 02140107 ! 218: C WHEN IVON01 = 6 THEN ALL SIX OF THE ITEST ELEMENTS THAT WERE 02150107 ! 219: C CHECKED HAD THE EXPECTED VALUES.... IF IVON01 DOES NOT EQUAL 6 02160107 ! 220: C THEN AT LEAST ONE OF THE VALUES WAS INCORRECT.... 02170107 ! 221: 41200 IF ( IVON01 - 6 ) 21200, 11200, 21200 02180107 ! 222: 11200 IVPASS = IVPASS + 1 02190107 ! 223: WRITE (I02,80001) IVTNUM 02200107 ! 224: GO TO 1210 02210107 ! 225: 21200 IVFAIL = IVFAIL + 1 02220107 ! 226: IVCOMP = IVON01 02230107 ! 227: IVCORR = 6 02240107 ! 228: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02250107 ! 229: 1210 CONTINUE 02260107 ! 230: IVTNUM = IVTNUM + 1 02270107 ! 231: C INCREMENT THE TEST NUMBER.... 02280107 ! 232: C 02290107 ! 233: IF ( I .EQ. 8 ) GO TO 1221 02300107 ! 234: C THIS CODE IS TO SKIP READING PAST THE END OF FILE BY NOT READING 02310107 ! 235: C FOUR RECORDS PAST RECORD NUMBER 29 ON THE 8TH LOOP.... 02320107 ! 236: C 02330107 ! 237: READ ( I06,77753 ) ITEST 02340107 ! 238: C READ FOUR RECORDS ON LUN I06.... 02350107 ! 239: IRNUM = IRNUM + 4 02360107 ! 240: C INCREMENT THE RECORD NUMBER COUNTER.... 02370107 ! 241: 1212 CONTINUE 02380107 ! 242: IF ( ICZERO ) 31200, 1221, 31200 02390107 ! 243: 31200 IVDELE = IVDELE + 1 02400107 ! 244: WRITE (I02,80003) IVTNUM 02410107 ! 245: 1221 CONTINUE 02420107 ! 246: IVTNUM = 122 02430107 ! 247: C 02440107 ! 248: C **** TEST 122 **** 02450107 ! 249: C TEST 122 - THIS CHECKS THE VALUE OF THE VARIABLE ITEST(27) 02460107 ! 250: C ON RECORD NUMBER 30. ELEMENT (20) SHOULD EQUAL IADN31(30,2,10) 02470107 ! 251: C WHICH SHOULD BE EQUAL TO 340 .... 02480107 ! 252: C 02490107 ! 253: IF (ICZERO) 31220, 1220, 31220 02500107 ! 254: 1220 CONTINUE 02510107 ! 255: READ ( I06,77752 ) ITEST 02520107 ! 256: IVCOMP = ITEST(27) 02530107 ! 257: GO TO 41220 02540107 ! 258: 31220 IVDELE = IVDELE + 1 02550107 ! 259: WRITE (I02,80003) IVTNUM 02560107 ! 260: IF (ICZERO) 41220, 1231, 41220 02570107 ! 261: 41220 IF ( IVCOMP - 340 ) 21220, 11220, 21220 02580107 ! 262: 11220 IVPASS = IVPASS + 1 02590107 ! 263: WRITE (I02,80001) IVTNUM 02600107 ! 264: GO TO 1231 02610107 ! 265: 21220 IVFAIL = IVFAIL + 1 02620107 ! 266: IVCORR = 340 02630107 ! 267: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02640107 ! 268: 1231 CONTINUE 02650107 ! 269: IVTNUM = 123 02660107 ! 270: C 02670107 ! 271: C **** TEST 123 **** 02680107 ! 272: C TEST 123 - THIS CHECKS THE VALUE OF VARIABLE ITEST(27) ON 02690107 ! 273: C RECORD NUMBER 31 WHICH SHOULD EQUAL IADN21(31,20) = 31 + 20 + 99 02700107 ! 274: C ITEST(27) SHOULD EQUAL 150 .... 02710107 ! 275: C 02720107 ! 276: IF (ICZERO) 31230, 1230, 31230 02730107 ! 277: 1230 CONTINUE 02740107 ! 278: READ ( I06,77751) ITEST 02750107 ! 279: IVCOMP = ITEST(27) 02760107 ! 280: GO TO 41230 02770107 ! 281: 31230 IVDELE = IVDELE + 1 02780107 ! 282: WRITE (I02,80003) IVTNUM 02790107 ! 283: IF (ICZERO) 41230, 1241, 41230 02800107 ! 284: 41230 IF ( IVCOMP - 150 ) 21230, 11230, 21230 02810107 ! 285: 11230 IVPASS = IVPASS + 1 02820107 ! 286: WRITE (I02,80001) IVTNUM 02830107 ! 287: GO TO 1241 02840107 ! 288: 21230 IVFAIL = IVFAIL + 1 02850107 ! 289: IVCORR = 150 02860107 ! 290: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02870107 ! 291: 1241 CONTINUE 02880107 ! 292: IVTNUM = 124 02890107 ! 293: C 02900107 ! 294: C **** TEST 124 **** 02910107 ! 295: C TEST 124 - THIS CHECKS FOR THE PROPER 9999 EOF INDICATOR ON 02920107 ! 296: C RECORD NUMBER 31 .... 02930107 ! 297: C 02940107 ! 298: IF (ICZERO) 31240, 1240, 31240 02950107 ! 299: 1240 CONTINUE 02960107 ! 300: IVCOMP = ITEST(7) 02970107 ! 301: GO TO 41240 02980107 ! 302: 31240 IVDELE = IVDELE + 1 02990107 ! 303: WRITE (I02,80003) IVTNUM 03000107 ! 304: IF (ICZERO) 41240, 1251, 41240 03010107 ! 305: 41240 IF ( IVCOMP - 9999 ) 21240, 11240, 21240 03020107 ! 306: 11240 IVPASS = IVPASS + 1 03030107 ! 307: WRITE (I02,80001) IVTNUM 03040107 ! 308: GO TO 1251 03050107 ! 309: 21240 IVFAIL = IVFAIL + 1 03060107 ! 310: IVCORR = 9999 03070107 ! 311: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03080107 ! 312: 1251 CONTINUE 03090107 ! 313: C THIS CODE IS OPTIONALLY COMPILED AND IS USED TO DUMP THE FILE 08 03100107 ! 314: C TO THE LINE PRINTER. 03110107 ! 315: CDB** 03120107 ! 316: C ILUN = I06 03130107 ! 317: C ITOTR = 137 03140107 ! 318: C IRLGN = 80 03150107 ! 319: C7777 REWIND ILUN 03160107 ! 320: C IENDC = 0 03170107 ! 321: C IRCNT = 0 03180107 ! 322: C DO 7778 IRNUM = 1, ITOTR 03190107 ! 323: C READ (ILUN,77701) (IDUMP(ICHAR), ICHAR = 1, IRLGN) 03200107 ! 324: C WRITE ( I02,77705) (IDUMP(ICHAR), ICHAR = 1, IRLGN) 03210107 ! 325: C IRCNT = IRCNT + 1 03220107 ! 326: C IF ( IDUMP(20) .EQ. NINE ) IENDC = IRNUM 03230107 ! 327: C7778 CONTINUE 03240107 ! 328: C IF ( IENDC - 136 ) 7780, 7779, 7782 03250107 ! 329: C7779 IF ( IRCNT - ITOTR ) 7780, 7781, 7782 03260107 ! 330: C7780 WRITE (I02,77702) IRNUM,ILUN,ITOTR 03270107 ! 331: C GO TO 7784 03280107 ! 332: C7781 WRITE (I02,77703) ILUN,ITOTR 03290107 ! 333: C GO TO 7784 03300107 ! 334: C7782 WRITE (I02,77704) ILUN, ITOTR 03310107 ! 335: C DO 7783 I = 1, 5 03320107 ! 336: C READ (ILUN,77701) (IDUMP(ICHAR), ICHAR = 1, IRLGN) 03330107 ! 337: C WRITE ( I02,77705) (IDUMP(ICHAR), ICHAR = 1, IRLGN) 03340107 ! 338: C IF ( IDUMP(20) .EQ. NINE ) GO TO 7784 03350107 ! 339: C7783 CONTINUE 03360107 ! 340: C7784 GO TO 99999 03370107 ! 341: CDE** 03380107 ! 342: C WRITE PAGE FOOTINGS AND RUN SUMMARIES 03390107 ! 343: 99999 CONTINUE 03400107 ! 344: WRITE (I02,90002) 03410107 ! 345: WRITE (I02,90006) 03420107 ! 346: WRITE (I02,90002) 03430107 ! 347: WRITE (I02,90002) 03440107 ! 348: WRITE (I02,90007) 03450107 ! 349: WRITE (I02,90002) 03460107 ! 350: WRITE (I02,90008) IVFAIL 03470107 ! 351: WRITE (I02,90009) IVPASS 03480107 ! 352: WRITE (I02,90010) IVDELE 03490107 ! 353: C 03500107 ! 354: C 03510107 ! 355: C TERMINATE ROUTINE EXECUTION 03520107 ! 356: STOP 03530107 ! 357: C 03540107 ! 358: C FORMAT STATEMENTS FOR PAGE HEADERS 03550107 ! 359: 90000 FORMAT (1H1) 03560107 ! 360: 90002 FORMAT (1H ) 03570107 ! 361: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 03580107 ! 362: 90003 FORMAT (1H ,21X,11HVERSION 1.0) 03590107 ! 363: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 03600107 ! 364: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 03610107 ! 365: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 03620107 ! 366: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 03630107 ! 367: C 03640107 ! 368: C FORMAT STATEMENTS FOR RUN SUMMARIES 03650107 ! 369: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED) 03660107 ! 370: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED) 03670107 ! 371: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED) 03680107 ! 372: C 03690107 ! 373: C FORMAT STATEMENTS FOR TEST RESULTS 03700107 ! 374: 80001 FORMAT (1H ,4X,I5,7X,4HPASS) 03710107 ! 375: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL) 03720107 ! 376: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED) 03730107 ! 377: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 03740107 ! 378: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 03750107 ! 379: C 03760107 ! 380: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM107) 03770107 ! 381: END 03780107
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.