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

1.1     ! root        1: C                                                                       00010013
        !             2: C     DATE***82/08/02*18.33.46
        !             3: C     OWNER  PRE/850703/TC-85-   -410/    /FSTC/278FCVS*F78UBP20/
        !             4: C     AUDIT  FCVS78 V2.0
        !             5: C     COMMENT SECTION.                                                  00020013
        !             6: C                                                                       00030013
        !             7: C     FM013                                                             00040013
        !             8: C                                                                       00050013
        !             9: C             THIS ROUTINE TESTS THE FORTRAN  ASSIGNED GO TO STATEMENT  00060013
        !            10: C     AS DESCRIBED IN SECTION 11.3 (ASSIGNED GO TO STATEMENT). FIRST A  00070013
        !            11: C     STATEMENT LABEL IS ASSIGNED TO AN INTEGER VARIABLE IN THE ASSIGN  00080013
        !            12: C     STATEMENT.  SECONDLY A BRANCH IS MADE IN AN ASSIGNED GO TO        00090013
        !            13: C     STATEMENT USING THE INTEGER VARIABLE AS THE BRANCH CONTROLLER     00100013
        !            14: C     IN A LIST OF POSSIBLE STATEMENT NUMBERS TO BE BRANCHED TO.        00110013
        !            15: C                                                                       00120013
        !            16: C      REFERENCES                                                       00130013
        !            17: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00140013
        !            18: C              X3.9-1978                                                00150013
        !            19: C                                                                       00160013
        !            20: C        SECTION 10.3, STATEMENT LABEL ASSIGNMENT (ASSIGN) STATEMENT    00170013
        !            21: C        SECTION 11.3, ASSIGNED GO TO STATEMENT                         00180013
        !            22: C                                                                       00190013
        !            23: C                                                                       00200013
        !            24: C      **********************************************************       00210013
        !            25: C                                                                       00220013
        !            26: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00230013
        !            27: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD  00240013
        !            28: C     PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00250013
        !            29: C     FEDERAL COBOL COMPILER TESTING SERVICE.  THE FORTRAN COMPILER     00260013
        !            30: C     VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00270013
        !            31: C     DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT ROUTINE IS A FORTRAN   00280013
        !            32: C     PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC  00290013
        !            33: C     LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00300013
        !            34: C     OF EXECUTING THESE TESTS.                                         00310013
        !            35: C                                                                       00320013
        !            36: C         THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00330013
        !            37: C     FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978.                 00340013
        !            38: C                                                                       00350013
        !            39: C         SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO -             00360013
        !            40: C                                                                       00370013
        !            41: C                  DEPARTMENT OF THE NAVY                               00380013
        !            42: C                  FEDERAL COBOL COMPILER TESTING SERVICE               00390013
        !            43: C                  WASHINGTON, D.C.  20376                              00400013
        !            44: C                                                                       00410013
        !            45: C      **********************************************************       00420013
        !            46: C                                                                       00430013
        !            47: C                                                                       00440013
        !            48: C                                                                       00450013
        !            49: C     INITIALIZATION SECTION                                            00460013
        !            50: C                                                                       00470013
        !            51: C     INITIALIZE CONSTANTS                                              00480013
        !            52: C      **************                                                   00490013
        !            53: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER.         00500013
        !            54:       I01 = 5                                                           00510013
        !            55: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER.             00520013
        !            56:       I02 = 6                                                           00530013
        !            57: C     SYSTEM ENVIRONMENT SECTION                                        00540013
        !            58: C                                                                       00550013
        !            59:       I01 = 5                                                           00560013
        !            60: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00570013
        !            61: C     (UNIT NUMBER FOR CARD READER).                                    00580013
        !            62: CX011    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00590013
        !            63: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00600013
        !            64: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00610013
        !            65: C                                                                       00620013
        !            66:       I02 = 6                                                           00630013
        !            67: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00640013
        !            68: C     (UNIT NUMBER FOR PRINTER).                                        00650013
        !            69: CX021    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00660013
        !            70: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00670013
        !            71: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00680013
        !            72: C                                                                       00690013
        !            73:       IVPASS=0                                                          00700013
        !            74:       IVFAIL=0                                                          00710013
        !            75:       IVDELE=0                                                          00720013
        !            76:       ICZERO=0                                                          00730013
        !            77: C                                                                       00740013
        !            78: C     WRITE PAGE HEADERS                                                00750013
        !            79:       WRITE (I02,90000)                                                 00760013
        !            80:       WRITE (I02,90001)                                                 00770013
        !            81:       WRITE (I02,90002)                                                 00780013
        !            82:       WRITE (I02, 90002)                                                00790013
        !            83:       WRITE (I02,90003)                                                 00800013
        !            84:       WRITE (I02,90002)                                                 00810013
        !            85:       WRITE (I02,90004)                                                 00820013
        !            86:       WRITE (I02,90002)                                                 00830013
        !            87:       WRITE (I02,90011)                                                 00840013
        !            88:       WRITE (I02,90002)                                                 00850013
        !            89:       WRITE (I02,90002)                                                 00860013
        !            90:       WRITE (I02,90005)                                                 00870013
        !            91:       WRITE (I02,90006)                                                 00880013
        !            92:       WRITE (I02,90002)                                                 00890013
        !            93:       IVTNUM = 126                                                      00900013
        !            94: C                                                                       00910013
        !            95: C     TEST 126  -  THIS TESTS THE SIMPLE ASSIGN STATEMENT IN PREPARATION00920013
        !            96: C           FOR THE ASSIGNED GO TO TEST TO FOLLOW.                      00930013
        !            97: C           THE ASSIGNED GO TO IS THE SIMPLIST FORM OF THE STATEMENT.   00940013
        !            98: C                                                                       00950013
        !            99: C                                                                       00960013
        !           100:       IF (ICZERO) 31260, 1260, 31260                                    00970013
        !           101:  1260 CONTINUE                                                          00980013
        !           102:       ASSIGN 1263 TO I                                                  00990013
        !           103:       GO TO I, (1262,1263,1264)                                         01000013
        !           104:  1262 ICON01 = 1262                                                     01010013
        !           105:       GO TO 1265                                                        01020013
        !           106:  1263 ICON01 = 1263                                                     01030013
        !           107:       GO TO 1265                                                        01040013
        !           108:  1264 ICON01 = 1264                                                     01050013
        !           109:  1265 CONTINUE                                                          01060013
        !           110:       GO TO 41260                                                       01070013
        !           111: 31260 IVDELE = IVDELE + 1                                               01080013
        !           112:       WRITE (I02,80003) IVTNUM                                          01090013
        !           113:       IF (ICZERO) 41260, 1271, 41260                                    01100013
        !           114: 41260 IF ( ICON01 - 1263 )  21260, 11260, 21260                         01110013
        !           115: 11260 IVPASS = IVPASS + 1                                               01120013
        !           116:       WRITE (I02,80001) IVTNUM                                          01130013
        !           117:       GO TO 1271                                                        01140013
        !           118: 21260 IVFAIL = IVFAIL + 1                                               01150013
        !           119:       IVCOMP=ICON01                                                     01160013
        !           120:       IVCORR = 1263                                                     01170013
        !           121:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01180013
        !           122:  1271 CONTINUE                                                          01190013
        !           123:       IVTNUM = 127                                                      01200013
        !           124: C                                                                       01210013
        !           125: C     TEST 127  -  THIS IS A TEST OF MORE COMPLEX BRANCHING USING       01220013
        !           126: C           THE ASSIGN AND ASSIGNED GO TO STATEMENTS.  THIS TEST IS NOT 01230013
        !           127: C           INTENDED TO BE AN EXAMPLE OF STRUCTURED PROGRAMMING.        01240013
        !           128: C                                                                       01250013
        !           129: C                                                                       01260013
        !           130:       IF (ICZERO) 31270, 1270, 31270                                    01270013
        !           131:  1270 CONTINUE                                                          01280013
        !           132:       IVON01=0                                                          01290013
        !           133:  1272 ASSIGN 1273 TO J                                                  01300013
        !           134:       IVON01=IVON01+1                                                   01310013
        !           135:       GO TO 1276                                                        01320013
        !           136:  1273 ASSIGN 1274 TO J                                                  01330013
        !           137:       IVON01=IVON01 * 10 + 2                                            01340013
        !           138:       GO TO 1276                                                        01350013
        !           139:  1274 ASSIGN 1275 TO J                                                  01360013
        !           140:       IVON01=IVON01 * 100 + 3                                           01370013
        !           141:       GO TO 1276                                                        01380013
        !           142:  1275 GO TO 1277                                                        01390013
        !           143:  1276 GO TO J, ( 1272, 1273, 1274, 1275 )                               01400013
        !           144:  1277 CONTINUE                                                          01410013
        !           145:       GO TO 41270                                                       01420013
        !           146: 31270 IVDELE = IVDELE + 1                                               01430013
        !           147:       WRITE (I02,80003) IVTNUM                                          01440013
        !           148:       IF (ICZERO) 41270, 1281, 41270                                    01450013
        !           149: 41270 IF ( IVON01 - 1203 )  21270, 11270, 21270                         01460013
        !           150: 11270 IVPASS = IVPASS + 1                                               01470013
        !           151:       WRITE (I02,80001) IVTNUM                                          01480013
        !           152:       GO TO 1281                                                        01490013
        !           153: 21270 IVFAIL = IVFAIL + 1                                               01500013
        !           154:       IVCOMP=IVON01                                                     01510013
        !           155:       IVCORR=1203                                                       01520013
        !           156:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01530013
        !           157:  1281 CONTINUE                                                          01540013
        !           158:       IVTNUM = 128                                                      01550013
        !           159: C                                                                       01560013
        !           160: C     TEST 128  -  TEST OF THE ASSIGNED GO TO WITH ALL OF THE           01570013
        !           161: C           STATEMENT NUMBERS IN THE ASSIGNED GO TO LIST THE SAME       01580013
        !           162: C           VALUE EXCEPT FOR ONE.                                       01590013
        !           163: C                                                                       01600013
        !           164: C                                                                       01610013
        !           165:       IF (ICZERO) 31280, 1280, 31280                                    01620013
        !           166:  1280 CONTINUE                                                          01630013
        !           167:       ICON01=0                                                          01640013
        !           168:       ASSIGN 1283 TO K                                                  01650013
        !           169:       GO TO K, ( 1282, 1282, 1282, 1282, 1282, 1282, 1283 )             01660013
        !           170:  1282 ICON01 = 0                                                        01670013
        !           171:       GO TO 1284                                                        01680013
        !           172:  1283 ICON01 = 1                                                        01690013
        !           173:  1284 CONTINUE                                                          01700013
        !           174:       GO TO 41280                                                       01710013
        !           175: 31280 IVDELE = IVDELE + 1                                               01720013
        !           176:       WRITE (I02,80003) IVTNUM                                          01730013
        !           177:       IF (ICZERO) 41280, 1291, 41280                                    01740013
        !           178: 41280 IF ( ICON01 - 1 )  21280, 11280, 21280                            01750013
        !           179: 11280 IVPASS = IVPASS + 1                                               01760013
        !           180:       WRITE (I02,80001) IVTNUM                                          01770013
        !           181:       GO TO 1291                                                        01780013
        !           182: 21280 IVFAIL = IVFAIL + 1                                               01790013
        !           183:       IVCOMP=ICON01                                                     01800013
        !           184:       IVCORR=1                                                          01810013
        !           185:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01820013
        !           186:  1291 CONTINUE                                                          01830013
        !           187:       IVTNUM = 129                                                      01840013
        !           188: C                                                                       01850013
        !           189: C     TEST 129  -  THIS TESTS THE ASSIGN STATEMENT IN CONJUNCTION       01860013
        !           190: C           WITH THE NORMAL ARITHMETIC ASSIGN STATEMENT.  THE VALUE     01870013
        !           191: C           OF THE INDEX FOR THE ASSIGNED GO TO STATEMENT IS CHANGED BY 01880013
        !           192: C           THE COMBINATION OF STATEMENTS.                              01890013
        !           193: C                                                                       01900013
        !           194: C                                                                       01910013
        !           195:       IF (ICZERO) 31290, 1290, 31290                                    01920013
        !           196:  1290 CONTINUE                                                          01930013
        !           197:       ICON01=0                                                          01940013
        !           198:       ASSIGN 1292 TO L                                                  01950013
        !           199:       L = 1293                                                          01960013
        !           200:       ASSIGN 1294 TO L                                                  01970013
        !           201:       GO TO L, ( 1294, 1293, 1292 )                                     01980013
        !           202:  1292 ICON01 = 0                                                        01990013
        !           203:       GO TO 1295                                                        02000013
        !           204:  1293 ICON01 = 0                                                        02010013
        !           205:       GO TO 1295                                                        02020013
        !           206:  1294 ICON01 = 1                                                        02030013
        !           207:  1295 CONTINUE                                                          02040013
        !           208:       GO TO 41290                                                       02050013
        !           209: 31290 IVDELE = IVDELE + 1                                               02060013
        !           210:       WRITE (I02,80003) IVTNUM                                          02070013
        !           211:       IF (ICZERO) 41290, 1301, 41290                                    02080013
        !           212: 41290 IF ( ICON01 - 1 )  21290, 11290, 21290                            02090013
        !           213: 11290 IVPASS = IVPASS + 1                                               02100013
        !           214:       WRITE (I02,80001) IVTNUM                                          02110013
        !           215:       GO TO 1301                                                        02120013
        !           216: 21290 IVFAIL = IVFAIL + 1                                               02130013
        !           217:       IVCOMP=ICON01                                                     02140013
        !           218:       IVCORR=1                                                          02150013
        !           219:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02160013
        !           220:  1301 CONTINUE                                                          02170013
        !           221:       IVTNUM = 130                                                      02180013
        !           222: C                                                                       02190013
        !           223: C     TEST 130  -  THIS IS A TEST OF A LOOP USING A COMBINATION OF THE  02200013
        !           224: C           ASSIGNED GO TO STATEMENT AND THE ARITHMETIC IF STATEMENT.   02210013
        !           225: C           THE LOOP SHOULD BE EXECUTED ELEVEN (11) TIMES THEN CONTROL  02220013
        !           226: C           SHOULD PASS TO THE CHECK OF THE VALUE FOR IVON01.           02230013
        !           227: C                                                                       02240013
        !           228: C                                                                       02250013
        !           229:       IF (ICZERO) 31300, 1300, 31300                                    02260013
        !           230:  1300 CONTINUE                                                          02270013
        !           231:       IVON01=0                                                          02280013
        !           232:  1302 ASSIGN 1302 TO M                                                  02290013
        !           233:       IVON01=IVON01+1                                                   02300013
        !           234:       IF ( IVON01 - 10 )  1303, 1303, 1304                              02310013
        !           235:  1303 GO TO 1305                                                        02320013
        !           236:  1304 ASSIGN 1306 TO M                                                  02330013
        !           237:  1305 GO TO M, ( 1302, 1306 )                                           02340013
        !           238:  1306 CONTINUE                                                          02350013
        !           239:       GO TO 41300                                                       02360013
        !           240: 31300 IVDELE = IVDELE + 1                                               02370013
        !           241:       WRITE (I02,80003) IVTNUM                                          02380013
        !           242:       IF (ICZERO) 41300, 1311, 41300                                    02390013
        !           243: 41300 IF ( IVON01 - 11 )  21300, 11300, 21300                           02400013
        !           244: 11300 IVPASS = IVPASS + 1                                               02410013
        !           245:       WRITE (I02,80001) IVTNUM                                          02420013
        !           246:       GO TO 1311                                                        02430013
        !           247: 21300 IVFAIL = IVFAIL + 1                                               02440013
        !           248:       IVCOMP=IVON01                                                     02450013
        !           249:       IVCORR=11                                                         02460013
        !           250:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02470013
        !           251:  1311 CONTINUE                                                          02480013
        !           252: C                                                                       02490013
        !           253: C     WRITE PAGE FOOTINGS AND RUN SUMMARIES                             02500013
        !           254: 99999 CONTINUE                                                          02510013
        !           255:       WRITE (I02,90002)                                                 02520013
        !           256:       WRITE (I02,90006)                                                 02530013
        !           257:       WRITE (I02,90002)                                                 02540013
        !           258:       WRITE (I02,90002)                                                 02550013
        !           259:       WRITE (I02,90007)                                                 02560013
        !           260:       WRITE (I02,90002)                                                 02570013
        !           261:       WRITE (I02,90008)  IVFAIL                                         02580013
        !           262:       WRITE (I02,90009) IVPASS                                          02590013
        !           263:       WRITE (I02,90010) IVDELE                                          02600013
        !           264: C                                                                       02610013
        !           265: C                                                                       02620013
        !           266: C     TERMINATE ROUTINE EXECUTION                                       02630013
        !           267:       STOP                                                              02640013
        !           268: C                                                                       02650013
        !           269: C     FORMAT STATEMENTS FOR PAGE HEADERS                                02660013
        !           270: 90000 FORMAT (1H1)                                                      02670013
        !           271: 90002 FORMAT (1H )                                                      02680013
        !           272: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            02690013
        !           273: 90003 FORMAT (1H ,21X,11HVERSION 1.0)                                   02700013
        !           274: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)        02710013
        !           275: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 02720013
        !           276: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 02730013
        !           277: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             02740013
        !           278: C                                                                       02750013
        !           279: C     FORMAT STATEMENTS FOR RUN SUMMARIES                               02760013
        !           280: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED)                        02770013
        !           281: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED)                              02780013
        !           282: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED)                             02790013
        !           283: C                                                                       02800013
        !           284: C     FORMAT STATEMENTS FOR TEST RESULTS                                02810013
        !           285: 80001 FORMAT (1H ,4X,I5,7X,4HPASS)                                      02820013
        !           286: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL)                                      02830013
        !           287: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED)                                   02840013
        !           288: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         02850013
        !           289: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    02860013
        !           290: C                                                                       02870013
        !           291: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM013)                          02880013
        !           292:       END                                                               02890013

unix.superglobalmegacorp.com

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