Annotation of cci/usr/src/usr.bin/f77/testf77/tests/FM002.f, revision 1.1

1.1     ! root        1: C     COMMENT SECTION                                                   00010002
        !             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                                                                       00020002
        !             6: C     FM002                                                             00030002
        !             7: C                                                                       00040002
        !             8: C         THIS ROUTINE CHECKS THAT COMMENT LINES WHICH HAVE VALID       00050002
        !             9: C     FORTRAN STATEMENTS DO NOT AFFECT THE EXECUTION OF THE PROGRAM     00060002
        !            10: C     IN ANY WAY.                                                       00070002
        !            11: C                                                                       00080002
        !            12: C      REFERENCES                                                       00090002
        !            13: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00100002
        !            14: C              X3.9-1978                                                00110002
        !            15: C                                                                       00120002
        !            16: C                   SECTION 3.2.1, COMMENT LINE                         00130002
        !            17: C                                                                       00140002
        !            18: C      **********************************************************       00150002
        !            19: C                                                                       00160002
        !            20: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00170002
        !            21: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD  00180002
        !            22: C     PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00190002
        !            23: C     FEDERAL COBOL COMPILER TESTING SERVICE.  THE FORTRAN COMPILER     00200002
        !            24: C     VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00210002
        !            25: C     DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT ROUTINE IS A FORTRAN   00220002
        !            26: C     PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC  00230002
        !            27: C     LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00240002
        !            28: C     OF EXECUTING THESE TESTS.                                         00250002
        !            29: C                                                                       00260002
        !            30: C         THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00270002
        !            31: C     FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978.                 00280002
        !            32: C                                                                       00290002
        !            33: C         SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO -             00300002
        !            34: C                                                                       00310002
        !            35: C                  DEPARTMENT OF THE NAVY                               00320002
        !            36: C                  FEDERAL COBOL COMPILER TESTING SERVICE               00330002
        !            37: C                  WASHINGTON, D.C.  20376                              00340002
        !            38: C                                                                       00350002
        !            39: C      **********************************************************       00360002
        !            40: C                                                                       00370002
        !            41: C                                                                       00380002
        !            42: C                                                                       00390002
        !            43: C     INITIALIZATION SECTION                                            00400002
        !            44: C                                                                       00410002
        !            45: C     INITIALIZE CONSTANTS                                              00420002
        !            46: C      **************                                                   00430002
        !            47: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER.         00440002
        !            48:       I01 = 5                                                           00450002
        !            49: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER.             00460002
        !            50:       I02 = 6                                                           00470002
        !            51: C     SYSTEM ENVIRONMENT SECTION                                        00480002
        !            52: C                                                                       00490002
        !            53:       I01 = 5                                                           00500002
        !            54: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00510002
        !            55: C     (UNIT NUMBER FOR CARD READER).                                    00520002
        !            56: CX011    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00530002
        !            57: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00540002
        !            58: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00550002
        !            59: C                                                                       00560002
        !            60:       I02 = 6                                                           00570002
        !            61: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00580002
        !            62: C     (UNIT NUMBER FOR PRINTER).                                        00590002
        !            63: CX021    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00600002
        !            64: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00610002
        !            65: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00620002
        !            66: C                                                                       00630002
        !            67:       IVPASS=0                                                          00640002
        !            68:       IVFAIL=0                                                          00650002
        !            69:       IVDELE=0                                                          00660002
        !            70:       ICZERO=0                                                          00670002
        !            71: C                                                                       00680002
        !            72: C     WRITE PAGE HEADERS                                                00690002
        !            73:       WRITE (I02,90000)                                                 00700002
        !            74:       WRITE (I02,90001)                                                 00710002
        !            75:       WRITE (I02,90002)                                                 00720002
        !            76:       WRITE (I02, 90002)                                                00730002
        !            77:       WRITE (I02,90003)                                                 00740002
        !            78:       WRITE (I02,90002)                                                 00750002
        !            79:       WRITE (I02,90004)                                                 00760002
        !            80:       WRITE (I02,90002)                                                 00770002
        !            81:       WRITE (I02,90011)                                                 00780002
        !            82:       WRITE (I02,90002)                                                 00790002
        !            83:       WRITE (I02,90002)                                                 00800002
        !            84:       WRITE (I02,90005)                                                 00810002
        !            85:       WRITE (I02,90006)                                                 00820002
        !            86:       WRITE (I02,90002)                                                 00830002
        !            87: C     TEST SECTION                                                      00840002
        !            88: C                                                                       00850002
        !            89:    41 CONTINUE                                                          00860002
        !            90:       IVTNUM=4                                                          00870002
        !            91: C                                                                       00880002
        !            92: C      ****  TEST 004  ****                                             00890002
        !            93: C     TEST 004  -  BLANK COMMENT LINE                                   00900002
        !            94: C                                                                       00910002
        !            95:       IF (ICZERO) 30040,40,30040                                        00920002
        !            96:    40 CONTINUE                                                          00930002
        !            97:       IVON01=4                                                          00940002
        !            98: C                                                                       00950002
        !            99:       GO TO 40040                                                       00960002
        !           100: 30040 IVDELE=IVDELE+1                                                   00970002
        !           101:       WRITE (I02,80003) IVTNUM                                          00980002
        !           102:       IF (ICZERO) 40040, 51, 40040                                      00990002
        !           103: 40040 IF (IVON01 - 4) 20040, 10040, 20040                               01000002
        !           104: 10040 IVPASS=IVPASS+1                                                   01010002
        !           105:       WRITE (I02,80001) IVTNUM                                          01020002
        !           106:       GO TO 51                                                          01030002
        !           107: 20040 IVFAIL=IVFAIL+1                                                   01040002
        !           108:       IVCOMP=IVON01                                                     01050002
        !           109:       IVCORR=4                                                          01060002
        !           110:       WRITE (I02,80004) IVTNUM,IVCOMP,IVCORR                            01070002
        !           111:    51 CONTINUE                                                          01080002
        !           112:       IVTNUM=5                                                          01090002
        !           113: C                                                                       01100002
        !           114: C      ****  TEST 005  ****                                             01110002
        !           115: C     TEST 005  - GO TO IN COMMENT LINE                                 01120002
        !           116: C                                                                       01130002
        !           117:       IF (ICZERO) 30050, 50, 30050                                      01140002
        !           118:    50 CONTINUE                                                          01150002
        !           119:       IVON01 = 3                                                        01160002
        !           120: C     GO TO 20050                                                       01170002
        !           121:       IVON01=5                                                          01180002
        !           122:       GO TO 40050                                                       01190002
        !           123: 30050 IVDELE=IVDELE+1                                                   01200002
        !           124:       WRITE (I02,80003) IVTNUM                                          01210002
        !           125:       IF (ICZERO) 40050, 61, 40050                                      01220002
        !           126: 40050 IF (IVON01 - 5) 20050,10050,20050                                 01230002
        !           127: 10050 IVPASS=IVPASS+1                                                   01240002
        !           128:       WRITE (I02,80001) IVTNUM                                          01250002
        !           129:       GO TO 61                                                          01260002
        !           130: 20050 IVFAIL=IVFAIL+1                                                   01270002
        !           131:       IVCOMP=IVON01                                                     01280002
        !           132:       IVCORR=5                                                          01290002
        !           133:       WRITE (I02,80004) IVTNUM,IVCOMP,IVCORR                            01300002
        !           134:    61 CONTINUE                                                          01310002
        !           135:       IVTNUM=6                                                          01320002
        !           136: C                                                                       01330002
        !           137: C      ****  TEST 006  ****                                             01340002
        !           138: C     TEST 006 - INTEGER ASSIGNMENT STATEMENT IN COMMENT LINE           01350002
        !           139: C                                                                       01360002
        !           140:       IF (ICZERO) 30060,60,30060                                        01370002
        !           141:    60 CONTINUE                                                          01380002
        !           142:       IVON01=6                                                          01390002
        !           143: C     IVON01=1                                                          01400002
        !           144:       GO TO 40060                                                       01410002
        !           145: 30060 IVDELE=IVDELE+1                                                   01420002
        !           146:       WRITE (I02,80003) IVTNUM                                          01430002
        !           147:       IF (ICZERO) 40060,71,40060                                        01440002
        !           148: 40060 IF (IVON01-6) 20060,10060,20060                                   01450002
        !           149: 10060 IVPASS=IVPASS+1                                                   01460002
        !           150:       WRITE (I02,80001) IVTNUM                                          01470002
        !           151:       GO TO 71                                                          01480002
        !           152: 20060 IVFAIL=IVFAIL+1                                                   01490002
        !           153:       IVCOMP=IVON01                                                     01500002
        !           154:       IVCORR=6                                                          01510002
        !           155:       WRITE (I02,80004) IVTNUM,IVCOMP,IVCORR                            01520002
        !           156:    71 CONTINUE                                                          01530002
        !           157:       IVTNUM=7                                                          01540002
        !           158: C                                                                       01550002
        !           159: C      ****  TEST  007  ****                                            01560002
        !           160: C     TEST 007 - INTEGER ASSIGNMENT STATEMENT IN COMMENT LINE           01570002
        !           161: C                INTEGER EXPRESSION TO RIGHT OF =                       01580002
        !           162: C                                                                       01590002
        !           163:       IF (ICZERO) 30070,70,30070                                        01600002
        !           164:    70 CONTINUE                                                          01610002
        !           165:       IVON02=6                                                          01620002
        !           166:       IVON01=7                                                          01630002
        !           167: C     IVON01= 3*IVON02                                                  01640002
        !           168:       GO TO 40070                                                       01650002
        !           169: 30070 IVDELE=IVDELE+1                                                   01660002
        !           170:       WRITE (I02,80003) IVTNUM                                          01670002
        !           171:       IF (ICZERO) 40070,81,40070                                        01680002
        !           172: 40070 IF (IVON01-7) 20070,10070,20070                                   01690002
        !           173: 10070 IVPASS=IVPASS+1                                                   01700002
        !           174:       WRITE (I02,80001) IVTNUM                                          01710002
        !           175:       GO TO 81                                                          01720002
        !           176: 20070 IVFAIL=IVFAIL+1                                                   01730002
        !           177:       IVCOMP=IVON01                                                     01740002
        !           178:       IVCORR=7                                                          01750002
        !           179:       WRITE (I02,80004) IVTNUM,IVCOMP,IVCORR                            01760002
        !           180:    81 CONTINUE                                                          01770002
        !           181:       IVTNUM=8                                                          01780002
        !           182: C                                                                       01790002
        !           183: C      ****  TEST 008  ****                                             01800002
        !           184: C     TEST 008 - IF STATEMENT IN COMMENT LINE                           01810002
        !           185: C                                                                       01820002
        !           186:       IF (ICZERO) 30080,80,30080                                        01830002
        !           187:    80 CONTINUE                                                          01840002
        !           188:       IVON01=300                                                        01850002
        !           189: C     IF (IVON01) 20080,20080,20080                                     01860002
        !           190:       IVON01=8                                                          01870002
        !           191:       GO TO 40080                                                       01880002
        !           192: 30080 IVDELE=IVDELE+1                                                   01890002
        !           193:       WRITE (I02,80003) IVTNUM                                          01900002
        !           194:       IF (ICZERO) 40080,91,40080                                        01910002
        !           195: 40080 IF (IVON01-8) 20080,10080,20080                                   01920002
        !           196: 10080 IVPASS=IVPASS+1                                                   01930002
        !           197:       WRITE (I02,80001) IVTNUM                                          01940002
        !           198:       GO TO 91                                                          01950002
        !           199: 20080 IVFAIL=IVFAIL+1                                                   01960002
        !           200:       IVCOMP=IVON01                                                     01970002
        !           201:       IVCORR=8                                                          01980002
        !           202:       WRITE (I02,80004) IVTNUM,IVCOMP,IVCORR                            01990002
        !           203:    91 CONTINUE                                                          02000002
        !           204:       IVTNUM=9                                                          02010002
        !           205: C                                                                       02020002
        !           206: C      ****  TEST 009  ****                                             02030002
        !           207: C     TEST 009 - WRITE STATEMENT IN A COMMENT LINE                      02040002
        !           208: C                                                                       02050002
        !           209:       IF (ICZERO) 30090,90,30090                                        02060002
        !           210:    90 CONTINUE                                                          02070002
        !           211:       IVON01=200                                                        02080002
        !           212: C  92 WRITE (I02,80002)  IVTNUM                                         02090002
        !           213:       IVON01=9                                                          02100002
        !           214:       GO TO 40090                                                       02110002
        !           215: 30090 IVDELE=IVDELE+1                                                   02120002
        !           216:       WRITE (I02,80003) IVTNUM                                          02130002
        !           217:       IF (ICZERO) 40090,101,40090                                       02140002
        !           218: 40090 IF (IVON01-9) 20090,10090,20090                                   02150002
        !           219: 10090 IVPASS=IVPASS+1                                                   02160002
        !           220:       WRITE (I02,80001) IVTNUM                                          02170002
        !           221:       GO TO 101                                                         02180002
        !           222: 20090 IVFAIL=IVFAIL+1                                                   02190002
        !           223:       IVCOMP=IVON01                                                     02200002
        !           224:       IVCORR=9                                                          02210002
        !           225:       WRITE (I02,80004) IVTNUM,IVCOMP,IVCORR                            02220002
        !           226:   101 IVTNUM=10                                                         02230002
        !           227: C                                                                       02240002
        !           228: C      ****  TEST 010  ****                                             02250002
        !           229: C     TEST 010 - STATEMENT LABEL IN COMMENT LINE                        02260002
        !           230: C                                                                       02270002
        !           231:       IF (ICZERO) 30100,100,30100                                       02280002
        !           232:   100 CONTINUE                                                          02290002
        !           233:       GO TO 102                                                         02300002
        !           234: C 102 WRITE (I02,80002)                                                 02310002
        !           235: C     GO TO 111                                                         02320002
        !           236:   102 IVON01=10                                                         02330002
        !           237:       GO TO 40100                                                       02340002
        !           238: 30100 IVDELE=IVDELE+1                                                   02350002
        !           239:       WRITE (I02,80003) IVTNUM                                          02360002
        !           240:       IF (ICZERO) 40100,111,40100                                       02370002
        !           241: 40100 IF (IVON01-10) 20100,10100,20100                                  02380002
        !           242: 10100 IVPASS=IVPASS+1                                                   02390002
        !           243:       WRITE (I02,80001) IVTNUM                                          02400002
        !           244:       GO TO 111                                                         02410002
        !           245: 20100 IVFAIL=IVFAIL+1                                                   02420002
        !           246:       IVCOMP=IVON01                                                     02430002
        !           247:       IVCORR=10                                                         02440002
        !           248:       WRITE (I02,80004) IVTNUM,IVCOMP,IVCORR                            02450002
        !           249:   111 CONTINUE                                                          02460002
        !           250:       IVTNUM=11                                                         02470002
        !           251: C                                                                       02480002
        !           252: C      ****  TEST 011  ****                                             02490002
        !           253: C     TEST 011 - CONTINUE IN COMMENT LINE                               02500002
        !           254: C                FOLLOWED BY INTEGER ASSIGNMENT STATEMENT IN COMMENT    02510002
        !           255: C                                                                       02520002
        !           256:       IF (ICZERO) 30110,110,30110                                       02530002
        !           257:   110 IVON01=11                                                         02540002
        !           258: C     CONTINUE                                                          02550002
        !           259: C     IVON01=7000                                                       02560002
        !           260:       GO TO 40110                                                       02570002
        !           261: 30110 IVDELE=IVDELE+1                                                   02580002
        !           262:       WRITE (I02,80003) IVTNUM                                          02590002
        !           263:       IF (ICZERO) 40110,121,40110                                       02600002
        !           264: 40110 IF (IVON01 -11) 20110,10110,20110                                 02610002
        !           265: 10110 IVPASS=IVPASS+1                                                   02620002
        !           266:       WRITE (I02,80001) IVTNUM                                          02630002
        !           267:       GO TO 121                                                         02640002
        !           268: 20110 IVFAIL=IVFAIL+1                                                   02650002
        !           269:       IVCOMP=IVON01                                                     02660002
        !           270:       IVCORR=11                                                         02670002
        !           271:       WRITE (I02,80004) IVTNUM,IVCOMP,IVCORR                            02680002
        !           272:   121 CONTINUE                                                          02690002
        !           273:       IVTNUM=12                                                         02700002
        !           274: C                                                                       02710002
        !           275: C      ****  TEST 012  ****                                             02720002
        !           276: C     TEST 012 - INTEGER ASSIGNMENT STATEMENT IN COMMENT LINE           02730002
        !           277: C                                                                       02740002
        !           278:       IF (ICZERO) 30120,120,30120                                       02750002
        !           279:   120 CONTINUE                                                          02760002
        !           280:       IVON01=12                                                         02770002
        !           281: C     IVON01=IVON01+1                                                   02780002
        !           282:       GO TO 40120                                                       02790002
        !           283: 30120 IVDELE=IVDELE+1                                                   02800002
        !           284:       WRITE (I02,80003) IVTNUM                                          02810002
        !           285:       IF (ICZERO) 40120,99999,40120                                     02820002
        !           286: 40120 IF (IVON01 - 12) 20120,10120,20120                                02830002
        !           287: 10120 IVPASS=IVPASS+1                                                   02840002
        !           288:       WRITE (I02,80001) IVTNUM                                          02850002
        !           289:       GO TO 99999                                                       02860002
        !           290: 20120 IVFAIL=IVFAIL+1                                                   02870002
        !           291:       IVCOMP=IVON01                                                     02880002
        !           292:       IVCORR=12                                                         02890002
        !           293:       WRITE (I02,80004) IVTNUM,IVCOMP,IVCORR                            02900002
        !           294: C                                                                       02910002
        !           295: C     WRITE PAGE FOOTINGS AND RUN SUMMARIES                             02920002
        !           296: 99999 CONTINUE                                                          02930002
        !           297:       WRITE (I02,90002)                                                 02940002
        !           298:       WRITE (I02,90006)                                                 02950002
        !           299:       WRITE (I02,90002)                                                 02960002
        !           300:       WRITE (I02,90002)                                                 02970002
        !           301:       WRITE (I02,90007)                                                 02980002
        !           302:       WRITE (I02,90002)                                                 02990002
        !           303:       WRITE (I02,90008)  IVFAIL                                         03000002
        !           304:       WRITE (I02,90009) IVPASS                                          03010002
        !           305:       WRITE (I02,90010) IVDELE                                          03020002
        !           306: C                                                                       03030002
        !           307: C                                                                       03040002
        !           308: C     TERMINATE ROUTINE EXECUTION                                       03050002
        !           309:       STOP                                                              03060002
        !           310: C                                                                       03070002
        !           311: C     FORMAT STATEMENTS FOR PAGE HEADERS                                03080002
        !           312: 90000 FORMAT (1H1)                                                      03090002
        !           313: 90002 FORMAT (1H )                                                      03100002
        !           314: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            03110002
        !           315: 90003 FORMAT (1H ,21X,11HVERSION 1.0)                                   03120002
        !           316: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)        03130002
        !           317: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 03140002
        !           318: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 03150002
        !           319: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             03160002
        !           320: C                                                                       03170002
        !           321: C     FORMAT STATEMENTS FOR RUN SUMMARIES                               03180002
        !           322: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED)                        03190002
        !           323: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED)                              03200002
        !           324: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED)                             03210002
        !           325: C                                                                       03220002
        !           326: C     FORMAT STATEMENTS FOR TEST RESULTS                                03230002
        !           327: 80001 FORMAT (1H ,4X,I5,7X,4HPASS)                                      03240002
        !           328: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL)                                      03250002
        !           329: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED)                                   03260002
        !           330: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         03270002
        !           331: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    03280002
        !           332: C                                                                       03290002
        !           333: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM002)                          03300002
        !           334: C     COMMENT LINE BEFORE END STATEMENT                                 03310002
        !           335:       END                                                               03320002

unix.superglobalmegacorp.com

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