C COMMENT SECTION C C FM036 C C THIS ROUTINE TESTS ARITHMETIC ASIGNMENT STATEMENTS OF THE C FORM C INTEGER VARIABLE = ARITHMETIC EXPRESSION C WHERE THE ARITHMETIC EXPRESSION IS FORMED WITH THE ARITHMETIC C OPERATOR / AND INTEGER CONSTANTS. BOTH POSITIVE AND NEGATIVE C CONSTANTS ARE USED IN THE ARITHMETIC EXPRESSION. C C THERE ARE TESTS WHICH REQUIRE NO TRUNCATION OF THE RESULT C AND TESTS WHERE THE RESULT MUST BE TRUNCATED BEFORE BEING STORED C IN THE RESULTANT INTEGER VARIABLE. THE STANDARD STATES 'THE VALUE C OF AN INTEGER FACTOR OR TERM IS THE NEAREST INTEGER WHOSE C MAGNITUDE DOES NOT EXCEED THE MAGNITUDE OF THE MATHEMATICAL VALUE C REPRESENTED BY THAT FACTOR OR TERM.' C C THERE ARE TESTS WHERE THE ARITHMETIC EXPRESSION CONTAINS C (1) INTEGER CONSTANT/INTEGER CONSTANT C NO TRUNCATION REQUIRED, C (2) INTEGER CONSTANT/INTEGER CONSTANT C TRUNCATION REQUIRED. C C REFERENCES C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, C X3.9-1978 C C SECTION 4.3, INTEGER TYPE C SECTION 4.3.1, INTEGER CONSTANT C SECTION 6.1, ARITHMETIC EXPRESSIONS C SECTION 6.6, EVALUATION OF EXPRESSIONS C SECTION 10.1, ARITHMETIC ASSIGNMENT STATEMENT C C ********************************************************** C C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT C OF EXECUTING THESE TESTS. C C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. C C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - C C DEPARTMENT OF THE NAVY C FEDERAL COBOL COMPILER TESTING SERVICE C WASHINGTON, D.C. 20376 C C ********************************************************** 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 REPLACED 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 REPLACED 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 PAGE HEADERS WRITE (I02,90000) WRITE (I02,90001) WRITE (I02,90002) WRITE (I02, 90002) WRITE (I02,90003) WRITE (I02,90002) WRITE (I02,90004) WRITE (I02,90002) WRITE (I02,90011) WRITE (I02,90002) WRITE (I02,90002) WRITE (I02,90005) WRITE (I02,90006) WRITE (I02,90002) C C TEST SECTION C ARITHMETIC ASSIGNMENT STATEMENT C C TEST 462 THROUGH TEST 490 CONTAIN TWO INTEGER CONSTANTS AND C OPERATOR / IN AN ARITHMETIC EXPRESSION. THE FORM TESTED IS C INTEGER VARIABLE = INTEGER CONSTANT/INTEGER CONSTANT C C TEST 462 THROUGH TEST 469 - POSITIVE CONSTANTS C NO TRUNCATION REQUIRED C 4621 CONTINUE IVTNUM = 462 C C **** TEST 462 **** C IF (ICZERO) 34620, 4620, 34620 4620 CONTINUE IVCOMP = 4/2 GO TO 44620 34620 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44620, 4631, 44620 44620 IF (IVCOMP - 2) 24620,14620,24620 14620 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4631 24620 IVFAIL = IVFAIL + 1 IVCORR = 2 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4631 CONTINUE IVTNUM = 463 C C **** TEST 463 **** C IF (ICZERO) 34630, 4630, 34630 4630 CONTINUE IVCOMP = 75 / 25 GO TO 44630 34630 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44630, 4641, 44630 44630 IF (IVCOMP - 3) 24630,14630,24630 14630 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4641 24630 IVFAIL = IVFAIL + 1 IVCORR = 3 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4641 CONTINUE IVTNUM = 464 C C **** TEST 464 **** C IF (ICZERO) 34640, 4640, 34640 4640 CONTINUE IVCOMP = 3575/143 GO TO 44640 34640 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44640, 4651, 44640 44640 IF (IVCOMP - 25) 24640,14640,24640 14640 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4651 24640 IVFAIL = IVFAIL + 1 IVCORR = 25 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4651 CONTINUE IVTNUM = 465 C C **** TEST 465 **** C IF (ICZERO) 34650, 4650, 34650 4650 CONTINUE IVCOMP = 3575/25 GO TO 44650 34650 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44650, 4661, 44650 44650 IF (IVCOMP - 143) 24650,14650,24650 14650 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4661 24650 IVFAIL = IVFAIL + 1 IVCORR = 143 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4661 CONTINUE IVTNUM = 466 C C **** TEST 466 **** C IF (ICZERO) 34660, 4660, 34660 4660 CONTINUE IVCOMP = 6170/1234 GO TO 44660 34660 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44660, 4671, 44660 44660 IF (IVCOMP - 5) 24660,14660,24660 14660 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4671 24660 IVFAIL = IVFAIL + 1 IVCORR = 5 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4671 CONTINUE IVTNUM = 467 C C **** TEST 467 **** C IF (ICZERO) 34670, 4670, 34670 4670 CONTINUE IVCOMP = 28600/8 GO TO 44670 34670 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44670, 4681, 44670 44670 IF (IVCOMP - 3575) 24670,14670,24670 14670 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4681 24670 IVFAIL = IVFAIL + 1 IVCORR = 3575 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4681 CONTINUE IVTNUM = 468 C C **** TEST 468 **** C IF (ICZERO) 34680, 4680, 34680 4680 CONTINUE IVCOMP = 32766/2 GO TO 44680 34680 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44680, 4691, 44680 44680 IF (IVCOMP - 16383) 24680,14680,24680 14680 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4691 24680 IVFAIL = IVFAIL + 1 IVCORR = 16383 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4691 CONTINUE IVTNUM = 469 C C **** TEST 469 **** C IF (ICZERO) 34690, 4690, 34690 4690 CONTINUE IVCOMP = 32767/1 GO TO 44690 34690 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44690, 4701, 44690 44690 IF (IVCOMP - 32767) 24690,14690,24690 14690 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4701 24690 IVFAIL = IVFAIL + 1 IVCORR = 32767 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR C C TEST 470 THROUGH TEST 478 - POSITIVE CONSTANTS C TRUNCATION REQUIRED C 4701 CONTINUE IVTNUM = 470 C C **** TEST 470 **** C IF (ICZERO) 34700, 4700, 34700 4700 CONTINUE IVCOMP = 5/2 GO TO 44700 34700 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44700, 4711, 44700 44700 IF (IVCOMP - 2) 24700,14700,24700 14700 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4711 24700 IVFAIL = IVFAIL + 1 IVCORR = 2 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4711 CONTINUE IVTNUM = 471 C C **** TEST 471 **** C IF (ICZERO) 34710, 4710, 34710 4710 CONTINUE IVCOMP = 2/3 GO TO 44710 34710 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44710, 4721, 44710 44710 IF (IVCOMP - 0) 24710,14710,24710 14710 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4721 24710 IVFAIL = IVFAIL + 1 IVCORR = 0 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4721 CONTINUE IVTNUM = 472 C C **** TEST 472 **** C IF (ICZERO) 34720, 4720, 34720 4720 CONTINUE IVCOMP = 80/15 GO TO 44720 34720 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44720, 4731, 44720 44720 IF (IVCOMP - 5) 24720,14720,24720 14720 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4731 24720 IVFAIL = IVFAIL + 1 IVCORR = 5 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4731 CONTINUE IVTNUM = 473 C C **** TEST 473 **** C IF (ICZERO) 34730, 4730, 34730 4730 CONTINUE IVCOMP = 959/120 GO TO 44730 34730 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44730, 4741, 44730 44730 IF (IVCOMP - 7) 24730,14730,24730 14730 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4741 24730 IVFAIL = IVFAIL + 1 IVCORR = 7 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4741 CONTINUE IVTNUM = 474 C C **** TEST 474 **** C IF (ICZERO) 34740, 4740, 34740 4740 CONTINUE IVCOMP = 959 / 12 GO TO 44740 34740 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44740, 4751, 44740 44740 IF (IVCOMP - 79) 24740,14740,24740 14740 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4751 24740 IVFAIL = IVFAIL + 1 IVCORR = 79 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4751 CONTINUE IVTNUM = 475 C C **** TEST 475 **** C IF (ICZERO) 34750, 4750, 34750 4750 CONTINUE IVCOMP = 959/6 GO TO 44750 34750 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44750, 4761, 44750 44750 IF (IVCOMP - 159) 24750,14750,24750 14750 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4761 24750 IVFAIL = IVFAIL + 1 IVCORR = 159 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4761 CONTINUE IVTNUM = 476 C C **** TEST 476 **** C IF (ICZERO) 34760, 4760, 34760 4760 CONTINUE IVCOMP = 28606/8 GO TO 44760 34760 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44760, 4771, 44760 44760 IF (IVCOMP - 3575) 24760,14760,24760 14760 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4771 24760 IVFAIL = IVFAIL + 1 IVCORR = 3575 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4771 CONTINUE IVTNUM = 477 C C **** TEST 477 **** C IF (ICZERO) 34770, 4770, 34770 4770 CONTINUE IVCOMP = 25603/2 GO TO 44770 34770 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44770, 4781, 44770 44770 IF (IVCOMP - 12801) 24770,14770,24770 14770 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4781 24770 IVFAIL = IVFAIL + 1 IVCORR = 12801 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4781 CONTINUE IVTNUM = 478 C C **** TEST 478 **** C IF (ICZERO) 34780, 4780, 34780 4780 CONTINUE IVCOMP = 25603/10354 GO TO 44780 34780 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44780, 4791, 44780 44780 IF (IVCOMP - 2) 24780,14780,24780 14780 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4791 24780 IVFAIL = IVFAIL + 1 IVCORR = 2 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR C C TEST 479 THROUGH TEST 482 - NEGATIVE CONSTANTS INCLUDED C NO TRUNCATION REQUIRED C 4791 CONTINUE IVTNUM = 479 C C **** TEST 479 **** C IF (ICZERO) 34790, 4790, 34790 4790 CONTINUE IVCOMP = -4/2 GO TO 44790 34790 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44790, 4801, 44790 44790 IF (IVCOMP + 2) 24790,14790,24790 14790 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4801 24790 IVFAIL = IVFAIL + 1 IVCORR = -2 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4801 CONTINUE IVTNUM = 480 C C **** TEST 480 **** C IF (ICZERO) 34800, 4800, 34800 4800 CONTINUE IVCOMP = 75 / (-25) GO TO 44800 34800 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44800, 4811, 44800 44800 IF (IVCOMP + 3) 24800,14800,24800 14800 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4811 24800 IVFAIL = IVFAIL + 1 IVCORR = -3 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4811 CONTINUE IVTNUM = 481 C C **** TEST 481 **** C IF (ICZERO) 34810, 4810, 34810 4810 CONTINUE IVCOMP= (-6170) / (-1234) GO TO 44810 34810 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44810, 4821, 44810 44810 IF (IVCOMP - 5) 24810,14810,24810 14810 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4821 24810 IVFAIL = IVFAIL + 1 IVCORR = 5 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4821 CONTINUE IVTNUM = 482 C C **** TEST 482 **** C IF (ICZERO) 34820, 4820, 34820 4820 CONTINUE IVCOMP = -32766/(-2) GO TO 44820 34820 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44820, 4831, 44820 44820 IF (IVCOMP - 16383) 24820,14820,24820 14820 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4831 24820 IVFAIL = IVFAIL + 1 IVCORR = 16383 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR C C TEST 483 THROUGH TEST 490 - NEGATIVE CONSTANTS INCLUDED C TRUNCATION REQUIRED C 4831 CONTINUE IVTNUM = 483 C C **** TEST 483 **** C IF (ICZERO) 34830, 4830, 34830 4830 CONTINUE IVCOMP = -5/2 GO TO 44830 34830 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44830, 4841, 44830 44830 IF (IVCOMP +2) 24830,14830,24830 14830 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4841 24830 IVFAIL = IVFAIL + 1 IVCORR = -2 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4841 CONTINUE IVTNUM = 484 C C **** TEST 484 **** C IF (ICZERO) 34840, 4840, 34840 4840 CONTINUE IVCOMP = -2/3 GO TO 44840 34840 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44840, 4851, 44840 44840 IF (IVCOMP) 24840,14840,24840 14840 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4851 24840 IVFAIL = IVFAIL + 1 IVCORR = 0 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4851 CONTINUE IVTNUM = 485 C C **** TEST 485 **** C IF (ICZERO) 34850, 4850, 34850 4850 CONTINUE IVCOMP = 80/(-15) GO TO 44850 34850 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44850, 4861, 44850 44850 IF (IVCOMP +5) 24850,14850,24850 14850 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4861 24850 IVFAIL = IVFAIL + 1 IVCORR = -5 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4861 CONTINUE IVTNUM = 486 C C **** TEST 486 **** C IF (ICZERO) 34860, 4860, 34860 4860 CONTINUE IVCOMP = -959/(-120) GO TO 44860 34860 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44860, 4871, 44860 44860 IF (IVCOMP - 7) 24860,14860,24860 14860 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4871 24860 IVFAIL = IVFAIL + 1 IVCORR = 7 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4871 CONTINUE IVTNUM = 487 C C **** TEST 487 **** C IF (ICZERO) 34870, 4870, 34870 4870 CONTINUE IVCOMP = -959/6 GO TO 44870 34870 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44870, 4881, 44870 44870 IF (IVCOMP + 159) 24870,14870,24870 14870 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4881 24870 IVFAIL = IVFAIL + 1 IVCORR = -159 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4881 CONTINUE IVTNUM = 488 C C **** TEST 488 **** C IF (ICZERO) 34880, 4880, 34880 4880 CONTINUE IVCOMP = -28606/(-8) GO TO 44880 34880 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44880, 4891, 44880 44880 IF (IVCOMP - 3575) 24880,14880,24880 14880 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4891 24880 IVFAIL = IVFAIL + 1 IVCORR = 3575 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4891 CONTINUE IVTNUM = 489 C C **** TEST 489 **** C IF (ICZERO) 34890, 4890, 34890 4890 CONTINUE IVCOMP = -25603/2 GO TO 44890 34890 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44890, 4901, 44890 44890 IF (IVCOMP + 12801) 24890,14890,24890 14890 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4901 24890 IVFAIL = IVFAIL + 1 IVCORR = -12801 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 4901 CONTINUE IVTNUM = 490 C C **** TEST 490 **** C IF (ICZERO) 34900, 4900, 34900 4900 CONTINUE IVCOMP = -25603/(-10354) GO TO 44900 34900 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 44900, 4911, 44900 44900 IF (IVCOMP - 2) 24900,14900,24900 14900 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 4911 24900 IVFAIL = IVFAIL + 1 IVCORR = 2 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR C C **** END OF TESTS **** 4911 CONTINUE C C WRITE PAGE FOOTINGS AND RUN SUMMARIES 99999 CONTINUE WRITE (I02,90002) WRITE (I02,90006) WRITE (I02,90002) WRITE (I02,90002) WRITE (I02,90007) WRITE (I02,90002) WRITE (I02,90008) IVFAIL WRITE (I02,90009) IVPASS WRITE (I02,90010) IVDELE C C C TERMINATE ROUTINE EXECUTION STOP C C FORMAT STATEMENTS FOR PAGE HEADERS 90000 FORMAT (1H1) 90002 FORMAT (1H ) 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 90003 FORMAT (1H ,21X,11HVERSION 1.0) 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 90006 FORMAT (1H ,5X,46H----------------------------------------------) 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) C C FORMAT STATEMENTS FOR RUN SUMMARIES 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED) 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED) 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED) C C FORMAT STATEMENTS FOR TEST RESULTS 80001 FORMAT (1H ,4X,I5,7X,4HPASS) 80002 FORMAT (1H ,4X,I5,7X,4HFAIL) 80003 FORMAT (1H ,4X,I5,7X,7HDELETED) 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) C 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM036) END