C COMMENT SECTION C C FM032 C C THIS ROUTINE TESTS ARITHMETIC ASSIGNMENT STATEMENTS OF THE C FORM C INTEGER VARIABLE = ARITHMETIC EXPRESSION C WHERE THE ARITHMETIC EXPRESSION IS FORMED WITH THE ARITHMETIC C OPERATOR -, INTEGER CONSTANTS AND INTEGER VARIABLES. SOME OF THE C TESTS USE PARENTHESES TO GROUP ELEMENTS IN AN ARITHMETIC C EXPRESSION. C C THERE ARE TESTS WHERE THE ARITHMETIC EXPRESSION CONTAINS C (1) INTEGER VAR.= INT. VAR. - INT.VAR.-INT.CON C = INT. VAR. - INT.CON.-INT.VAR C = INT. CON. - INT.VAR -INT.VAR. C (2) SAME FORMS AS (1) BUT WITH PARENTHESES TO GROUP ELEMENTS C IN ARITHMETIC EXPRESSION. 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 STATEMENT 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 330 THROUGH TEST 347 CONTAIN TWO INTEGER VARIABLES, AN C INTEGER CONSTANT AND OPERATOR - IN AN ARITHMETIC EXPRESSION. THE C INTEGER VARIABLES CONTAIN POSITIVE AND NEGATIVE VALUES. C C TEST 330 THROUGH TEST 337 IV = IV -IV -IC C 3301 CONTINUE IVTNUM = 330 C C **** TEST 330 **** C IF (ICZERO) 33300, 3300, 33300 3300 CONTINUE IVON01 =9 IVON02 =4 IVCOMP = IVON01-IVON02-2 GO TO 43300 33300 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43300, 3311, 43300 43300 IF (IVCOMP-3) 23300,13300,23300 13300 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3311 23300 IVFAIL = IVFAIL + 1 IVCORR= 3 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3311 CONTINUE IVTNUM = 331 C C **** TEST 331 **** C IF (ICZERO) 33310, 3310, 33310 3310 CONTINUE IVON01 =-9 IVON02 = 4 IVCOMP = IVON01-IVON02-2 GO TO 43310 33310 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43310, 3321, 43310 43310 IF (IVCOMP +15) 23310,13310,23310 13310 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3321 23310 IVFAIL = IVFAIL + 1 IVCORR = -15 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3321 CONTINUE IVTNUM = 332 C C **** TEST 332 **** C IF (ICZERO) 33320, 3320, 33320 3320 CONTINUE IVON01 =9 IVON02 =-4 IVCOMP =IVON01-IVON02-2 GO TO 43320 33320 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43320, 3331, 43320 43320 IF (IVCOMP-11) 23320,13320,23320 13320 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3331 23320 IVFAIL = IVFAIL + 1 IVCORR = 11 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3331 CONTINUE IVTNUM = 333 C C **** TEST 333 **** C IF (ICZERO) 33330, 3330, 33330 3330 CONTINUE IVON01 =57 IVON02 =25 IVCOMP=IVON01-IVON02-22 GO TO 43330 33330 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43330, 3341, 43330 43330 IF (IVCOMP -10) 23330,13330,23330 13330 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3341 23330 IVFAIL = IVFAIL + 1 IVCORR = 10 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3341 CONTINUE IVTNUM = 334 C C **** TEST 334 **** C IF (ICZERO) 33340, 3340, 33340 3340 CONTINUE IVON01 = 101 IVON02 = 683 IVCOMP = IVON01 - IVON02 - 156 GO TO 43340 33340 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43340, 3351, 43340 43340 IF (IVCOMP +738) 23340,13340,23340 13340 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3351 23340 IVFAIL = IVFAIL + 1 IVCORR = -738 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3351 CONTINUE IVTNUM = 335 C C **** TEST 335 **** C IF (ICZERO) 33350, 3350, 33350 3350 CONTINUE IVON01=8542 IVON02=1122 IVCOMP=IVON01-IVON02-1289 GO TO 43350 33350 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43350, 3361, 43350 43350 IF (IVCOMP -6131) 23350,13350,23350 13350 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3361 23350 IVFAIL = IVFAIL + 1 IVCORR = 6131 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3361 CONTINUE IVTNUM = 336 C C **** TEST 336 **** C IF (ICZERO) 33360, 3360, 33360 3360 CONTINUE IVON01 = 31333 IVON02 = 11111 IVCOMP = IVON01-IVON02-10111 GO TO 43360 33360 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43360, 3371, 43360 43360 IF (IVCOMP -10111) 23360,13360,23360 13360 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3371 23360 IVFAIL = IVFAIL + 1 IVCORR = 10111 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3371 CONTINUE IVTNUM = 337 C C **** TEST 337 **** C IF (ICZERO) 33370, 3370, 33370 3370 CONTINUE IVON01 = -31444 IVON02 = +1001 IVCOMP = IVON01-IVON02-300 GO TO 43370 33370 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43370, 3381, 43370 43370 IF (IVCOMP +32745) 23370,13370,23370 13370 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3381 23370 IVFAIL = IVFAIL + 1 IVCORR = -32745 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR C C TEST 338 THROUGH TEST 343 IV=IV-IC-IV C 3381 CONTINUE IVTNUM = 338 C C **** TEST 338 **** C IF (ICZERO) 33380, 3380, 33380 3380 CONTINUE IVON01 =9 IVON03 =2 IVCOMP = IVON01-4-IVON03 GO TO 43380 33380 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43380, 3391, 43380 43380 IF (IVCOMP -3) 23380,13380,23380 13380 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3391 23380 IVFAIL = IVFAIL + 1 IVCORR = 3 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3391 CONTINUE IVTNUM = 339 C C **** TEST 339 **** C IF (ICZERO) 33390, 3390, 33390 3390 CONTINUE IVON01 = -9 IVON03 = 2 IVCOMP = IVON01-4-IVON03 GO TO 43390 33390 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43390, 3401, 43390 43390 IF (IVCOMP+15) 23390,13390,23390 13390 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3401 23390 IVFAIL = IVFAIL + 1 IVCORR = -15 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3401 CONTINUE IVTNUM = 340 C C **** TEST 340 **** C IF (ICZERO) 33400, 3400, 33400 3400 CONTINUE IVON01 = 9 IVON03 =-2 IVCOMP =IVON01-4-IVON03 GO TO 43400 33400 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43400, 3411, 43400 43400 IF (IVCOMP-7) 23400,13400,23400 13400 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3411 23400 IVFAIL = IVFAIL + 1 IVCORR=7 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3411 CONTINUE IVTNUM = 341 C C **** TEST 341 **** C IF (ICZERO) 33410, 3410, 33410 3410 CONTINUE IVON01=-57 IVON03=22 IVCOMP=IVON01-25-IVON03 GO TO 43410 33410 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43410, 3421, 43410 43410 IF (IVCOMP+104) 23410,13410,23410 13410 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3421 23410 IVFAIL = IVFAIL + 1 IVCORR = -104 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3421 CONTINUE IVTNUM = 342 C C **** TEST 342 **** C IF (ICZERO) 33420, 3420, 33420 3420 CONTINUE IVON01=8542 IVON03=3 IVCOMP=IVON01-125-IVON03 GO TO 43420 33420 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43420, 3431, 43420 43420 IF (IVCOMP-8414) 23420,13420,23420 13420 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3431 23420 IVFAIL = IVFAIL + 1 IVCORR = 8414 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3431 CONTINUE IVTNUM = 343 C C **** TEST 343 **** C IF (ICZERO) 33430, 3430, 33430 3430 CONTINUE IVON01 = -32111 IVON03 = -111 IVCOMP = IVON01-111-IVON03 GO TO 43430 33430 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43430, 3441, 43430 43430 IF (IVCOMP + 32111) 23430,13430,23430 13430 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3441 23430 IVFAIL = IVFAIL + 1 IVCORR = -32111 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR C C TEST 344 THROUGH TEST 347 IV=IC-IV-IV C 3441 CONTINUE IVTNUM = 344 C C **** TEST 344 **** C IF (ICZERO) 33440, 3440, 33440 3440 CONTINUE IVON02=4 IVON03=2 IVCOMP=9-IVON02-IVON03 GO TO 43440 33440 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43440, 3451, 43440 43440 IF (IVCOMP -3) 23440,13440,23440 13440 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3451 23440 IVFAIL = IVFAIL + 1 IVCORR = 3 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3451 CONTINUE IVTNUM = 345 C C **** TEST 345 **** C IF (ICZERO) 33450, 3450, 33450 3450 CONTINUE IVON02=-4 IVON03= 2 IVCOMP= 9-IVON02-IVON03 GO TO 43450 33450 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43450, 3461, 43450 43450 IF (IVCOMP -11) 23450,13450,23450 13450 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3461 23450 IVFAIL = IVFAIL + 1 IVCORR =11 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3461 CONTINUE IVTNUM = 346 C C **** TEST 346 **** C IF (ICZERO) 33460, 3460, 33460 3460 CONTINUE IVON02 = 683 IVON03 = 156 IVCOMP = 101 -IVON02-IVON03 GO TO 43460 33460 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43460, 3471, 43460 43460 IF (IVCOMP +738) 23460,13460,23460 13460 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3471 23460 IVFAIL = IVFAIL + 1 IVCORR = -738 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3471 CONTINUE IVTNUM = 347 C C **** TEST 347 **** C IF (ICZERO) 33470, 3470, 33470 3470 CONTINUE IVON02 = 15687 IVON03 = 387 IVCOMP = 8542-IVON02-IVON03 GO TO 43470 33470 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43470, 3481, 43470 43470 IF (IVCOMP + 7532) 23470,13470,23470 13470 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3481 23470 IVFAIL = IVFAIL + 1 IVCORR = -7532 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR C C TEST 348 THROUGH TEST 359 CONTAIN TWO INTEGER VARIABLES, AN C INTEGER CONSTANT AND OPERATOR - IN AN ARITHMETIC EXPRESSION. C PARENTHESES ARE USED TO GROUP THE ELEMENTS IN THE ARITHMETIC C EXPRESSION. THE INTEGER VARIABLES CONTAIN POSITIVE AND NEGATIVE C VALUES. C 3481 CONTINUE IVTNUM = 348 C C **** TEST 348 **** C IF (ICZERO) 33480, 3480, 33480 3480 CONTINUE IVON01= 9 IVON02= 4 IVCOMP=(IVON01-IVON02)-2 GO TO 43480 33480 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43480, 3491, 43480 43480 IF (IVCOMP - 3) 23480,13480,23480 13480 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3491 23480 IVFAIL = IVFAIL + 1 IVCORR = 3 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3491 CONTINUE IVTNUM = 349 C C **** TEST 349 **** C IF (ICZERO) 33490, 3490, 33490 3490 CONTINUE IVON01=9 IVON02=4 IVCOMP=IVON01-(IVON02-2) GO TO 43490 33490 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43490, 3501, 43490 43490 IF (IVCOMP -7) 23490,13490,23490 13490 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3501 23490 IVFAIL = IVFAIL + 1 IVCORR=7 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3501 CONTINUE IVTNUM = 350 C C **** TEST 350 **** C IF (ICZERO) 33500, 3500, 33500 3500 CONTINUE IVON01 = 9 IVON02 = -4 IVCOMP = (IVON01-IVON02) -2 GO TO 43500 33500 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43500, 3511, 43500 43500 IF (IVCOMP -11) 23500,13500,23500 13500 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3511 23500 IVFAIL = IVFAIL + 1 IVCORR = 11 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3511 CONTINUE IVTNUM = 351 C C **** TEST 351 **** C IF (ICZERO) 33510, 3510, 33510 3510 CONTINUE IVON01 = 9 IVON02 = -4 IVCOMP = IVON01-(IVON02-2) GO TO 43510 33510 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43510, 3521, 43510 43510 IF (IVCOMP - 15) 23510,13510,23510 13510 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3521 23510 IVFAIL = IVFAIL + 1 IVCORR = 15 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3521 CONTINUE IVTNUM = 352 C C **** TEST 352 **** C IF (ICZERO) 33520, 3520, 33520 3520 CONTINUE IVON01 = 683 IVON03 = 156 IVCOMP = (IVON01-101)-IVON03 GO TO 43520 33520 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43520, 3531, 43520 43520 IF (IVCOMP - 426) 23520,13520,23520 13520 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3531 23520 IVFAIL = IVFAIL + 1 IVCORR = 426 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3531 CONTINUE IVTNUM = 353 C C **** TEST 353 **** C IF (ICZERO) 33530, 3530, 33530 3530 CONTINUE IVON01 = 683 IVON03 = 156 IVCOMP = IVON01 -(101-IVON03) GO TO 43530 33530 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43530, 3541, 43530 43530 IF (IVCOMP -738) 23530,13530,23530 13530 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3541 23530 IVFAIL = IVFAIL + 1 IVCORR = 738 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3541 CONTINUE IVTNUM = 354 C C **** TEST 354 **** C IF (ICZERO) 33540, 3540, 33540 3540 CONTINUE IVON01 = 683 IVON03 =-156 IVCOMP = IVON01 -(101-IVON03) GO TO 43540 33540 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43540, 3551, 43540 43540 IF (IVCOMP -426) 23540,13540,23540 13540 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3551 23540 IVFAIL = IVFAIL + 1 IVCORR = 426 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3551 CONTINUE IVTNUM = 355 C C **** TEST 355 **** C IF (ICZERO) 33550, 3550, 33550 3550 CONTINUE IVON01 = -683 IVON03 = -156 IVCOMP = (IVON01-101)-IVON03 GO TO 43550 33550 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43550, 3561, 43550 43550 IF (IVCOMP +628) 23550,13550,23550 13550 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3561 23550 IVFAIL = IVFAIL + 1 IVCORR = -628 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3561 CONTINUE IVTNUM = 356 C C **** TEST 356 **** C IF (ICZERO) 33560, 3560, 33560 3560 CONTINUE IVON02 = 15687 IVON03 = 387 IVCOMP = (8542-IVON02)-IVON03 GO TO 43560 33560 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43560, 3571, 43560 43560 IF (IVCOMP +7532) 23560,13560,23560 13560 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3571 23560 IVFAIL = IVFAIL + 1 IVCORR = -7532 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3571 CONTINUE IVTNUM = 357 C C **** TEST 357 **** C IF (ICZERO) 33570, 3570, 33570 3570 CONTINUE IVON02= 15687 IVON03= 387 IVCOMP= 8542-(IVON02-IVON03) GO TO 43570 33570 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43570, 3581, 43570 43570 IF (IVCOMP + 6758) 23570,13570,23570 13570 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3581 23570 IVFAIL = IVFAIL + 1 IVCORR = -6758 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3581 CONTINUE IVTNUM = 358 C C **** TEST 358 **** C IF (ICZERO) 33580, 3580, 33580 3580 CONTINUE IVON02 = -15687 IVON03 = 387 IVCOMP =(8542-IVON02)-IVON03 GO TO 43580 33580 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43580, 3591, 43580 43580 IF (IVCOMP - 23842) 23580,13580,23580 13580 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3591 23580 IVFAIL = IVFAIL + 1 IVCORR =23842 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 3591 CONTINUE IVTNUM = 359 C C **** TEST 359 **** C IF (ICZERO) 33590, 3590, 33590 3590 CONTINUE IVON02 = -15687 IVON03 = 387 IVCOMP = 8542-(IVON02-IVON03) GO TO 43590 33590 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 43590, 3601, 43590 43590 IF (IVCOMP - 24616) 23590,13590,23590 13590 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 3601 23590 IVFAIL = IVFAIL + 1 IVCORR = 24616 WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR C **** END OF TESTS **** 3601 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 FM032) END