Annotation of cci/usr/src/usr.bin/f77/testf77/tests/FM002.f, revision 1.1.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.