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

1.1       root        1: C     COMMENT SECTION                                                   00010001
                      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                                                                       00020001
                      6: C     FM001                                                             00030001
                      7: C                                                                       00040001
                      8: C         THIS ROUTINE CONTAINS THE BOILERPLATE SOURCE CODING WHICH     00050001
                      9: C     IS USED TO PRINT THE REPORT HEADINGS AND RUN SUMMARIES FOR EACH   00060001
                     10: C     OF THE ELEMENTARY ROUTINES.                                       00070001
                     11: C                                                                       00080001
                     12: C         THREE TESTS ARE INCLUDED WHICH CONTAIN THE PROCEDURES FOR     00090001
                     13: C         TESTING THE LANGUAGE FEATURES AND DELETING TESTS.             00100001
                     14: C                                                                       00110001
                     15: C         TEST 1 CHECKS THE PASS PROCEDURE                              00120001
                     16: C         TEST 2 CHECKS THE FAIL PROCEDURE                              00130001
                     17: C         TEST 3 CHECKS THE DELETE PROCEDURE                            00140001
                     18: C                                                                       00150001
                     19: C         IF THIS ROUTINE DOES NOT EXECUTE CORRECTLY, THEN NO OTHER     00160001
                     20: C     ROUTINES WILL BE RUN.  THERE IS NO USE IN TRYING TO VALIDATE A    00170001
                     21: C     FORTRAN COMPILER WHICH CANNOT HANDLE SUCH BASIC STATEMENTS.       00180001
                     22: C                                                                       00190001
                     23: C      **********************************************************       00200001
                     24: C                                                                       00210001
                     25: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00220001
                     26: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD  00230001
                     27: C     PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00240001
                     28: C     FEDERAL COBOL COMPILER TESTING SERVICE.  THE FORTRAN COMPILER     00250001
                     29: C     VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00260001
                     30: C     DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT ROUTINE IS A FORTRAN   00270001
                     31: C     PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC  00280001
                     32: C     LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00290001
                     33: C     OF EXECUTING THESE TESTS.                                         00300001
                     34: C                                                                       00310001
                     35: C         THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00320001
                     36: C     FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978.                 00330001
                     37: C                                                                       00340001
                     38: C         SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO -             00350001
                     39: C                                                                       00360001
                     40: C                  DEPARTMENT OF THE NAVY                               00370001
                     41: C                  FEDERAL COBOL COMPILER TESTING SERVICE               00380001
                     42: C                  WASHINGTON, D.C.  20376                              00390001
                     43: C                                                                       00400001
                     44: C      **********************************************************       00410001
                     45: C                                                                       00420001
                     46: C                                                                       00430001
                     47: C                                                                       00440001
                     48: C     INITIALIZATION SECTION                                            00450001
                     49: C                                                                       00460001
                     50: C     INITIALIZE CONSTANTS                                              00470001
                     51: C      **************                                                   00480001
                     52: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER.         00490001
                     53:       I01 = 5                                                           00500001
                     54: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER.             00510001
                     55:       I02 = 6                                                           00520001
                     56: C     SYSTEM ENVIRONMENT SECTION                                        00530001
                     57: C                                                                       00540001
                     58:       I01 = 5                                                           00550001
                     59: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00560001
                     60: C     (UNIT NUMBER FOR CARD READER).                                    00570001
                     61: CX011    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00580001
                     62: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00590001
                     63: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00600001
                     64: C                                                                       00610001
                     65:       I02 = 6                                                           00620001
                     66: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00630001
                     67: C     (UNIT NUMBER FOR PRINTER).                                        00640001
                     68: CX021    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00650001
                     69: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00660001
                     70: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00670001
                     71: C                                                                       00680001
                     72:       IVPASS=0                                                          00690001
                     73:       IVFAIL=0                                                          00700001
                     74:       IVDELE=0                                                          00710001
                     75:       ICZERO=0                                                          00720001
                     76: C                                                                       00730001
                     77: C     WRITE PAGE HEADERS                                                00740001
                     78:       WRITE (I02,90000)                                                 00750001
                     79:       WRITE (I02,90001)                                                 00760001
                     80:       WRITE (I02,90002)                                                 00770001
                     81:       WRITE (I02, 90002)                                                00780001
                     82:       WRITE (I02,90003)                                                 00790001
                     83:       WRITE (I02,90002)                                                 00800001
                     84:       WRITE (I02,90004)                                                 00810001
                     85:       WRITE (I02,90002)                                                 00820001
                     86:       WRITE (I02,90011)                                                 00830001
                     87:       WRITE (I02,90002)                                                 00840001
                     88:       WRITE (I02,90002)                                                 00850001
                     89:       WRITE (I02,90005)                                                 00860001
                     90:       WRITE (I02,90006)                                                 00870001
                     91:       WRITE (I02,90002)                                                 00880001
                     92: C     TEST SECTION                                                      00890001
                     93: C                                                                       00900001
                     94:    11 CONTINUE                                                          00910001
                     95: C                                                                       00920001
                     96: C      ****  TEST 001  ****                                             00930001
                     97: C     TEST 001  -  BASIC PROCEDURE FOR CODING TESTS                     00940001
                     98: C           ALSO CHECKS CONTINUE STATEMENT WHICH SHOULD NOT HAVE        00950001
                     99: C           ANY AFFECT ON EXECUTION SEQUENCE                            00960001
                    100: C                                                                       00970001
                    101:       IF (ICZERO) 30010, 10, 30010                                      00980001
                    102:    10 CONTINUE                                                          00990001
                    103:       IVTNUM=1                                                          01000001
                    104:       GO TO 40010                                                       01010001
                    105: 30010 IVDELE=IVDELE+1                                                   01020001
                    106:       WRITE (I02,80003) IVTNUM                                          01030001
                    107:       IF (ICZERO) 40010, 21, 40010                                      01040001
                    108: 40010 IF (IVTNUM - 1) 20010, 10010, 20010                               01050001
                    109: 10010 IVPASS=IVPASS+1                                                   01060001
                    110:       WRITE (I02,80001) IVTNUM                                          01070001
                    111:       GO TO 21                                                          01080001
                    112: 20010 IVFAIL=IVFAIL+1                                                   01090001
                    113:       IVCOMP=IVTNUM                                                     01100001
                    114:       IVCORR=1                                                          01110001
                    115:       WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR                          01120001
                    116:    21 CONTINUE                                                          01130001
                    117: C                                                                       01140001
                    118: C      ****  TEST 002  ****                                             01150001
                    119: C     TEST - 002    FORCE FAIL CODE TO BE EXECUTED                      01160001
                    120: C                                                                       01170001
                    121:       IF (ICZERO) 30020,20,30020                                        01180001
                    122:    20 CONTINUE                                                          01190001
                    123:       IVTNUM=2                                                          01200001
                    124:       GO TO 40020                                                       01210001
                    125: 30020 IVDELE=IVDELE+1                                                   01220001
                    126:       WRITE (I02,80003) IVTNUM                                          01230001
                    127:       IF (ICZERO) 40020,31,40020                                        01240001
                    128: 40020 IF (IVTNUM-1) 20020, 10020, 20020                                 01250001
                    129: 10020 IVPASS=IVPASS+1                                                   01260001
                    130:       WRITE (I02,80001) IVTNUM                                          01270001
                    131:       GO TO 31                                                          01280001
                    132: 20020 IVFAIL=IVFAIL+1                                                   01290001
                    133:       IVCOMP=IVTNUM                                                     01300001
                    134:       IVCORR=2                                                          01310001
                    135:       WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR                          01320001
                    136:    31 CONTINUE                                                          01330001
                    137: C                                                                       01340001
                    138: C      ****  TEST 003  ****                                             01350001
                    139: C     TEST 003 - DELETE PROCEDURE TESTED                                01360001
                    140: C                                                                       01370001
                    141:       IF (ICZERO) 30030,30,30030                                        01380001
                    142:    30 CONTINUE                                                          01390001
                    143: C     IVTNUM=5000                                                       01400001
                    144: C     GO TO 40030                                                       01410001
                    145: 30030 IVDELE=IVDELE+1                                                   01420001
                    146:       IVTNUM=3                                                          01430001
                    147:       WRITE (I02,80003) IVTNUM                                          01440001
                    148:       IF (ICZERO) 40030,99999,40030                                     01450001
                    149: 40030 IF (IVTNUM - 5000) 20030,10030,20030                              01460001
                    150: 10030 IVPASS=IVPASS +1                                                  01470001
                    151:       WRITE (I02,80001) IVTNUM                                          01480001
                    152:       GO TO 99999                                                       01490001
                    153: 20030 IVFAIL=IVFAIL+1                                                   01500001
                    154:       IVCOMP=IVTNUM                                                     01510001
                    155:       IVCORR=5000                                                       01520001
                    156:       WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR                          01530001
                    157: C                                                                       01540001
                    158: C     WRITE PAGE FOOTINGS AND RUN SUMMARIES                             01550001
                    159: 99999 CONTINUE                                                          01560001
                    160:       WRITE (I02,90002)                                                 01570001
                    161:       WRITE (I02,90006)                                                 01580001
                    162:       WRITE (I02,90002)                                                 01590001
                    163:       WRITE (I02,90002)                                                 01600001
                    164:       WRITE (I02,90007)                                                 01610001
                    165:       WRITE (I02,90002)                                                 01620001
                    166:       WRITE (I02,90008)  IVFAIL                                         01630001
                    167:       WRITE (I02,90009) IVPASS                                          01640001
                    168:       WRITE (I02,90010) IVDELE                                          01650001
                    169: C                                                                       01660001
                    170: C                                                                       01670001
                    171: C     SPECIAL OUTPUT STATEMENTS FOR THIS ROUTINE                        01680001
                    172:       WRITE (I02,90000)                                                 01690001
                    173:       WRITE (I02,90002)                                                 01700001
                    174:       WRITE (I02,80031)                                                 01710001
                    175:       WRITE (I02,90002)                                                 01720001
                    176:       WRITE (I02,80010)                                                 01730001
                    177:       WRITE (I02,80020)                                                 01740001
                    178:       WRITE (I02,80030)                                                 01750001
                    179:       WRITE (I02,80032)                                                 01760001
                    180: C                                                                       01770001
                    181: C     TERMINATE ROUTINE EXECUTION                                       01780001
                    182:       STOP                                                              01790001
                    183: C                                                                       01800001
                    184: C     FORMAT STATEMENTS FOR PAGE HEADERS                                01810001
                    185: 90000 FORMAT (1H1)                                                      01820001
                    186: 90002 FORMAT (1H )                                                      01830001
                    187: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            01840001
                    188: 90003 FORMAT (1H ,21X,11HVERSION 1.0)                                   01850001
                    189: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)        01860001
                    190: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 01870001
                    191: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 01880001
                    192: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             01890001
                    193: C                                                                       01900001
                    194: C     FORMAT STATEMENTS FOR RUN SUMMARIES                               01910001
                    195: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED)                        01920001
                    196: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED)                              01930001
                    197: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED)                             01940001
                    198: C                                                                       01950001
                    199: C     FORMAT STATEMENTS FOR TEST RESULTS                                01960001
                    200: 80001 FORMAT (1H ,4X,I5,7X,4HPASS)                                      01970001
                    201: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL)                                      01980001
                    202: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED)                                   01990001
                    203: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         02000001
                    204: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    02010001
                    205: C                                                                       02020001
                    206: C     FORMATS FOR CURRENT ROUTINE                                       02030001
                    207: 80031 FORMAT (1H ,10X,39HTHE PROGRAM FM001 EXECUTED CORRECTLY IF)       02040001
                    208: 80010 FORMAT (1H ,15X,13HTEST 1 PASSED)                                 02050001
                    209: 80020 FORMAT (1H ,15X,42HTEST 2 FAILED WITH COMPUTED AND CORRECT =2)    02060001
                    210: 80030 FORMAT (1H ,15X,18HTEST 3 WAS DELETED)                            02070001
                    211: 80032 FORMAT (1H ,15X,34HTHE RUN SUMMARY TOTALS ALL EQUAL 1)            02080001
                    212: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM001)                          02090001
                    213:       END                                                               02100001

unix.superglobalmegacorp.com

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