Annotation of cci/usr/src/usr.bin/f77/testf77/tests/FM056.f, revision 1.1.1.1

1.1       root        1: C                                                                       00010056
                      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     COMMENT SECTION                                                   00020056
                      6: C                                                                       00030056
                      7: C     FM056                                                             00040056
                      8: C                                                                       00050056
                      9: C          FM056 IS A MAIN WHICH TESTS THE ARGUMENT PASSING LINKAGE OF  00060056
                     10: C     A 2 LEVEL NESTED SUBROUTINE AND AN EXTERNAL FUNCTION REFERENCE.   00070056
                     11: C     THE MAIN PROGRAM FM056 CALLS SUBROUTINE FS057 PASSING ONE         00080056
                     12: C     ARGUMENT.  SUBROUTINE FS057 CALLS SUBROUTINE FS058 PASSING TWO    00090056
                     13: C     ARGUMENTS.  SUBROUTINE FS058 REFERENCES EXTERNAL FUNCTION FF059   00100056
                     14: C     PASSING 3 ARGUMENTS.  FUNCTION FF059 ADDS THE VALUES OF THE 3     00110056
                     15: C     ARGUMENTS TOGETHER.  SUBROUTINE FS057 AND FS058 THEN MERELY       00120056
                     16: C     RETURN THE RESULT TO FM056 IN THE FIRST ARGUMENT.                 00130056
                     17: C                                                                       00140056
                     18: C          THE VALUES OF THE ARGUMENTS THAT ARE PASSED TO EACH          00150056
                     19: C     SUBPROGRAM AND FUNCTION, AND RETURNED TO THE CALLING OR           00160056
                     20: C     REFERENCING PROGRAM ARE SAVED IN AN INTEGER ARRAY.  FM056 THEN    00170056
                     21: C     USES THESE VALUES TO TEST THE COMPILER'S ARGUMENT PASSING         00180056
                     22: C     CAPABILITIES.                                                     00190056
                     23: C                                                                       00200056
                     24: C      REFERENCES                                                       00210056
                     25: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00220056
                     26: C              X3.9-1978                                                00230056
                     27: C                                                                       00240056
                     28: C        SECTION 15.6.2, SUBROUTINE REFERENCE                           00250056
                     29:       COMMON IACN11 (12)                                                00260056
                     30: C                                                                       00270056
                     31: C      **********************************************************       00280056
                     32: C                                                                       00290056
                     33: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00300056
                     34: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD  00310056
                     35: C     PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00320056
                     36: C     FEDERAL COBOL COMPILER TESTING SERVICE.  THE FORTRAN COMPILER     00330056
                     37: C     VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00340056
                     38: C     DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT ROUTINE IS A FORTRAN   00350056
                     39: C     PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC  00360056
                     40: C     LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00370056
                     41: C     OF EXECUTING THESE TESTS.                                         00380056
                     42: C                                                                       00390056
                     43: C         THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00400056
                     44: C     FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978.                 00410056
                     45: C                                                                       00420056
                     46: C         SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO -             00430056
                     47: C                                                                       00440056
                     48: C                  DEPARTMENT OF THE NAVY                               00450056
                     49: C                  FEDERAL COBOL COMPILER TESTING SERVICE               00460056
                     50: C                  WASHINGTON, D.C.  20376                              00470056
                     51: C                                                                       00480056
                     52: C      **********************************************************       00490056
                     53: C                                                                       00500056
                     54: C                                                                       00510056
                     55: C                                                                       00520056
                     56: C     INITIALIZATION SECTION                                            00530056
                     57: C                                                                       00540056
                     58: C     INITIALIZE CONSTANTS                                              00550056
                     59: C      **************                                                   00560056
                     60: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER.         00570056
                     61:       I01 = 5                                                           00580056
                     62: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER.             00590056
                     63:       I02 = 6                                                           00600056
                     64: C     SYSTEM ENVIRONMENT SECTION                                        00610056
                     65: C                                                                       00620056
                     66:       I01 = 5                                                           00630056
                     67: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00640056
                     68: C     (UNIT NUMBER FOR CARD READER).                                    00650056
                     69: CX011    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00660056
                     70: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00670056
                     71: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00680056
                     72: C                                                                       00690056
                     73:       I02 = 6                                                           00700056
                     74: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00710056
                     75: C     (UNIT NUMBER FOR PRINTER).                                        00720056
                     76: CX021    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00730056
                     77: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00740056
                     78: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00750056
                     79: C                                                                       00760056
                     80:       IVPASS=0                                                          00770056
                     81:       IVFAIL=0                                                          00780056
                     82:       IVDELE=0                                                          00790056
                     83:       ICZERO=0                                                          00800056
                     84: C                                                                       00810056
                     85: C     WRITE PAGE HEADERS                                                00820056
                     86:       WRITE (I02,90000)                                                 00830056
                     87:       WRITE (I02,90001)                                                 00840056
                     88:       WRITE (I02,90002)                                                 00850056
                     89:       WRITE (I02, 90002)                                                00860056
                     90:       WRITE (I02,90003)                                                 00870056
                     91:       WRITE (I02,90002)                                                 00880056
                     92:       WRITE (I02,90004)                                                 00890056
                     93:       WRITE (I02,90002)                                                 00900056
                     94:       WRITE (I02,90011)                                                 00910056
                     95:       WRITE (I02,90002)                                                 00920056
                     96:       WRITE (I02,90002)                                                 00930056
                     97:       WRITE (I02,90005)                                                 00940056
                     98:       WRITE (I02,90006)                                                 00950056
                     99:       WRITE (I02,90002)                                                 00960056
                    100: C                                                                       00970056
                    101: C     TEST SECTION                                                      00980056
                    102: C                                                                       00990056
                    103: C         SUBROUTINE SUBPROGRAM                                         01000056
                    104: C                                                                       01010056
                    105:       IVON01 = 5                                                        01020056
                    106:       CALL FS057 (IVON01)                                               01030056
                    107:       IACN11 (12) = IVON01                                              01040056
                    108:       IVTNUM = 430                                                      01050056
                    109: C                                                                       01060056
                    110: C      ****  TEST 430  ****                                             01070056
                    111: C                                                                       01080056
                    112: C     TEST 430 TESTS THE VALUE OF THE ARGUMENT RECEIVED BY FS057 FROM   01090056
                    113: C     A FM056 CALL TO FS057                                             01100056
                    114: C                                                                       01110056
                    115:       IF (ICZERO) 34300, 4300, 34300                                    01120056
                    116:  4300 CONTINUE                                                          01130056
                    117:       IVCOMP = IACN11 (1)                                               01140056
                    118:       GO TO 44300                                                       01150056
                    119: 34300 IVDELE = IVDELE + 1                                               01160056
                    120:       WRITE (I02,80003) IVTNUM                                          01170056
                    121:       IF (ICZERO) 44300, 4311, 44300                                    01180056
                    122: 44300 IF (IVCOMP - 5) 24300,14300,24300                                 01190056
                    123: 14300 IVPASS = IVPASS + 1                                               01200056
                    124:       WRITE (I02,80001) IVTNUM                                          01210056
                    125:       GO TO 4311                                                        01220056
                    126: 24300 IVFAIL = IVFAIL + 1                                               01230056
                    127:       IVCORR = 5                                                        01240056
                    128:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01250056
                    129:  4311 CONTINUE                                                          01260056
                    130:       IVTNUM = 431                                                      01270056
                    131: C                                                                       01280056
                    132: C      ****  TEST 431  ****                                             01290056
                    133: C                                                                       01300056
                    134: C     TEST 431 TESTS THE VALUE OF THE SECOND ARGUMENT THAT WAS PASSED   01310056
                    135: C     FROM A FS057 CALL TO FS058                                        01320056
                    136: C                                                                       01330056
                    137: C                                                                       01340056
                    138:       IF (ICZERO) 34310, 4310, 34310                                    01350056
                    139:  4310 CONTINUE                                                          01360056
                    140:       IVCOMP = IACN11 (2)                                               01370056
                    141:       GO TO 44310                                                       01380056
                    142: 34310 IVDELE = IVDELE + 1                                               01390056
                    143:       WRITE (I02,80003) IVTNUM                                          01400056
                    144:       IF (ICZERO) 44310, 4321, 44310                                    01410056
                    145: 44310 IF (IVCOMP - 4) 24310,14310,24310                                 01420056
                    146: 14310 IVPASS = IVPASS + 1                                               01430056
                    147:       WRITE (I02,80001) IVTNUM                                          01440056
                    148:       GO TO 4321                                                        01450056
                    149: 24310 IVFAIL = IVFAIL + 1                                               01460056
                    150:       IVCORR = 4                                                        01470056
                    151:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01480056
                    152:  4321 CONTINUE                                                          01490056
                    153:       IVTNUM = 432                                                      01500056
                    154: C                                                                       01510056
                    155: C      ****  TEST 432  ****                                             01520056
                    156: C                                                                       01530056
                    157: C     TEST 432 TESTS THE VALUE OF THE FIRST ARGUMENT RECEIVED BY FS058  01540056
                    158: C     FROM A FS057 CALL TO FS058                                        01550056
                    159: C                                                                       01560056
                    160: C                                                                       01570056
                    161:       IF (ICZERO) 34320, 4320, 34320                                    01580056
                    162:  4320 CONTINUE                                                          01590056
                    163:       IVCOMP = IACN11 (3)                                               01600056
                    164:       GO TO 44320                                                       01610056
                    165: 34320 IVDELE = IVDELE + 1                                               01620056
                    166:       WRITE (I02,80003) IVTNUM                                          01630056
                    167:       IF (ICZERO) 44320, 4331, 44320                                    01640056
                    168: 44320 IF (IVCOMP - 5) 24320,14320,24320                                 01650056
                    169: 14320 IVPASS = IVPASS + 1                                               01660056
                    170:       WRITE (I02,80001) IVTNUM                                          01670056
                    171:       GO TO 4331                                                        01680056
                    172: 24320 IVFAIL = IVFAIL + 1                                               01690056
                    173:       IVCORR = 5                                                        01700056
                    174:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01710056
                    175:  4331 CONTINUE                                                          01720056
                    176:       IVTNUM = 433                                                      01730056
                    177: C                                                                       01740056
                    178: C      ****  TEST 433  ****                                             01750056
                    179: C                                                                       01760056
                    180: C     TEST 433 TESTS THE VALUE OF THE SECOND ARGUMENT RECEIVED BY FS058 01770056
                    181: C     FROM A FS057 CALL TO FS058                                        01780056
                    182: C                                                                       01790056
                    183: C                                                                       01800056
                    184:       IF (ICZERO) 34330, 4330, 34330                                    01810056
                    185:  4330 CONTINUE                                                          01820056
                    186:       IVCOMP = IACN11 (4)                                               01830056
                    187:       GO TO 44330                                                       01840056
                    188: 34330 IVDELE = IVDELE + 1                                               01850056
                    189:       WRITE (I02,80003) IVTNUM                                          01860056
                    190:       IF (ICZERO) 44330, 4341, 44330                                    01870056
                    191: 44330 IF (IVCOMP - 4) 24330,14330,24330                                 01880056
                    192: 14330 IVPASS = IVPASS + 1                                               01890056
                    193:       WRITE (I02,80001) IVTNUM                                          01900056
                    194:       GO TO 4341                                                        01910056
                    195: 24330 IVFAIL = IVFAIL + 1                                               01920056
                    196:       IVCORR = 4                                                        01930056
                    197:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01940056
                    198:  4341 CONTINUE                                                          01950056
                    199:       IVTNUM = 434                                                      01960056
                    200: C                                                                       01970056
                    201: C      ****  TEST 434  ****                                             01980056
                    202: C                                                                       01990056
                    203: C     TEST 434 TESTS THE VALUE OF THE THIRD ARGUMENT THAT WAS PASSED    02000056
                    204: C     FROM A FS058 REFERENCE OF FUNCTION FF059                          02010056
                    205: C                                                                       02020056
                    206: C                                                                       02030056
                    207:       IF (ICZERO) 34340, 4340, 34340                                    02040056
                    208:  4340 CONTINUE                                                          02050056
                    209:       IVCOMP = IACN11 (5)                                               02060056
                    210:       GO TO 44340                                                       02070056
                    211: 34340 IVDELE = IVDELE + 1                                               02080056
                    212:       WRITE (I02,80003) IVTNUM                                          02090056
                    213:       IF (ICZERO) 44340, 4351, 44340                                    02100056
                    214: 44340 IF (IVCOMP - 3) 24340,14340,24340                                 02110056
                    215: 14340 IVPASS = IVPASS + 1                                               02120056
                    216:       WRITE (I02,80001) IVTNUM                                          02130056
                    217:       GO TO 4351                                                        02140056
                    218: 24340 IVFAIL = IVFAIL + 1                                               02150056
                    219:       IVCORR = 3                                                        02160056
                    220:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02170056
                    221:  4351 CONTINUE                                                          02180056
                    222:       IVTNUM = 435                                                      02190056
                    223: C                                                                       02200056
                    224: C      ****  TEST 435  ****                                             02210056
                    225: C                                                                       02220056
                    226: C     TEST 435 TESTS THE VALUE OF THE FIRST ARGUMENT RECEIVED BY FF059  02230056
                    227: C     FROM A FS058 REFERENCE OF FUNCTION FF059                          02240056
                    228: C                                                                       02250056
                    229: C                                                                       02260056
                    230:       IF (ICZERO) 34350, 4350, 34350                                    02270056
                    231:  4350 CONTINUE                                                          02280056
                    232:       IVCOMP = IACN11 (6)                                               02290056
                    233:       GO TO 44350                                                       02300056
                    234: 34350 IVDELE = IVDELE + 1                                               02310056
                    235:       WRITE (I02,80003) IVTNUM                                          02320056
                    236:       IF (ICZERO) 44350, 4361, 44350                                    02330056
                    237: 44350 IF (IVCOMP - 5) 24350,14350,24350                                 02340056
                    238: 14350 IVPASS = IVPASS + 1                                               02350056
                    239:       WRITE (I02,80001) IVTNUM                                          02360056
                    240:       GO TO 4361                                                        02370056
                    241: 24350 IVFAIL = IVFAIL + 1                                               02380056
                    242:       IVCORR = 5                                                        02390056
                    243:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02400056
                    244:  4361 CONTINUE                                                          02410056
                    245:       IVTNUM = 436                                                      02420056
                    246: C                                                                       02430056
                    247: C      ****  TEST 436  ****                                             02440056
                    248: C                                                                       02450056
                    249: C     TEST 436 TESTS THE VALUE OF THE SECOND ARGUMENT RECEIVED BY FF059 02460056
                    250: C     FROM A FS058 REFERENCE OF FUNCTION FF059                          02470056
                    251: C                                                                       02480056
                    252: C                                                                       02490056
                    253:       IF (ICZERO) 34360, 4360, 34360                                    02500056
                    254:  4360 CONTINUE                                                          02510056
                    255:       IVCOMP = IACN11 (7)                                               02520056
                    256:       GO TO 44360                                                       02530056
                    257: 34360 IVDELE = IVDELE + 1                                               02540056
                    258:       WRITE (I02,80003) IVTNUM                                          02550056
                    259:       IF (ICZERO) 44360, 4371, 44360                                    02560056
                    260: 44360 IF (IVCOMP - 4) 24360,14360,24360                                 02570056
                    261: 14360 IVPASS = IVPASS + 1                                               02580056
                    262:       WRITE (I02,80001) IVTNUM                                          02590056
                    263:       GO TO 4371                                                        02600056
                    264: 24360 IVFAIL = IVFAIL + 1                                               02610056
                    265:       IVCORR = 4                                                        02620056
                    266:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02630056
                    267:  4371 CONTINUE                                                          02640056
                    268:       IVTNUM = 437                                                      02650056
                    269: C                                                                       02660056
                    270: C      ****  TEST 437  ****                                             02670056
                    271: C                                                                       02680056
                    272: C     TEST 437 TESTS THE VALUE OF THE THIRD ARGUMENT RECEIVED BY FF059  02690056
                    273: C     FROM A FS058 REFERENCE OF FUNCTION FF059                          02700056
                    274: C                                                                       02710056
                    275: C                                                                       02720056
                    276:       IF (ICZERO) 34370, 4370, 34370                                    02730056
                    277:  4370 CONTINUE                                                          02740056
                    278:       IVCOMP = IACN11 (8)                                               02750056
                    279:       GO TO 44370                                                       02760056
                    280: 34370 IVDELE = IVDELE + 1                                               02770056
                    281:       WRITE (I02,80003) IVTNUM                                          02780056
                    282:       IF (ICZERO) 44370, 4381, 44370                                    02790056
                    283: 44370 IF (IVCOMP - 3) 24370,14370,24370                                 02800056
                    284: 14370 IVPASS = IVPASS + 1                                               02810056
                    285:       WRITE (I02,80001) IVTNUM                                          02820056
                    286:       GO TO 4381                                                        02830056
                    287: 24370 IVFAIL = IVFAIL + 1                                               02840056
                    288:       IVCORR = 3                                                        02850056
                    289:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02860056
                    290:  4381 CONTINUE                                                          02870056
                    291:       IVTNUM = 438                                                      02880056
                    292: C                                                                       02890056
                    293: C      ****  TEST 438  ****                                             02900056
                    294: C                                                                       02910056
                    295: C     TEST 438 TESTS THE VALUE OF THE FUNCTION DETERMINED BY FF059      02920056
                    296: C                                                                       02930056
                    297: C                                                                       02940056
                    298:       IF (ICZERO) 34380, 4380, 34380                                    02950056
                    299:  4380 CONTINUE                                                          02960056
                    300:       IVCOMP = IACN11 (9)                                               02970056
                    301:       GO TO 44380                                                       02980056
                    302: 34380 IVDELE = IVDELE + 1                                               02990056
                    303:       WRITE (I02,80003) IVTNUM                                          03000056
                    304:       IF (ICZERO) 44380, 4391, 44380                                    03010056
                    305: 44380 IF (IVCOMP - 12) 24380,14380,24380                                03020056
                    306: 14380 IVPASS = IVPASS + 1                                               03030056
                    307:       WRITE (I02,80001) IVTNUM                                          03040056
                    308:       GO TO 4391                                                        03050056
                    309: 24380 IVFAIL = IVFAIL + 1                                               03060056
                    310:       IVCORR = 12                                                       03070056
                    311:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          03080056
                    312:  4391 CONTINUE                                                          03090056
                    313:       IVTNUM = 439                                                      03100056
                    314: C                                                                       03110056
                    315: C      ****  TEST 439  ****                                             03120056
                    316: C                                                                       03130056
                    317: C     TEST 439 TESTS THE VALUE OF THE FUNCTION RETURNED TO FS058 BY     03140056
                    318: C     FF059                                                             03150056
                    319: C                                                                       03160056
                    320: C                                                                       03170056
                    321:       IF (ICZERO) 34390, 4390, 34390                                    03180056
                    322:  4390 CONTINUE                                                          03190056
                    323:       IVCOMP = IACN11 (10)                                              03200056
                    324:       GO TO 44390                                                       03210056
                    325: 34390 IVDELE = IVDELE + 1                                               03220056
                    326:       WRITE (I02,80003) IVTNUM                                          03230056
                    327:       IF (ICZERO) 44390, 4401, 44390                                    03240056
                    328: 44390 IF (IVCOMP - 12) 24390,14390,24390                                03250056
                    329: 14390 IVPASS = IVPASS + 1                                               03260056
                    330:       WRITE (I02,80001) IVTNUM                                          03270056
                    331:       GO TO 4401                                                        03280056
                    332: 24390 IVFAIL = IVFAIL + 1                                               03290056
                    333:       IVCORR = 12                                                       03300056
                    334:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          03310056
                    335:  4401 CONTINUE                                                          03320056
                    336:       IVTNUM = 440                                                      03330056
                    337: C                                                                       03340056
                    338: C      ****  TEST 440  ****                                             03350056
                    339: C                                                                       03360056
                    340: C     TEST 440 TESTS THE VALUE OF THE FIRST ARGUMENT RETURNED TO FS057  03370056
                    341: C     BY FS058                                                          03380056
                    342: C                                                                       03390056
                    343:       IF (ICZERO) 34400, 4400, 34400                                    03400056
                    344:  4400 CONTINUE                                                          03410056
                    345:       IVCOMP = IACN11 (11)                                              03420056
                    346:       GO TO 44400                                                       03430056
                    347: 34400 IVDELE = IVDELE + 1                                               03440056
                    348:       WRITE (I02,80003) IVTNUM                                          03450056
                    349:       IF (ICZERO) 44400, 4411, 44400                                    03460056
                    350: 44400 IF (IVCOMP - 12) 24400,14400,24400                                03470056
                    351: 14400 IVPASS = IVPASS + 1                                               03480056
                    352:       WRITE (I02,80001) IVTNUM                                          03490056
                    353:       GO TO 4411                                                        03500056
                    354: 24400 IVFAIL = IVFAIL + 1                                               03510056
                    355:       IVCORR = 12                                                       03520056
                    356:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          03530056
                    357:  4411 CONTINUE                                                          03540056
                    358:       IVTNUM = 441                                                      03550056
                    359: C                                                                       03560056
                    360: C      ****  TEST 441  ****                                             03570056
                    361: C                                                                       03580056
                    362: C     TEST 441 TESTS THE VALUE OF THE FIRST ARGUMENT RETURNED TO FM056  03590056
                    363: C     BY FS057                                                          03600056
                    364: C                                                                       03610056
                    365: C                                                                       03620056
                    366:       IF (ICZERO) 34410, 4410, 34410                                    03630056
                    367:  4410 CONTINUE                                                          03640056
                    368:       IVCOMP = IACN11 (12)                                              03650056
                    369:       GO TO 44410                                                       03660056
                    370: 34410 IVDELE = IVDELE + 1                                               03670056
                    371:       WRITE (I02,80003) IVTNUM                                          03680056
                    372:       IF (ICZERO) 44410, 4421, 44410                                    03690056
                    373: 44410 IF (IVCOMP - 12) 24410,14410,24410                                03700056
                    374: 14410 IVPASS = IVPASS + 1                                               03710056
                    375:       WRITE (I02,80001) IVTNUM                                          03720056
                    376:       GO TO 4421                                                        03730056
                    377: 24410 IVFAIL = IVFAIL + 1                                               03740056
                    378:       IVCORR = 12                                                       03750056
                    379:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          03760056
                    380:  4421 CONTINUE                                                          03770056
                    381: C                                                                       03780056
                    382: C     WRITE PAGE FOOTINGS AND RUN SUMMARIES                             03790056
                    383: 99999 CONTINUE                                                          03800056
                    384:       WRITE (I02,90002)                                                 03810056
                    385:       WRITE (I02,90006)                                                 03820056
                    386:       WRITE (I02,90002)                                                 03830056
                    387:       WRITE (I02,90002)                                                 03840056
                    388:       WRITE (I02,90007)                                                 03850056
                    389:       WRITE (I02,90002)                                                 03860056
                    390:       WRITE (I02,90008)  IVFAIL                                         03870056
                    391:       WRITE (I02,90009) IVPASS                                          03880056
                    392:       WRITE (I02,90010) IVDELE                                          03890056
                    393: C                                                                       03900056
                    394: C                                                                       03910056
                    395: C     TERMINATE ROUTINE EXECUTION                                       03920056
                    396:       STOP                                                              03930056
                    397: C                                                                       03940056
                    398: C     FORMAT STATEMENTS FOR PAGE HEADERS                                03950056
                    399: 90000 FORMAT (1H1)                                                      03960056
                    400: 90002 FORMAT (1H )                                                      03970056
                    401: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            03980056
                    402: 90003 FORMAT (1H ,21X,11HVERSION 1.0)                                   03990056
                    403: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)        04000056
                    404: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 04010056
                    405: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 04020056
                    406: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             04030056
                    407: C                                                                       04040056
                    408: C     FORMAT STATEMENTS FOR RUN SUMMARIES                               04050056
                    409: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED)                        04060056
                    410: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED)                              04070056
                    411: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED)                             04080056
                    412: C                                                                       04090056
                    413: C     FORMAT STATEMENTS FOR TEST RESULTS                                04100056
                    414: 80001 FORMAT (1H ,4X,I5,7X,4HPASS)                                      04110056
                    415: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL)                                      04120056
                    416: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED)                                   04130056
                    417: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         04140056
                    418: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    04150056
                    419: C                                                                       04160056
                    420: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM056)                          04170056
                    421:       END                                                               04180056
                    422: C                                                                       00010057
                    423: C     DATE***82/08/02*18.33.46
                    424: C     OWNER  PRE/850703/TC-85-   -410/    /FSTC/278FCVS*F78UBP20/
                    425: C     AUDIT  FCVS78 V2.0
                    426: C     COMMENT SECTION                                                   00020057
                    427: C                                                                       00030057
                    428: C     FS057                                                             00040057
                    429: C                                                                       00050057
                    430: C          THIS SUBROUTINE IS CALLED BY THE MAIN PROGRAM FM056.  THE    00060057
                    431: C     SINGLE ARGUMENT PASSED FROM FM056 ALONG WITH A SECOND PARAMETER   00070057
                    432: C     CREATED IN FS057 ARE THEN PASSED VIA A CALL TO SUBROUTINE FS058.  00080057
                    433: C     A RESULT FROM AN ARITHMETIC OPERATION IS RETURNED FROM FS058 IN   00090057
                    434: C     THE FIRST ARGUMENT.  FS057 ACCEPTS THIS RESULT AND RETURNS CONTROL00100057
                    435: C     TO FM056 WITHOUT ANY ADDITIONAL PROCESSING.                       00110057
                    436: C                                                                       00120057
                    437: C          THE VALUES OF THE ARGUMENTS THAT ARE PASSED FROM FM056 TO    00130057
                    438: C     FS057 AND RETURNED ARE SAVED IN AN INTEGER ARRAY FOR LATER        00140057
                    439: C     VERIFICATION BY THE MAIN PROGRAM.                                 00150057
                    440: C                                                                       00160057
                    441: C      REFERENCES                                                       00170057
                    442: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00180057
                    443: C              X3.9-1978                                                00190057
                    444: C                                                                       00200057
                    445: C        SECTION 15.6, SUBROUTINES                                      00210057
                    446: C        SECTION 15.6.2, SUBROUTINE REFERENCE                           00220057
                    447: C        SECTION 15.8, RETURN STATEMENT                                 00230057
                    448: C                                                                       00240057
                    449: C     TEST SECTION                                                      00250057
                    450: C                                                                       00260057
                    451: C         SUBROUTINE SUBPROGRAM                                         00270057
                    452: C                                                                       00280057
                    453:       SUBROUTINE FS057 (IVON01)                                         00290057
                    454:       COMMON IACN11 (12)                                                00300057
                    455:       IACN11 (1) = IVON01                                               00310057
                    456:       IVON02 = 4                                                        00320057
                    457:       IACN11 (2) = IVON02                                               00330057
                    458:       CALL FS058 (IVON01,IVON02)                                        00340057
                    459:       IACN11 (11) = IVON01                                              00350057
                    460:       RETURN                                                            00360057
                    461:       END                                                               00370057
                    462: C                                                                       00010058
                    463: C     DATE***82/08/02*18.33.46
                    464: C     OWNER  PRE/850703/TC-85-   -410/    /FSTC/278FCVS*F78UBP20/
                    465: C     AUDIT  FCVS78 V2.0
                    466: C     COMMENT SECTION                                                   00020058
                    467: C                                                                       00030058
                    468: C     FS058                                                             00040058
                    469: C                                                                       00050058
                    470: C          THIS SUBROUTINE IS CALLED BY SUBROUTINE FS057.  THE TWO      00060058
                    471: C     ARGUMENTS PASSED FROM FS057 ALONG WITH A THIRD PARAMETER CREATED  00070058
                    472: C     IN FS058 ARE THEN PASSED TO FUNCTION FF059 WHERE THEY ARE USED IN 00080058
                    473: C     AN ARITHMETIC OPERATION.  FS058 THEN SAVES THE RESULT OF THIS     00090058
                    474: C     OPERATION IN THE FIRST ARGUMENT AND RETURNS CONTROL TO FS057      00100058
                    475: C     WITHOUT ANY ADDITIONAL PROCESSING.                                00110058
                    476: C                                                                       00120058
                    477: C          THE VALUES OF THE ARGUMENTS THAT ARE PASSED FROM FS057 TO    00130058
                    478: C     FS058 AND RETURNED ARE SAVED IN AN INTEGER ARRAY FOR LATER        00140058
                    479: C     VERIFICATION BY THE MAIN PROGRAM.                                 00150058
                    480: C                                                                       00160058
                    481: C      REFERENCES                                                       00170058
                    482: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00180058
                    483: C              X3.9-1978                                                00190058
                    484: C                                                                       00200058
                    485: C        SECTION 15.5.2, REFERENCING EXTERNAL FUNCTIONS                 00210058
                    486: C        SECTION 15.6, SUBROUTINES                                      00220058
                    487: C        SECTION 15.8, RETURN STATEMENT                                 00230058
                    488: C                                                                       00240058
                    489: C     TEST SECTION                                                      00250058
                    490: C                                                                       00260058
                    491: C         SUBROUTINE SUBPROGRAM                                         00270058
                    492: C                                                                       00280058
                    493:       SUBROUTINE FS058 (IVON01,IVON02)                                  00290058
                    494:       COMMON IACN11 (12)                                                00300058
                    495:       INTEGER FF059                                                     00310058
                    496:       IVON03 = 3                                                        00320058
                    497:       IACN11 (3) = IVON01                                               00330058
                    498:       IACN11 (4) = IVON02                                               00340058
                    499:       IACN11 (5) = IVON03                                               00350058
                    500:       IVON01 = FF059 (IVON01,IVON02,IVON03)                             00360058
                    501:       IACN11 (10) = IVON01                                              00370058
                    502:       RETURN                                                            00380058
                    503:       END                                                               00390058
                    504: C                                                                       00010059
                    505: C     DATE***82/08/02*18.33.46
                    506: C     OWNER  PRE/850703/TC-85-   -410/    /FSTC/278FCVS*F78UBP20/
                    507: C     AUDIT  FCVS78 V2.0
                    508: C     COMMENT SECTION                                                   00020059
                    509: C                                                                       00030059
                    510: C     FF059                                                             00040059
                    511: C                                                                       00050059
                    512: C          THIS EXTERNAL FUNCTION IS REFERENCED WITHIN SUBROUTINE FS058.00060059
                    513: C     THE THREE ARGUMENTS THAT ARE PASSED ARE SIMPLY ADDED TOGETHER AND 00070059
                    514: C     THE RESULT SUBSTITUTED FOR THE ORIGINAL REFERENCE.  CONTROL IS    00080059
                    515: C     THEN RETURNED TO FS058.                                           00090059
                    516: C                                                                       00100059
                    517: C          THE VALUES OF THE ARGUMENTS THAT ARE PASSED FROM FS058 TO    00110059
                    518: C     FF059 AND THE RESULT THAT IS RETURNED ARE SAVED IN AN INTEGER     00120059
                    519: C     ARRAY FOR LATER VERIFICATION BY THE MAIN PROGRAM.                 00130059
                    520: C                                                                       00140059
                    521: C      REFERENCES                                                       00150059
                    522: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00160059
                    523: C              X3.9-1978                                                00170059
                    524: C                                                                       00180059
                    525: C        SECTION 15.5.1, FUNCTION SUBPROGRAM AND FUNCTION STATEMENT     00190059
                    526: C        SECTION 15.8, RETURN STATEMENT                                 00200059
                    527: C     TEST SECTION                                                      00210059
                    528: C                                                                       00220059
                    529: C         FUNCTION SUBPROGRAM                                           00230059
                    530: C                                                                       00240059
                    531:       INTEGER FUNCTION FF059 (IVON01,IVON02,IVON03)                     00250059
                    532:       COMMON IACN11 (12)                                                00260059
                    533:       IACN11 (6) = IVON01                                               00270059
                    534:       IACN11 (7) = IVON02                                               00280059
                    535:       IACN11 (8) = IVON03                                               00290059
                    536:       FF059 = IVON01 + IVON02 + IVON03                                  00300059
                    537:       IACN11 (9) = IVON01 + IVON02 + IVON03                             00310059
                    538:       RETURN                                                            00320059
                    539:       END                                                               00330059

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.