|
|
1.1 ! root 1: C COMMENT SECTION. 00010102 ! 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 00020102 ! 6: C FM102 00030102 ! 7: C 00040102 ! 8: C THIS ROUTINE IS A TEST OF THE A FORMAT AND IS TAPE AND PRINTER00050102 ! 9: C ORIENTED. THE ROUTINE CAN ALSO BE USED FOR DISK. BOTH THE READ 00060102 ! 10: C AND WRITE STATEMENTS ARE TESTED. VARIABLES IN THE INPUT AND 00070102 ! 11: C OUTPUT LISTS ARE ALPHANUMERIC INTEGERS AND ARRAY ELEMENTS OR 00080102 ! 12: C ARRAY NAME REFERENCES. ALL READ AND WRITE STATEMENTS ARE DONE 00090102 ! 13: C WITH FORMAT STATEMENTS. THE ROUTINE HAS AN OPTIONAL SECTION OF 00100102 ! 14: C CODE TO DUMP THE FILE AFTER IT HAS BEEN WRITTEN. DO LOOPS AND 00110102 ! 15: C DO-IMPLIED LISTS ARE USED IN CONJUNCTION WITH A ONE DIMENSIONAL 00120102 ! 16: C INTEGER ARRAY FOR THE DUMP SECTION. 00130102 ! 17: C 00140102 ! 18: C THIS ROUTINE WRITES A SINGLE SEQUENTIAL FILE WHICH IS 00150102 ! 19: C REWOUND AND READ SEQUENTIALLY FORWARD. EVERY RECORD IS READ AND 00160102 ! 20: C CHECKED FOR ACCURACY AND THE END OF FILE ON RECORD 31 IS ALSO 00170102 ! 21: C CHECKED. DURING THE READ AND CHECK PROCESS THE FILE IS REWOUND 00180102 ! 22: C TWICE. THE FIRST PASS CHECKS THE ODD NUMBERED RECORDS AND THE 00190102 ! 23: C SECOND PASS CHECKS THE EVEN NUMBERED RECORDS. 00200102 ! 24: C 00210102 ! 25: C THE LINE CONTINUATION IN COLUMN 6 IS USED IN READ, WRITE, 00220102 ! 26: C AND FORMAT STATEMENTS. FOR BOTH SYNTAX AND SEMANTIC TESTS, ALL 00230102 ! 27: C STATEMENTS SHOULD BE CHECKED VISUALLY FOR THE PROPER FUNCTIONING 00240102 ! 28: C OF THE CONTINUATION LINE. 00250102 ! 29: C 00260102 ! 30: C REFERENCES 00270102 ! 31: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00280102 ! 32: C X3.9-1978 00290102 ! 33: C 00300102 ! 34: C SECTION 8, SPECIFICATION STATEMENTS 00310102 ! 35: C SECTION 9, DATA STATEMENT 00320102 ! 36: C SECTION 11.10, DO STATEMENT 00330102 ! 37: C SECTION 12, INPUT/OUTPUT STATEMENTS 00340102 ! 38: C SECTION 12.8.2, INPUT/OUTPUT LIST 00350102 ! 39: C SECTION 12.9.5.2, FORMATTED DATA TRANSFER 00360102 ! 40: C SECTION 13, FORMAT STATEMENT 00370102 ! 41: C SECTION 13.2.1, EDIT DESCRIPTORS 00380102 ! 42: C 00390102 ! 43: COMMON IACN11(60), IACN12(30) 00400102 ! 44: C 00410102 ! 45: DIMENSION ITEST(7) 00420102 ! 46: DIMENSION IADN11(60), IADN12(30) 00430102 ! 47: DIMENSION IDUMP(136) 00440102 ! 48: CHARACTER*1 NINE,IADN11,IACN11,IDUMP 00450102 ! 49: CHARACTER*2 IADN12,IACN12 00460102 ! 50: DATA NINE/'9'/ 00470102 ! 51: DATA IADN11 /'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 00480102 ! 52: 1'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 00490102 ! 53: 2'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 00500102 ! 54: 3' ', '=', '+', '-', '*', '/', '(', ')', ',', '.','*', '0', '*', 00510102 ! 55: 4'1', '.', '2', ',', '3', ')', '4', '(', '5', '/', '6' / 00520102 ! 56: DATA IADN12 / 00530102 ! 57: 1'6/', '5(', '4)','3,', '2.', '1*', '0*', '.,', ')(', '/*', '-+', 00540102 ! 58: 2'= ', 'ZY', 'XW', 'VU', 'TS', 'RQ', 'PO', 'NM', 'LK', 'JI', 'HG' 00550102 ! 59: 3,'FE', 'DC', 'BA', '98', '76', '54', '32', '10' / 00560102 ! 60: 77701 FORMAT ( 80A1 ) 00570102 ! 61: 77702 FORMAT (10X,19HPREMATURE EOF ONLY ,I3,13H RECORDS LUN ,I2,8H OUT O00580102 ! 62: 1F ,I3,8H RECORDS) 00590102 ! 63: 77703 FORMAT (10X,12HFILE ON LUN ,I2,7H OK... ,I3,8H RECORDS) 00600102 ! 64: 77704 FORMAT (10X,12HFILE ON LUN ,I2,20H TOO LONG MORE THAN ,I3,8H RECOR00610102 ! 65: 1DS) 00620102 ! 66: 77705 FORMAT ( 1X,80A1) 00630102 ! 67: 77706 FORMAT (10X,43HFILE I08 CREATED WITH 31 SEQUENTIAL RECORDS) 00640102 ! 68: 77751 FORMAT (I3, 2I2, 3I3, I4, 60A1 ) 00650102 ! 69: 77752 FORMAT ( I3, 2I2, 3I3, I4, 30A2 ) 00660102 ! 70: C 00670102 ! 71: C 00680102 ! 72: C ********************************************************** 00690102 ! 73: C 00700102 ! 74: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00710102 ! 75: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD 00720102 ! 76: C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00730102 ! 77: C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER 00740102 ! 78: C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00750102 ! 79: C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN 00760102 ! 80: C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC 00770102 ! 81: C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00780102 ! 82: C OF EXECUTING THESE TESTS. 00790102 ! 83: C 00800102 ! 84: C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00810102 ! 85: C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. 00820102 ! 86: C 00830102 ! 87: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - 00840102 ! 88: C 00850102 ! 89: C DEPARTMENT OF THE NAVY 00860102 ! 90: C FEDERAL COBOL COMPILER TESTING SERVICE 00870102 ! 91: C WASHINGTON, D.C. 20376 00880102 ! 92: C 00890102 ! 93: C ********************************************************** 00900102 ! 94: C 00910102 ! 95: C 00920102 ! 96: C 00930102 ! 97: C INITIALIZATION SECTION 00940102 ! 98: C 00950102 ! 99: C INITIALIZE CONSTANTS 00960102 ! 100: C ************** 00970102 ! 101: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00980102 ! 102: I01 = 5 00990102 ! 103: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 01000102 ! 104: I02 = 6 01010102 ! 105: C SYSTEM ENVIRONMENT SECTION 01020102 ! 106: C 01030102 ! 107: I01 = 5 01040102 ! 108: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 01050102 ! 109: C (UNIT NUMBER FOR CARD READER). 01060102 ! 110: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 01070102 ! 111: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 01080102 ! 112: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 01090102 ! 113: C 01100102 ! 114: I02 = 6 01110102 ! 115: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 01120102 ! 116: C (UNIT NUMBER FOR PRINTER). 01130102 ! 117: CX021 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 01140102 ! 118: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 01150102 ! 119: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 01160102 ! 120: C 01170102 ! 121: IVPASS=0 01180102 ! 122: IVFAIL=0 01190102 ! 123: IVDELE=0 01200102 ! 124: ICZERO=0 01210102 ! 125: C 01220102 ! 126: C WRITE PAGE HEADERS 01230102 ! 127: WRITE (I02,90000) 01240102 ! 128: WRITE (I02,90001) 01250102 ! 129: WRITE (I02,90002) 01260102 ! 130: WRITE (I02, 90002) 01270102 ! 131: WRITE (I02,90003) 01280102 ! 132: WRITE (I02,90002) 01290102 ! 133: WRITE (I02,90004) 01300102 ! 134: WRITE (I02,90002) 01310102 ! 135: WRITE (I02,90011) 01320102 ! 136: WRITE (I02,90002) 01330102 ! 137: WRITE (I02,90002) 01340102 ! 138: WRITE (I02,90005) 01350102 ! 139: WRITE (I02,90006) 01360102 ! 140: WRITE (I02,90002) 01370102 ! 141: C 01380102 ! 142: C DEFAULT ASSIGNMENT FOR FILE 03 IS I08 = 7 01390102 ! 143: I08 = 7 01400102 ! 144: OPEN(UNIT=I08,ACCESS='SEQUENTIAL',FORM='FORMATTED') 01410102 ! 145: CX081 THIS CARD IS REPLACED BY THE CONTENTS OF CARD X-081 01420102 ! 146: C 01430102 ! 147: C WRITE SECTION.... 01440102 ! 148: C 01450102 ! 149: C THIS SECTION OF CODE BUILDS A UNIT RECORD FILE ON LUN I08 THAT IS 01460102 ! 150: C 80 CHARACTERS PER RECORD, 31 RECORDS LONG, AND CONSISTS OF ONLY 01470102 ! 151: C INTEGERS AND ALPHANUMERICS ( I AND A FORMAT ). THIS ROUTINE HAS 01480102 ! 152: C ONLY ONE FILE AND FOR PURPOSES OF IDENTIFICATION IS FILE 03. 01490102 ! 153: C ALL ARRAY ELEMENT DATA FOR THE ALPHANUMERIC CHARACTERS IS SET BY 01500102 ! 154: C THE DATA INITIALIZATION STATEMENT. 01510102 ! 155: IPROG = 102 01520102 ! 156: IFILE = 03 01530102 ! 157: ILUN = I08 01540102 ! 158: ITOTR = 31 01550102 ! 159: IRLGN = 80 01560102 ! 160: IEOF = 0000 01570102 ! 161: IFLIP = 1 01580102 ! 162: DO 234 IRNUM = 1, 31 01590102 ! 163: IF ( IRNUM .EQ. 31 ) IEOF = 9999 01600102 ! 164: IF ( IFLIP - 1 ) 232, 232, 233 01610102 ! 165: 232 WRITE ( I08, 77751 ) IPROG,IFILE,ILUN,IRNUM,ITOTR,IRLGN,IEOF,IADN01620102 ! 166: 111 01630102 ! 167: IFLIP = 2 01640102 ! 168: GO TO 234 01650102 ! 169: 233 WRITE ( I08, 77752 ) IPROG,IFILE,ILUN,IRNUM,ITOTR,IRLGN,IEOF,IADN101660102 ! 170: 12 01670102 ! 171: IFLIP = 1 01680102 ! 172: 234 CONTINUE 01690102 ! 173: WRITE (I02,77706) 01700102 ! 174: C 01710102 ! 175: C REWIND SECTION 01720102 ! 176: C 01730102 ! 177: REWIND I08 01740102 ! 178: C 01750102 ! 179: C READ SECTION.... 01760102 ! 180: C 01770102 ! 181: IVTNUM = 23 01780102 ! 182: C 01790102 ! 183: C **** TEST 23 THRU TEST 38 **** 01800102 ! 184: C TEST 23 THRU 38 - THESE TESTS READ THE FILE SEQUENTIALLY FORWARD01810102 ! 185: C AND CHECK THE ODD NUMBERED RECORDS FOR THE RECORD NUMBER AND THE 01820102 ! 186: C VALUE OF SEVERAL OF THE DATA ITEMS WHICH SHOULD REMAIN CONSTANT 01830102 ! 187: C FROM RECORD TO RECORD. 01840102 ! 188: C 01850102 ! 189: IRTST = 1 01860102 ! 190: DO 383 I = 1, 16 01870102 ! 191: C THE INTEGER VARIABLE IS INITIALIZED TO ZERO FOR EACH TEST 23 - 38.01880102 ! 192: IVON01 = 0 01890102 ! 193: C READ AN ODD NUMBERED RECORD.... 01900102 ! 194: READ ( I08, 77751 ) ITEST, IACN11 01910102 ! 195: IF ( ITEST(4) .EQ. IRTST ) IVON01 = IVON01 + 1 01920102 ! 196: C THE ELEMENT (4) SHOULD EQUAL THE RECORD NUMBER.... 01930102 ! 197: IF ( IACN11(1) .EQ. IADN11(1) ) IVON01 = IVON01 + 1 01940102 ! 198: C THE ELEMENT (1) SHOULD EQUAL IADN11(1) = '0' .... 01950102 ! 199: IF ( IACN11(11) .EQ. IADN11(11) ) IVON01 = IVON01 + 1 01960102 ! 200: C THE ELEMENT (11) SHOULD EQUAL IADN11(11) = 'A' .... 01970102 ! 201: IF ( IACN11(36) .EQ. IADN11(36) ) IVON01 = IVON01 + 1 01980102 ! 202: C THE ELEMENT (36) SHOULD EQUAL IADN11(36) = 'Z' .... 01990102 ! 203: IF ( IACN11(44) .EQ. IADN11(44) ) IVON01 = IVON01 + 1 02000102 ! 204: C THE ELEMENT (44) SHOULD EQUAL IADN11(44) = ')' .... 02010102 ! 205: IF ( IACN11(60) .EQ. IADN11(60) ) IVON01 = IVON01 + 1 02020102 ! 206: C THE ELEMENT (60) SHOULD EQUAL IADN11(60) = '6' .... 02030102 ! 207: IF ( IVON01 - 6 ) 20230, 10230, 20230 02040102 ! 208: C WHEN IVON01 = 6 THEN ALL SIX OF THE ITEST ELEMENTS THAT WERE 02050102 ! 209: C CHECKED HAD THE EXPECTED VALUES.... IF IVON01 DOES NOT EQUAL 6 02060102 ! 210: C THEN AT LEAST ONE OF THE VALUES WAS INCORRECT.... 02070102 ! 211: 10230 IVPASS = IVPASS + 1 02080102 ! 212: WRITE (I02,80001) IVTNUM 02090102 ! 213: GO TO 382 02100102 ! 214: 20230 IVFAIL = IVFAIL + 1 02110102 ! 215: IVCOMP = IVON01 02120102 ! 216: IVCORR = 6 02130102 ! 217: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02140102 ! 218: 382 CONTINUE 02150102 ! 219: C DO NOT READ PAST RECORD NUMBER 31 ON THE I = 16 LOOP.... 02160102 ! 220: IF ( I .EQ. 16 ) GO TO 391 02170102 ! 221: C SKIP OVER THE EVEN NUMBERED RECORDS BY AN EXTRA READ.... 02180102 ! 222: READ ( I08, 77752 ) ITEST, IACN12 02190102 ! 223: IVTNUM = IVTNUM + 1 02200102 ! 224: C INCREMENT THE TEST NUMBER.... 02210102 ! 225: IRTST = IRTST + 2 02220102 ! 226: C INCREMENT THE RECORD NUMBER COUNTER.... 02230102 ! 227: 383 CONTINUE 02240102 ! 228: IF ( ICZERO ) 30230, 391, 30230 02250102 ! 229: 30230 IVDELE = IVDELE + 1 02260102 ! 230: WRITE (I02,80003) IVTNUM 02270102 ! 231: 391 CONTINUE 02280102 ! 232: IVTNUM = 39 02290102 ! 233: C 02300102 ! 234: C **** TEST 39 **** 02310102 ! 235: C TEST 39 - THIS CHECKS FOR THE END OF FILE INDICATOR ON THE 31ST 02320102 ! 236: C RECORD. THE EOF INDICATOR IS ITEST(7) AND SHOULD EQUAL 9999 02330102 ! 237: C 02340102 ! 238: IF (ICZERO) 30390, 390, 30390 02350102 ! 239: 390 CONTINUE 02360102 ! 240: IVCOMP = ITEST(7) 02370102 ! 241: GO TO 40390 02380102 ! 242: 30390 IVDELE = IVDELE + 1 02390102 ! 243: WRITE (I02,80003) IVTNUM 02400102 ! 244: IF (ICZERO) 40390, 401, 40390 02410102 ! 245: 40390 IF ( IVCOMP - 9999 ) 20390, 10390, 20390 02420102 ! 246: 10390 IVPASS = IVPASS + 1 02430102 ! 247: WRITE (I02,80001) IVTNUM 02440102 ! 248: GO TO 401 02450102 ! 249: 20390 IVFAIL = IVFAIL + 1 02460102 ! 250: IVCORR = 9999 02470102 ! 251: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02480102 ! 252: 401 CONTINUE 02490102 ! 253: C REWIND THE FILE AGAIN.... 02500102 ! 254: REWIND I08 02510102 ! 255: C READ THE FILE AGAIN 02520102 ! 256: IVTNUM = 40 02530102 ! 257: C **** TEST 40 THRU 54 **** 02540102 ! 258: C TEST 40 THRU 54 - THESE TESTS CHECK THE EVEN NUMBERED RECORDS 02550102 ! 259: C FOR THE CORRECT RECORD NUMBER AND THE VALUE OF SEVERAL DATA ITEMS 02560102 ! 260: C WHICH SHOULD REMAIN CONSTANT FOR EACH RECORD. THESE READ CHECKS 02570102 ! 261: C USE A DIFFERENT FORMAT THAN TESTS 23 THRU 38 BECAUSE THE RECORDS 02580102 ! 262: C WERE WRITTEN USING A FLIP-FLOP BETWEEN TWO FORMATS. 02590102 ! 263: C 02600102 ! 264: IRTST = 2 02610102 ! 265: C THIS RECORD POINTER IS INITIALIZED TO THE SECOND (EVEN) RECORD 02620102 ! 266: DO 532 I = 1, 15 02630102 ! 267: C THE INTEGER VARIABLE IS INITIALIZED TO ZERO FOR EACH TEST 40 - 54 02640102 ! 268: IVON01 = 0 02650102 ! 269: C SKIP OVER THE ODD NUMBERED RECORDS.... 02660102 ! 270: READ ( I08, 77751 ) ITEST, IACN11 02670102 ! 271: C READ THE EVEN NUMBERED RECORDS.... 02680102 ! 272: READ ( I08, 77752 ) ITEST, IACN12 02690102 ! 273: IF ( ITEST(4) .EQ. IRTST ) IVON01 = IVON01 + 1 02700102 ! 274: C CHECK THE RECORD NUMBER.... 02710102 ! 275: IF ( IACN12(1) .EQ. IADN12(1) ) IVON01 = IVON01 + 1 02720102 ! 276: C ELEMENT (1) SHOULD EQUAL '6/' .... 02730102 ! 277: IF ( IACN12(11) .EQ. IADN12(11) ) IVON01 = IVON01 + 1 02740102 ! 278: C ELEMENT (11) SHOULD EQUAL '-+' .... 02750102 ! 279: IF ( IACN12(16) .EQ. IADN12(16) ) IVON01 = IVON01 + 1 02760102 ! 280: C ELEMENT (16) SHOULD EQUAL 'TS' .... 02770102 ! 281: IF ( IACN12(23) .EQ. IADN12(23) ) IVON01 = IVON01 + 1 02780102 ! 282: C ELEMENT (23) SHOULD EQUAL 'FE' .... (THE SYMBOL FOR IRONY) 02790102 ! 283: IF ( IACN12(30) .EQ. IADN12(30) ) IVON01 = IVON01 + 1 02800102 ! 284: C ELEMENT (30) SHOULD EQUAL '10' .... 02810102 ! 285: IF ( IVON01 - 6 ) 20400, 10400, 20400 02820102 ! 286: 10400 IVPASS = IVPASS + 1 02830102 ! 287: WRITE (I02,80001) IVTNUM 02840102 ! 288: GO TO 402 02850102 ! 289: 20400 IVFAIL = IVFAIL + 1 02860102 ! 290: IVCOMP = IVON01 02870102 ! 291: IVCORR = 6 02880102 ! 292: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02890102 ! 293: 402 CONTINUE 02900102 ! 294: IVTNUM = IVTNUM + 1 02910102 ! 295: C INCREMENT THE TEST NUMBER.... 02920102 ! 296: IRTST = IRTST + 2 02930102 ! 297: C INCREMENT THE RECORD NUMBER COUNTER.... 02940102 ! 298: 532 CONTINUE 02950102 ! 299: IF ( ICZERO ) 30400, 411, 30400 02960102 ! 300: 30400 IVDELE = IVDELE + 1 02970102 ! 301: WRITE (I02,80003) IVTNUM 02980102 ! 302: 411 CONTINUE 02990102 ! 303: C THIS CODE IS OPTIONALLY COMPILED AND IS USED TO DUMP THE FILE 03 03000102 ! 304: C TO THE LINE PRINTER. 03010102 ! 305: CDB** 03020102 ! 306: C ILUN = I08 03030102 ! 307: C ITOTR = 31 03040102 ! 308: C IRLGN = 80 03050102 ! 309: C7777 REWIND ILUN 03060102 ! 310: C DO 7778 IRNUM = 1, ITOTR 03070102 ! 311: C READ (ILUN,77701) (IDUMP(ICHAR), ICHAR = 1, IRLGN) 03080102 ! 312: C WRITE ( I02,77705) (IDUMP(ICHAR), ICHAR = 1, IRLGN) 03090102 ! 313: C IF ( IDUMP(20) .EQ. NINE ) GO TO 7779 03100102 ! 314: C7778 CONTINUE 03110102 ! 315: C GO TO 7782 03120102 ! 316: C7779 IF ( IRNUM - ITOTR ) 7780, 7781, 7782 03130102 ! 317: C7780 WRITE (I02,77702) IRNUM,ILUN,ITOTR 03140102 ! 318: C GO TO 7784 03150102 ! 319: C7781 WRITE (I02,77703) ILUN,ITOTR 03160102 ! 320: C GO TO 7784 03170102 ! 321: C7782 WRITE (I02,77704) ILUN, ITOTR 03180102 ! 322: C DO 7783 I = 1, 5 03190102 ! 323: C READ (ILUN,77701) (IDUMP(ICHAR), ICHAR = 1, IRLGN) 03200102 ! 324: C WRITE ( I02,77705) (IDUMP(ICHAR), ICHAR = 1, IRLGN) 03210102 ! 325: C IF ( IDUMP(20) .EQ. NINE ) GO TO 7784 03220102 ! 326: C7783 CONTINUE 03230102 ! 327: C7784 GO TO 99999 03240102 ! 328: CDE** 03250102 ! 329: C WRITE PAGE FOOTINGS AND RUN SUMMARIES 03260102 ! 330: 99999 CONTINUE 03270102 ! 331: WRITE (I02,90002) 03280102 ! 332: WRITE (I02,90006) 03290102 ! 333: WRITE (I02,90002) 03300102 ! 334: WRITE (I02,90002) 03310102 ! 335: WRITE (I02,90007) 03320102 ! 336: WRITE (I02,90002) 03330102 ! 337: WRITE (I02,90008) IVFAIL 03340102 ! 338: WRITE (I02,90009) IVPASS 03350102 ! 339: WRITE (I02,90010) IVDELE 03360102 ! 340: C 03370102 ! 341: C 03380102 ! 342: C TERMINATE ROUTINE EXECUTION 03390102 ! 343: STOP 03400102 ! 344: C 03410102 ! 345: C FORMAT STATEMENTS FOR PAGE HEADERS 03420102 ! 346: 90000 FORMAT (1H1) 03430102 ! 347: 90002 FORMAT (1H ) 03440102 ! 348: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 03450102 ! 349: 90003 FORMAT (1H ,21X,11HVERSION 1.0) 03460102 ! 350: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 03470102 ! 351: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 03480102 ! 352: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 03490102 ! 353: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 03500102 ! 354: C 03510102 ! 355: C FORMAT STATEMENTS FOR RUN SUMMARIES 03520102 ! 356: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED) 03530102 ! 357: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED) 03540102 ! 358: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED) 03550102 ! 359: C 03560102 ! 360: C FORMAT STATEMENTS FOR TEST RESULTS 03570102 ! 361: 80001 FORMAT (1H ,4X,I5,7X,4HPASS) 03580102 ! 362: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL) 03590102 ! 363: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED) 03600102 ! 364: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 03610102 ! 365: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 03620102 ! 366: C 03630102 ! 367: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM102) 03640102 ! 368: END 03650102
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.