PROGRAM FM300 C C C THIS ROUTINE TESTS THE USE OF THE EQUIVALENCE STATEMENT TO C EQUATE STORAGE UNITS OF VARIABLES, ARRAYS AND ARRAY ELEMENTS. C ONLY INTEGER, REAL, LOGICAL AND CHARACTER DATA TYPES ARE TESTED. C NO ATTEMPT IS MADE TO TEST DATA OF DIFFERENT TYPES THAT ARE C EQUATED WITH THE EQUIVALENCE STATEMENT. C C REFERENCES. C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, C X3.9-1978 C C SECTION 8.1, DIMENSION STATEMENT C SECTION 8.2, EQUIVALENCE STATEMENT C SECTION 9, DATA STATEMENT C C C ****************************************************************** C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN C X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY. THE C FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT C ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT C ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS C OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING C THE RESULT OF EXECUTING THESE TESTS. C C THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES C FOUND IN THE SUBSET LEVEL OF THE STANDARD. C C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO C DEPARTMENT OF THE NAVY C FEDERAL COBOL COMPILER TESTING SERVICE C WASHINGTON, D.C. 20376 C C ****************************************************************** C C IMPLICIT LOGICAL (L) IMPLICIT CHARACTER*14 (C) C C *** SPECIFICATION STATEMENTS FOR TEST 001 *** C EQUIVALENCE (IVOE01, IVOE02) C C *** SPECIFICATION STATEMENTS FOR TEST 002 *** C EQUIVALENCE (RVOE01, RVOE02) C C *** SPECIFICATION STATEMENTS FOR TEST 003 *** C EQUIVALENCE (LVOE01, LVOE02) C C *** SPECIFICATION STATEMENTS FOR TEST 004 *** C CHARACTER CVTE01*3, CVTE02*3, CVCOMP*3 EQUIVALENCE (CVTE01, CVTE02) C C *** SPECIFICATION STATEMENTS FOR TEST 005 *** C EQUIVALENCE (IVOE03, IVOE04, IVOE05) C C *** SPECIFICATION STATEMENTS FOR TEST 006 *** C EQUIVALENCE (IVOE06, IVOE07, RVOE03) C C *** SPECIFICATION STATEMENTS FOR TESTS 007 AND 008 *** C EQUIVALENCE (IVOE08, IVOE09), (IVOE10, IVOE11) C C *** SPECIFICATION STATEMENTS FOR TEST 009 *** C EQUIVALENCE (IVOE12, IVOE13), (IVOE13, IVOE14) C C *** SPECIFICATION STATEMENTS FOR TEST 010 *** C EQUIVALENCE (IVOE15, IVOE16) EQUIVALENCE (IVOE16, IVOE17) C C *** SPECIFICATION STATEMENTS FOR TESTS 011 AND 012 *** C DIMENSION IADE11(2), IADE12(3) EQUIVALENCE (IADE11, IADE12) C C *** SPECIFICATION STATEMENTS FOR TESTS 013 AND 014 *** C DIMENSION RADE11(5), RADE12(5) EQUIVALENCE (RADE11(4), RADE12(2)) C C *** SPECIFICATION STATEMENTS FOR TEST 015 *** C DIMENSION IADE13(4), IADE14(4) EQUIVALENCE (IADE13, IADE14(3)) C C *** SPECIFICATION STATEMENTS FOR TEST 016 *** C DIMENSION IADE15(3) EQUIVALENCE (IADE15(2), IVOE18) C C *** SPECIFICATION STATEMENTS FOR TESTS 017 AND 018 *** C DIMENSION IADE21(2,2), IADE16(4) EQUIVALENCE (IADE21, IADE16) C C *** SPECIFICATION STATEMENTS FOR TEST 019 *** C EQUIVALENCE (IVOE19, IVOE20) DATA IVOE19/19/ C C C C INITIALIZATION SECTION. C C INITIALIZE CONSTANTS C ******************** C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER I01 = 5 C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER I02 = 6 C SYSTEM ENVIRONMENT SECTION C CX010 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-010 CONTROL CARD. C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 C (UNIT NUMBER FOR CARD READER). CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. C CX020 THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-020 CONTROL CARD. C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 C (UNIT NUMBER FOR PRINTER). CX021 THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. C IVPASS = 0 IVFAIL = 0 IVDELE = 0 ICZERO = 0 C C WRITE OUT PAGE HEADERS C WRITE (I02,90002) WRITE (I02,90006) WRITE (I02,90008) WRITE (I02,90004) WRITE (I02,90010) WRITE (I02,90004) WRITE (I02,90016) WRITE (I02,90001) WRITE (I02,90004) WRITE (I02,90012) WRITE (I02,90014) WRITE (I02,90004) C C C **** FCVS PROGRAM 300 - TEST 001 **** C C THIS IS A TEST FOR EQUATING TWO INTEGER VARIABLES. C C IVTNUM = 1 IF (ICZERO) 30010, 0010, 30010 0010 CONTINUE IVCOMP = 0 IVOE01 = 5 IVOE02 = 7 IVCORR = 7 IVCOMP = IVOE01 40010 IF (IVCOMP - 7) 20010,10010,20010 30010 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10010, 0021, 20010 10010 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0021 20010 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0021 CONTINUE C C **** FCVS PROGRAM 300 - TEST 002 **** C C THIS IS A TEST FOR EQUATING TWO REAL VARIABLES. C C IVTNUM = 2 IF (ICZERO) 30020, 0020, 30020 0020 CONTINUE RVCOMP = 0.0 RVOE01 = 4.5 RVOE02 = 1.2 RVCORR = 1.2 RVCOMP = RVOE01 40020 IF (RVCOMP - 1.1995) 20020,10020,40021 40021 IF (RVCOMP - 1.2005) 10020,10020,20020 30020 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10020, 0031, 20020 10020 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0031 20020 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0031 CONTINUE C C **** FCVS PROGRAM 300 - TEST 003 **** C C THIS IS A TEST FOR EQUATING TWO LOGICAL VARIABLES. C C IVTNUM = 3 IF (ICZERO) 30030, 0030, 30030 0030 CONTINUE LVOE01 = .TRUE. LVOE02 = .FALSE. IVCORR = 0 IVCOMP = 0 IF (LVOE01) IVCOMP = 1 40030 IF (IVCOMP) 20030,10030,20030 30030 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10030, 0041, 20030 10030 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0041 20030 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0041 CONTINUE C C **** FCVS PROGRAM 300 - TEST 004 **** C C THIS IS A TEST FOR EQUATING TWO CHARACTER VARIABLES. C C IVTNUM = 4 IF (ICZERO) 30040, 0040, 30040 0040 CONTINUE CVCOMP = ' ' CVTE01 = 'ABC' CVTE02 = 'DEF' CVCORR = 'DEF' CVCOMP = CVTE01 40040 IF (CVCOMP .EQ. 'DEF') GO TO 10040 40041 GO TO 20040 30040 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10040, 0051, 20040 10040 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0051 20040 IVFAIL = IVFAIL + 1 WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 0051 CONTINUE C C **** FCVS PROGRAM 300 - TEST 005 **** C C THIS IS A TEST FOR EQUATING THREE INTEGER VARIABLES. C C IVTNUM = 5 IF (ICZERO) 30050, 0050, 30050 0050 CONTINUE IVCOMP = 0 IVOE03 = 3 IVOE04 = 4 IVOE05 = 5 IVCORR = 5 IVCOMP = IVOE03 40050 IF (IVCOMP - 5) 20050,40051,20050 40051 IVCOMP = IVOE04 40052 IF (IVCOMP - 5) 20050,10050,20050 30050 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10050, 0061, 20050 10050 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0061 20050 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0061 CONTINUE C C **** FCVS PROGRAM 300 - TEST 006 **** C C THIS IS A TEST FOR EQUATING TWO INTEGER VARIABLES AND ONE C REAL VARIABLE WITHIN ONE EQUIVALENCE STATEMENT LIST OF NAMES. THE C VALUE OF THE REAL VARIABLE IS NOT TESTED. C C IVTNUM = 6 IF (ICZERO) 30060, 0060, 30060 0060 CONTINUE IVCOMP = 0 RVOE03 = 3.445 IVOE06 = 6 IVOE07 = 7 IVCORR = 7 IVCOMP = IVOE06 40060 IF (IVCOMP - 7) 20060,10060,20060 30060 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10060, 0071, 20060 10060 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0071 20060 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0071 CONTINUE C C **** FCVS PROGRAM 300 - TEST 007 **** C C THIS IS A TEST FOR EQUATING INTEGER VARIABLES USING TWO LISTS C OF NAMES IN ONE EQUIVALENCE STATEMENT. NAMES SPECIFIED IN THE C FIRST LIST ARE NOT EQUATED TO NAMES IN THE SECOND LIST. THIS C TEST CHECKS THE EQUIVALINCE OF THE VARIABLES IN THE FIRST LIST. C C IVTNUM = 7 IF (ICZERO) 30070, 0070, 30070 0070 CONTINUE IVCOMP = 0 IVOE08 = 8 IVOE09 = 9 IVOE10 = 10 IVOE11 = 11 IVCORR = 9 IVCOMP = IVOE08 40070 IF (IVCOMP - 9) 20070,10070,20070 30070 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10070, 0081, 20070 10070 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0081 20070 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0081 CONTINUE C C **** FCVS PROGRAM 300 - TEST 008 **** C C THIS TEST CHECKS THE EQUIVALENCE OF THE VARIABLES IN THE C SECOND LIST. C C IVTNUM = 8 IF (ICZERO) 30080, 0080, 30080 0080 CONTINUE IVCOMP = 0 IVCORR = 11 IVCOMP = IVOE10 40080 IF (IVCOMP - 11) 20080,10080,20080 30080 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10080, 0091, 20080 10080 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0091 20080 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0091 CONTINUE C C **** FCVS PROGRAM 300 - TEST 009 **** C C THIS IS A TEST FOR EQUATING INTEGER VARIABLES IN ONE LIST C WITH INTEGER VARIABLES IN A SECOND LIST OF THE SAME EQUIVALENCE C STATEMENT. ALL VARIABLES SHOULD BE EQUATED AND SHARE THE SAME C STORAGE UNIT. C C IVTNUM = 9 IF (ICZERO) 30090, 0090, 30090 0090 CONTINUE IVCOMP = 0 IVOE12 = 12 IVOE13 = 13 IVOE14 = 14 IVCORR = 14 IVCOMP = IVOE13 40090 IF (IVCOMP - 14) 20090,40091,20090 40091 IVCOMP = IVOE12 40092 IF (IVCOMP - 14) 20090,10090,20090 30090 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10090, 0101, 20090 10090 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0101 20090 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0101 CONTINUE C C **** FCVS PROGRAM 300 - TEST 010 **** C C THIS IS A TEST FOR EQUATING INTEGER VARIABLES SPECIFIED IN ONE C EQUIVALENCE STATEMENT WITH INTEGER VARIABLES SPECIFIED IN A C SECOND EQUIVALENCE STATEMENT. ONE VARIABLE IS SPECIFIED IN BOTH C STATEMENTS, THEREFORE ALL VARIABLES SHOULD BE EQUATED AND SHARE C THE SAME STORAGE UNIT. C C IVTNUM = 10 IF (ICZERO) 30100, 0100, 30100 0100 CONTINUE IVCOMP = 0 IVOE15 = 15 IVOE16 = 16 IVOE17 = 17 IVCORR = 17 IVCOMP = IVOE16 40100 IF (IVCOMP - 17) 20100,40101,20100 40101 IVCOMP = IVOE15 40102 IF (IVCOMP - 17) 20100,10100,20100 30100 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10100, 0111, 20100 10100 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0111 20100 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0111 CONTINUE C C **** FCVS PROGRAM 300 - TEST 011 **** C C THIS IS A TEST FOR EQUATING TWO INTEGER ARRAYS UNQUALIFIED C BY A SUBSCRIPT IN THE EQUIVALENCE STATEMENT. ALL ARRAY ELEMENTS C SPECIFIED BY THE SAME SUBSCRIPT VALUE, BEGINNING WITH THE FIRST C ARRAY ELEMENT, SHOULD BE EQUATED AND SHARE THE SAME STORAGE UNIT. C THIS TEST CHECKS THE EQUIVALENCE OF THE FIRST ARRAY ELEMENTS. C C IVTNUM = 11 IF (ICZERO) 30110, 0110, 30110 0110 CONTINUE IVCOMP = 0 IADE11(1) = 111 IADE11(2) = 112 IADE12(1) = 121 IADE12(2) = 122 IADE12(3) = 123 IVCORR = 121 IVCOMP = IADE11(1) 40110 IF (IVCOMP - 121) 20110,10110,20110 30110 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10110, 0121, 20110 10110 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0121 20110 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0121 CONTINUE C C **** FCVS PROGRAM 300 - TEST 012 **** C C THIS TEST CHECKS THE EQUIVALENCE OF THE SECOND ARRAY ELEMENTS. C C IVTNUM = 12 IF (ICZERO) 30120, 0120, 30120 0120 CONTINUE IVCOMP = 0 IVCORR = 122 IVCOMP = IADE11(2) 40120 IF (IVCOMP - 122) 20120,10120,20120 30120 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10120, 0131, 20120 10120 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0131 20120 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0131 CONTINUE C C **** FCVS PROGRAM 300 - TEST 013 **** C C THIS IS A TEST FOR EQUATING TWO REAL ARRAY ELEMENTS. THIS C TEST CHECKS THE EQUIVALENCE OF THE TWO ARRAY ELEMENTS SPECIFIED C IN THE EQUIVALENCE STATEMENT. C C IVTNUM = 13 IF (ICZERO) 30130, 0130, 30130 0130 CONTINUE RVCOMP = 0.0 RADE11(4) = 11.4 RADE12(2) = 1.22 RVCORR = 1.22 RVCOMP = RADE11(4) 40130 IF (RVCOMP - 1.2195) 20130,10130,40131 40131 IF (RVCOMP - 1.2205) 10130,10130,20130 30130 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10130, 0141, 20130 10130 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0141 20130 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0141 CONTINUE C C **** FCVS PROGRAM 300 - TEST 014 **** C C THIS TEST CHECKS THE EQUIVALENCE OF THE ARRAY ELEMENTS C WITH A SUBSCRIPT VALUE ONE LESS THAN THOSE TESTED IN THE C PREVIOUS TEST. THESE ELEMENTS SHOULD BE EQUATED AND SHARE THE C SAME STORAGE UNIT DUE TO THE WAY ARRAY ELEMENTS OCCUPY C CONSECUTIVE STORAGE UNITS. C C IVTNUM = 14 IF (ICZERO) 30140, 0140, 30140 0140 CONTINUE RVCOMP = 0.0 RADE11(3) = .113 RADE12(1) = 122. RVCORR = 122. RVCOMP = RADE11(3) 40140 IF (RVCOMP - 121.95) 20140,10140,40141 40141 IF (RVCOMP - 122.05) 10140,10140,20140 30140 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10140, 0151, 20140 10140 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0151 20140 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0151 CONTINUE C C **** FCVS PROGRAM 300 - TEST 015 **** C C THIS IS A TEST TO EQUATE AN ARRAY NAME TO AN ARRAY ELEMENT C NAME. C C IVTNUM = 15 IF (ICZERO) 30150, 0150, 30150 0150 CONTINUE IVCOMP = 0 IADE13(1) = 131 IADE14(3) = 143 IVCORR = 143 IVCOMP = IADE13(1) 40150 IF (IVCOMP - 143) 20150,10150,20150 30150 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10150, 0161, 20150 10150 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0161 20150 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0161 CONTINUE C C **** FCVS PROGRAM 300 - TEST 016 **** C C THIS IS A TEST TO EQUATE AN ARRAY ELEMENT TO AN INTEGER C VARIABLE. C C IVTNUM = 16 IF (ICZERO) 30160, 0160, 30160 0160 CONTINUE IVCOMP = 0 IADE15(2) = 152 IVOE18 = 18 IVCORR = 18 IVCOMP = IADE15(2) 40160 IF (IVCOMP - 18) 20160,10160,20160 30160 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10160, 0171, 20160 10160 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0171 20160 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0171 CONTINUE C C **** FCVS PROGRAM 300 - TEST 017 **** C C THIS IS A TEST TO EQUATE A ONE DIMENSIONAL ARRAY TO A TWO C DIMENSIONAL ARRAY. THIS TEST CHECKS THE SECOND ARRAY ELEMENTS. C C IVTNUM = 17 IF (ICZERO) 30170, 0170, 30170 0170 CONTINUE IVCOMP = 0 IADE21(2,1) = 212 IADE16(2) = 162 IVCORR = 162 IVCOMP = IADE21(2,1) 40170 IF (IVCOMP - 162) 20170,10170,20170 30170 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10170, 0181, 20170 10170 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0181 20170 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0181 CONTINUE C C **** FCVS PROGRAM 300 - TEST 018 **** C C THIS TEST CHECKS THE THIRD ARRAY ELEMENTS FROM THE PREVIOUS C TEST. C C IVTNUM = 18 IF (ICZERO) 30180, 0180, 30180 0180 CONTINUE IVCOMP = 0 IADE21(1,2) = 2112 IADE16(3) = 163 IVCORR = 163 IVCOMP = IADE21(1,2) 40180 IF (IVCOMP - 163) 20180,10180,20180 30180 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10180, 0191, 20180 10180 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0191 20180 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0191 CONTINUE C C **** FCVS PROGRAM 300 - TEST 019 **** C C THIS IS A TEST TO EQUATE TWO INTEGER VARIABLES ONE OF WHICH C IS INITIALIZED IN A DATA STATEMENT. C C IVTNUM = 19 IF (ICZERO) 30190, 0190, 30190 0190 CONTINUE IVCOMP = 0 IVCORR = 19 IVCOMP = IVOE20 40190 IF (IVCOMP - 19) 20190,10190,20190 30190 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10190, 0201, 20190 10190 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0201 20190 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0201 CONTINUE C C C WRITE OUT TEST SUMMARY C WRITE (I02,90004) WRITE (I02,90014) WRITE (I02,90004) WRITE (I02,90000) WRITE (I02,90004) WRITE (I02,90020) IVFAIL WRITE (I02,90022) IVPASS WRITE (I02,90024) IVDELE STOP 90001 FORMAT (1H ,24X,5HFM300) 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM300) C C FORMATS FOR TEST DETAIL LINES C 80000 FORMAT (1H ,4X,I5,6X,7HDELETED) 80002 FORMAT (1H ,4X,I5,7X,4HPASS) 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14) C C FORMAT STATEMENTS FOR PAGE HEADERS C 90002 FORMAT (1H1) 90004 FORMAT (1H ) 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 90008 FORMAT (1H ,21X,11HVERSION 1.0) 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT) 90014 FORMAT (1H ,5X,46H----------------------------------------------) 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) C C FORMAT STATEMENTS FOR RUN SUMMARY C 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED) 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED) 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED) END