C COMMENT SECTION. C C FM008 C C THIS ROUTINE TESTS ARITHMETIC ASSIGNMENT STATEMENTS OF THE C FORM INTEGER VARIABLE = ARITHMETIC EXPRESSION C WHERE THE ARITHMETIC EXPRESSION IS FORMED WITH THE ARITHMETIC C OPERATOR + INTEGER CONSTANTS AND POSITIVE INTEGER VARIABLES. C SOME OF THE TESTS USE PARENTHESES TO GROUP ELEMENTS IN THE C ARITHMETIC EXPRESSION. C C THERE ARE TESTS WHERE THE ARITHMETIC EXPRESSION CONTAINS C (1) TWO INTEGER CONSTANTS, C (2) THREE INTEGER CONSTANTS, C (3) THREE INTEGER CONSTANTS WITH PARENTHESES TO GROUP C ELEMENTS, C (4) ONE INTEGER VARIABLE AND ONE INTEGER CONSTANT, C (5) ONE INTEGER VARIABLE AND TWO INTEGER CONSTANTS, C (6) ONE INTEGER VARIABLE AND TWO INTEGER CONSTANTS WITH C PARENTHESES TO GROUP ELEMENTS. C 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 10.1, ARITHMETIC ASSIGNMENT STATEMENTS C 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 TEST SECTION C C ARITHMETIC ASSIGNMENT STATEMENT C C TEST 200 THROUGH TEST 214 CONTAIN INTEGER CONSTANTS AND OPERATOR + C IN ARITHMETIC EXPRESSION. C C TEST 200 THROUGH TEST 206 - TWO INTEGER CONSTANTS C 2001 CONTINUE IVTNUM = 200 C C **** TEST 200 **** C IF (ICZERO) 32000, 2000, 32000 2000 CONTINUE IVCOMP = 2+3 GO TO 42000 32000 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42000, 2011, 42000 42000 IF (IVCOMP - 5) 22000,12000,22000 12000 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2011 22000 IVFAIL = IVFAIL + 1 IVCORR = 5 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2011 CONTINUE IVTNUM = 201 C C **** TEST 201 **** C IF (ICZERO) 32010, 2010, 32010 2010 CONTINUE IVCOMP = 51 + 52 GO TO 42010 32010 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42010, 2021, 42010 42010 IF (IVCOMP - 103) 22010,12010,22010 12010 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2021 22010 IVFAIL = IVFAIL + 1 IVCORR = 103 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2021 CONTINUE IVTNUM = 202 C C **** TEST 202 **** C IF (ICZERO) 32020, 2020, 32020 2020 CONTINUE IVCOMP = 189 + 676 GO TO 42020 32020 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42020, 2031, 42020 42020 IF (IVCOMP - 865) 22020,12020,22020 12020 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2031 22020 IVFAIL = IVFAIL + 1 IVCORR = 865 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2031 CONTINUE IVTNUM = 203 C C **** TEST 203 **** C IF (ICZERO) 32030, 2030, 32030 2030 CONTINUE IVCOMP = 1358 + 8001 GO TO 42030 32030 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42030, 2041, 42030 42030 IF (IVCOMP - 9359) 22030, 12030, 22030 12030 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2041 22030 IVFAIL = IVFAIL + 1 IVCORR = 9359 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2041 CONTINUE IVTNUM = 204 C C **** TEST 204 **** C IF (ICZERO) 32040, 2040, 32040 2040 CONTINUE IVCOMP = 11112 + 10001 GO TO 42040 32040 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42040, 2051, 42040 42040 IF (IVCOMP - 21113) 22040, 12040, 22040 12040 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2051 22040 IVFAIL = IVFAIL + 1 IVCORR=21113 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2051 CONTINUE IVTNUM = 205 C C **** TEST 205 **** C IF (ICZERO) 32050, 2050, 32050 2050 CONTINUE IVCOMP = 189 + 9876 GO TO 42050 32050 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42050, 2061, 42050 42050 IF (IVCOMP - 10065) 22050,12050,22050 12050 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2061 22050 IVFAIL = IVFAIL + 1 IVCORR = 10065 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2061 CONTINUE IVTNUM = 206 C C **** TEST 206 **** C REQUIRES 32767 C IF (ICZERO) 32060, 2060, 32060 2060 CONTINUE IVCOMP = 32752 + 15 GO TO 42060 32060 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42060, 2071, 42060 42060 IF (IVCOMP - 32767) 22060,12060,22060 12060 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2071 22060 IVFAIL = IVFAIL + 1 IVCORR = 32767 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR C C TEST 207 THROUGH TEST 210 - THREE INTEGER CONSTANTS C 2071 CONTINUE IVTNUM = 207 C C **** TEST 207 **** C IF (ICZERO) 32070, 2070, 32070 2070 CONTINUE IVCOMP = 2+3+4 GO TO 42070 32070 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42070, 2081, 42070 42070 IF (IVCOMP - 9) 22070,12070,22070 12070 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2081 22070 IVFAIL = IVFAIL + 1 IVCORR = 9 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2081 CONTINUE IVTNUM = 208 C C **** TEST 208 **** C IF (ICZERO) 32080, 2080, 32080 2080 CONTINUE IVCOMP = 51 + 52 + 53 GO TO 42080 32080 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42080, 2091, 42080 42080 IF (IVCOMP - 156) 22080,12080,22080 12080 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2091 22080 IVFAIL = IVFAIL + 1 IVCORR = 156 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2091 CONTINUE IVTNUM = 209 C C **** TEST 209 **** C IF (ICZERO) 32090, 2090, 32090 2090 CONTINUE IVCOMP = 189 +676+101 GO TO 42090 32090 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42090, 2101, 42090 42090 IF (IVCOMP - 966) 22090,12090,22090 12090 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2101 22090 IVFAIL = IVFAIL + 1 IVCORR = 966 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2101 CONTINUE IVTNUM = 210 C C **** TEST 210 **** C IF (ICZERO) 32100, 2100, 32100 2100 CONTINUE IVCOMP = 1358 + 8001 + 2189 GO TO 42100 32100 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42100, 2111, 42100 42100 IF (IVCOMP - 11548) 22100,12100,22100 12100 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2111 22100 IVFAIL = IVFAIL + 1 IVCORR = 11548 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR C C TESTS 211 THROUGH 214 ARE THE SAME AS 207 THROUGH 210 EXCEPT C PARENTHESES ARE USED TO GROUP THE CONSTANTS. C 2111 CONTINUE IVTNUM = 211 C C **** TEST 211 **** C IF (ICZERO) 32110, 2110, 32110 2110 CONTINUE IVCOMP = (2+3)+4 GO TO 42110 32110 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42110, 2121, 42110 42110 IF (IVCOMP -9) 22110,12110,22110 12110 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2121 22110 IVFAIL = IVFAIL + 1 IVCORR = 9 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2121 CONTINUE IVTNUM = 212 C C **** TEST 212 **** C IF (ICZERO) 32120, 2120, 32120 2120 CONTINUE IVCOMP = 51+(52+53) GO TO 42120 32120 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42120, 2131, 42120 42120 IF (IVCOMP - 156) 22120,12120,22120 12120 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2131 22120 IVFAIL = IVFAIL + 1 IVCORR = 156 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2131 CONTINUE IVTNUM = 213 C C **** TEST 213 **** C IF (ICZERO) 32130, 2130, 32130 2130 CONTINUE IVCOMP = 189 +(676+101) GO TO 42130 32130 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42130, 2141, 42130 42130 IF (IVCOMP - 966) 22130,12130,22130 12130 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2141 22130 IVFAIL = IVFAIL + 1 IVCORR = 966 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2141 CONTINUE IVTNUM = 214 C C **** TEST 214 **** C IF (ICZERO) 32140, 2140, 32140 2140 CONTINUE IVCOMP = (1358+2189) + 8001 GO TO 42140 32140 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42140, 2151, 42140 42140 IF (IVCOMP - 11548) 22140,12140,22140 12140 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2151 22140 IVFAIL = IVFAIL + 1 IVCORR = 11548 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR C C TEST 215 THROUGH TEST 234 CONTAIN INTEGER VARIABLES, INTEGER C CONSTANTS AND THE OPERATOR + IN ARITHMETIC EXPRESSION. C C TEST 215 THROUGH TEST 219 - ONE INTEGER VARIABLE AND ONE INTEGER C CONSTANT IN ARITHMETIC EXPRESSION. C 2151 CONTINUE IVTNUM = 215 C C **** TEST 215 **** C IF (ICZERO) 32150, 2150, 32150 2150 CONTINUE IVON01 = 2 IVCOMP = IVON01 + 3 GO TO 42150 32150 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42150, 2161, 42150 42150 IF (IVCOMP - 5) 22150,12150,22150 12150 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2161 22150 IVFAIL = IVFAIL + 1 IVCORR=5 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2161 CONTINUE IVTNUM = 216 C C **** TEST 216 **** C IF (ICZERO) 32160, 2160, 32160 2160 CONTINUE IVON01 = 3 IVCOMP = 2 + IVON01 GO TO 42160 32160 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42160, 2171, 42160 42160 IF (IVCOMP - 5) 22160,12160,22160 12160 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2171 22160 IVFAIL = IVFAIL + 1 IVCORR = 5 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2171 CONTINUE IVTNUM = 217 C C **** TEST 217 **** C IF (ICZERO) 32170, 2170, 32170 2170 CONTINUE IVON01 = 51 IVCOMP = IVON01 +52 GO TO 42170 32170 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42170, 2181, 42170 42170 IF (IVCOMP - 103) 22170,12170,22170 12170 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2181 22170 IVFAIL = IVFAIL + 1 IVCORR = 103 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2181 CONTINUE IVTNUM = 218 C C **** TEST 218 **** C IF (ICZERO) 32180, 2180, 32180 2180 CONTINUE IVON01 = 676 IVCOMP = 189 + IVON01 GO TO 42180 32180 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42180, 2191, 42180 42180 IF (IVCOMP - 865) 22180,12180,22180 12180 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2191 22180 IVFAIL = IVFAIL + 1 IVCORR = 865 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2191 CONTINUE IVTNUM = 219 C C **** TEST 219 **** C IF (ICZERO) 32190, 2190, 32190 2190 CONTINUE IVON01 = 1358 IVCOMP = IVON01 + 8001 GO TO 42190 32190 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42190, 2201, 42190 42190 IF (IVCOMP - 9359) 22190,12190,22190 12190 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2201 22190 IVFAIL = IVFAIL + 1 IVCORR = 9359 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR C C TEST 220 THROUGH TEST 224 - ONE INTEGER VARIABLE, TWO INTEGER C CONSTANTS IN ARITHMETIC EXPRESSION. C 2201 CONTINUE IVTNUM = 220 C C **** TEST 220 **** C IF (ICZERO) 32200, 2200, 32200 2200 CONTINUE IVON01 = 2 IVCOMP = IVON01 +3 +4 GO TO 42200 32200 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42200, 2211, 42200 42200 IF (IVCOMP - 9) 22200,12200,22200 12200 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2211 22200 IVFAIL = IVFAIL + 1 IVCORR = 9 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2211 CONTINUE IVTNUM = 221 C C **** TEST 221 **** C IF (ICZERO) 32210, 2210, 32210 2210 CONTINUE IVON01 = 3 IVCOMP = 2+IVON01+4 GO TO 42210 32210 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42210, 2221, 42210 42210 IF (IVCOMP - 9) 22210,12210,22210 12210 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2221 22210 IVFAIL = IVFAIL + 1 IVCORR = 9 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2221 CONTINUE IVTNUM = 222 C C **** TEST 222 **** C IF (ICZERO) 32220, 2220, 32220 2220 CONTINUE IVON01 = 4 IVCOMP= 2+3+IVON01 GO TO 42220 32220 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42220, 2231, 42220 42220 IF (IVCOMP - 9) 22220,12220,22220 12220 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2231 22220 IVFAIL = IVFAIL + 1 IVCORR = 9 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2231 CONTINUE IVTNUM = 223 C C **** TEST 223 **** C IF (ICZERO) 32230, 2230, 32230 2230 CONTINUE IVON01 = 2189 IVCOMP = 1358+IVON01+8001 GO TO 42230 32230 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42230, 2241, 42230 42230 IF (IVCOMP - 11548) 22230,12230,22230 12230 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2241 22230 IVFAIL = IVFAIL + 1 IVCORR=11548 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2241 CONTINUE IVTNUM = 224 C C **** TEST 224 **** C IF (ICZERO) 32240, 2240, 32240 2240 CONTINUE IVON01 = 11111 IVCOMP = 11111 + IVON01 + 10111 GO TO 42240 32240 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42240, 2251, 42240 42240 IF (IVCOMP - 32333) 22240,12240,22240 12240 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2251 22240 IVFAIL = IVFAIL + 1 IVCORR = 32333 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR C C TEST 225 THROUGH TEST 234 USE PARENTHESES TO GROUP ELEMENTS IN C AN ARITHMETIC EXPRESSION. THE RESULTS ARE THE SAME AS TESTS C 220 THROUGH 224. C 2251 CONTINUE IVTNUM = 225 C C **** TEST 225 **** C IF (ICZERO) 32250, 2250, 32250 2250 CONTINUE IVON01 = 2 IVCOMP = (IVON01 +3) + 4 GO TO 42250 32250 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42250, 2261, 42250 42250 IF (IVCOMP -9) 22250,12250,22250 12250 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2261 22250 IVFAIL = IVFAIL + 1 IVCORR = 9 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2261 CONTINUE IVTNUM = 226 C C **** TEST 226 **** C IF (ICZERO) 32260, 2260, 32260 2260 CONTINUE IVON01 = 2 IVCOMP = IVON01 + (3+4) GO TO 42260 32260 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42260, 2271, 42260 42260 IF (IVCOMP - 9) 22260,12260,22260 12260 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2271 22260 IVFAIL = IVFAIL + 1 IVCORR = 9 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2271 CONTINUE IVTNUM = 227 C C **** TEST 227 **** C IF (ICZERO) 32270, 2270, 32270 2270 CONTINUE IVON01 = 3 IVCOMP = (2+IVON01) + 4 GO TO 42270 32270 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42270, 2281, 42270 42270 IF (IVCOMP - 9) 22270,12270,22270 12270 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2281 22270 IVFAIL = IVFAIL + 1 IVCORR = 9 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2281 CONTINUE IVTNUM = 228 C C **** TEST 228 **** C IF (ICZERO) 32280, 2280, 32280 2280 CONTINUE IVON01 = 3 IVCOMP = 2 +(IVON01+4) GO TO 42280 32280 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42280, 2291, 42280 42280 IF (IVCOMP - 9) 22280, 12280, 22280 12280 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2291 22280 IVFAIL = IVFAIL + 1 IVCORR = 9 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2291 CONTINUE IVTNUM = 229 C C **** TEST 229 **** C IF (ICZERO) 32290, 2290, 32290 2290 CONTINUE IVON01 = 4 IVCOMP = (2+3)+IVON01 GO TO 42290 32290 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42290, 2301, 42290 42290 IF (IVCOMP - 9) 22290,12290,22290 12290 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2301 22290 IVFAIL = IVFAIL + 1 IVCORR = 9 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2301 CONTINUE IVTNUM = 230 C C **** TEST 230 **** C IF (ICZERO) 32300, 2300, 32300 2300 CONTINUE IVON01 = 2189 IVCOMP = 1358 + (IVON01+8001) GO TO 42300 32300 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42300, 2311, 42300 42300 IF (IVCOMP - 11548) 22300,12300,22300 12300 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2311 22300 IVFAIL = IVFAIL + 1 IVCORR = 11548 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2311 CONTINUE IVTNUM = 231 C C **** TEST 231 **** C IF (ICZERO) 32310, 2310, 32310 2310 CONTINUE IVON01 = 2189 IVCOMP = (1358+IVON01) + 8001 GO TO 42310 32310 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42310, 2321, 42310 42310 IF (IVCOMP - 11548) 22310,12310,22310 12310 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2321 22310 IVFAIL = IVFAIL + 1 IVCORR = 11548 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2321 CONTINUE IVTNUM = 232 C C **** TEST 232 **** C IF (ICZERO) 32320, 2320, 32320 2320 CONTINUE IVON01 = 11111 IVCOMP = (11111 + IVON01) + 10111 GO TO 42320 32320 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42320, 2331, 42320 42320 IF (IVCOMP - 32333) 22320,12320,22320 12320 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2331 22320 IVFAIL = IVFAIL + 1 IVCORR = 32333 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2331 CONTINUE IVTNUM = 233 C C **** TEST 233 **** C IF (ICZERO) 32330, 2330, 32330 2330 CONTINUE IVON01 = 11111 IVCOMP = (IVON01 + 10111) + 11111 GO TO 42330 32330 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42330, 2341, 42330 42330 IF (IVCOMP - 32333) 22330,12330,22330 12330 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2341 22330 IVFAIL = IVFAIL + 1 IVCORR = 32333 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2341 CONTINUE IVTNUM = 234 C C **** TEST 234 **** C IF (ICZERO) 32340, 2340, 32340 2340 CONTINUE IVON01 = 10111 IVCOMP = 11111 + (11111+IVON01) GO TO 42340 32340 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 42340, 2351, 42340 42340 IF (IVCOMP - 32333) 22340,12340,22340 12340 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 2351 22340 IVFAIL = IVFAIL + 1 IVCORR = 32333 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 2351 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 FM008) END