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

1.1     ! root        1: C     COMMENT SECTION.                                                  00010010
        !             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                                                                       00020010
        !             6: C      FM010                                                            00030010
        !             7: C                                                                       00040010
        !             8: C             THIS ROUTINE TESTS REFERENCE FORMAT OF FORTRAN STATEMENTS 00050010
        !             9: C     AND STATEMENT NUMBERS.  THE USE OF THE BLANK CHARACTER IS TESTED  00060010
        !            10: C     BOTH WITHIN THE STATEMENT NUMBER FIELD AND WITHIN THE FORTRAN     00070010
        !            11: C     STATEMENTS THEMSELVES.  LEADING ZERO IS TESTED FOR STATEMENTS AND 00080010
        !            12: C     INTEGER CONSTANTS.  VARIABLE NAMES WHICH LOOK VERY MUCH LIKE      00090010
        !            13: C     FORTRAN RESERVED WORDS ARE TESTED IN ARITHMETIC ASSIGNMENT        00100010
        !            14: C     STATEMENTS.  NAMING CONVENTIONS USED THROUGHOUT THE FCVS ARE      00110010
        !            15: C     TESTED ALSO IN ARITHMETIC ASSIGNMENT STATEMENTS.                  00120010
        !            16: C                                                                       00130010
        !            17: C      REFERENCES                                                       00140010
        !            18: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00150010
        !            19: C              X3.9-1978                                                00160010
        !            20: C                                                                       00170010
        !            21: C        SECTION 2.5, VARIABLES                                         00180010
        !            22: C        SECTION 3.1.6, BLANK CHARACTER                                 00190010
        !            23: C        SECTION 3.2.2, INITIAL LINES                                   00200010
        !            24: C        SECTION 3.4, STATEMENT LABELS                                  00210010
        !            25: C                                                                       00220010
        !            26: C                                                                       00230010
        !            27: C      **********************************************************       00240010
        !            28: C                                                                       00250010
        !            29: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00260010
        !            30: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD  00270010
        !            31: C     PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00280010
        !            32: C     FEDERAL COBOL COMPILER TESTING SERVICE.  THE FORTRAN COMPILER     00290010
        !            33: C     VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00300010
        !            34: C     DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT ROUTINE IS A FORTRAN   00310010
        !            35: C     PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC  00320010
        !            36: C     LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00330010
        !            37: C     OF EXECUTING THESE TESTS.                                         00340010
        !            38: C                                                                       00350010
        !            39: C         THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00360010
        !            40: C     FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978.                 00370010
        !            41: C                                                                       00380010
        !            42: C         SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO -             00390010
        !            43: C                                                                       00400010
        !            44: C                  DEPARTMENT OF THE NAVY                               00410010
        !            45: C                  FEDERAL COBOL COMPILER TESTING SERVICE               00420010
        !            46: C                  WASHINGTON, D.C.  20376                              00430010
        !            47: C                                                                       00440010
        !            48: C      **********************************************************       00450010
        !            49: C                                                                       00460010
        !            50: C                                                                       00470010
        !            51: C                                                                       00480010
        !            52: C     INITIALIZATION SECTION                                            00490010
        !            53: C                                                                       00500010
        !            54: C     INITIALIZE CONSTANTS                                              00510010
        !            55: C      **************                                                   00520010
        !            56: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER.         00530010
        !            57:       I01 = 5                                                           00540010
        !            58: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER.             00550010
        !            59:       I02 = 6                                                           00560010
        !            60: C     SYSTEM ENVIRONMENT SECTION                                        00570010
        !            61: C                                                                       00580010
        !            62:       I01 = 5                                                           00590010
        !            63: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00600010
        !            64: C     (UNIT NUMBER FOR CARD READER).                                    00610010
        !            65: CX011    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00620010
        !            66: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00630010
        !            67: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00640010
        !            68: C                                                                       00650010
        !            69:       I02 = 6                                                           00660010
        !            70: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00670010
        !            71: C     (UNIT NUMBER FOR PRINTER).                                        00680010
        !            72: CX021    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00690010
        !            73: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00700010
        !            74: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00710010
        !            75: C                                                                       00720010
        !            76:       IVPASS=0                                                          00730010
        !            77:       IVFAIL=0                                                          00740010
        !            78:       IVDELE=0                                                          00750010
        !            79:       ICZERO=0                                                          00760010
        !            80: C                                                                       00770010
        !            81: C     WRITE PAGE HEADERS                                                00780010
        !            82:       WRITE (I02,90000)                                                 00790010
        !            83:       WRITE (I02,90001)                                                 00800010
        !            84:       WRITE (I02,90002)                                                 00810010
        !            85:       WRITE (I02, 90002)                                                00820010
        !            86:       WRITE (I02,90003)                                                 00830010
        !            87:       WRITE (I02,90002)                                                 00840010
        !            88:       WRITE (I02,90004)                                                 00850010
        !            89:       WRITE (I02,90002)                                                 00860010
        !            90:       WRITE (I02,90011)                                                 00870010
        !            91:       WRITE (I02,90002)                                                 00880010
        !            92:       WRITE (I02,90002)                                                 00890010
        !            93:       WRITE (I02,90005)                                                 00900010
        !            94:       WRITE (I02,90006)                                                 00910010
        !            95:       WRITE (I02,90002)                                                 00920010
        !            96:  1001 CONTINUE                                                          00930010
        !            97:       IVTNUM = 100                                                      00940010
        !            98: C                                                                       00950010
        !            99: C      ****  TEST  100  ****                                            00960010
        !           100: C                                                                       00970010
        !           101: C     TEST 100  -  TO CHECK THE VARIOUS COMBINATIONS OF FORMING VARIABLE00980010
        !           102: C           NAMES.  THESE ARE ACTUALLY SYMBOLIC NAMES (ANSI X3.9-1978   00990010
        !           103: C           SECTION 2.2).  THIS IS BASICALLY A SYNTAX CHECK USING A     01000010
        !           104: C           COMBINATION OF FROM ONE TO SIX ALPHANUMERIC CHARACTERS WITH 01010010
        !           105: C           THE FIRST CHARACTER ALWAYS ALPHABETIC.  REFERENCE FORMAT IS 01020010
        !           106: C           ALSO CHECKED BY HAVING EACH ASSIGNMENT STATEMENT AN INITIAL 01030010
        !           107: C           LINE (SECTION 3.2.2).  THIS MEANS ZERO MAY APPEAR IN COLUMN 01040010
        !           108: C           SIX WITHOUT EFFECT, THAT LINES MAY BEGIN ANYWHERE FROM      01050010
        !           109: C           COLUMN SEVEN TO COLUMN 72, AND BLANKS MAY BE USED FREELY    01060010
        !           110: C           WITHOUT MEANING (3.1.6 BLANK CHARACTERS).                   01070010
        !           111: C                                                                       01080010
        !           112:       IF (ICZERO) 31000, 1000, 31000                                    01090010
        !           113:  1000 CONTINUE                                                          01100010
        !           114:       A=1.                                                              01110010
        !           115:       B =2.                                                             01120010
        !           116:       C =3.                                                             01130010
        !           117:       D   =4.                                                           01140010
        !           118:       E     =5.                                                         01150010
        !           119:       F      =6.                                                        01160010
        !           120:      0G                      =                   7.                     01170010
        !           121:                                         H=8.                            01180010
        !           122:                                                                      I=901190010
        !           123:       J  =  10                                                          01200010
        !           124:           K        =          11                                        01210010
        !           125:       L                                 =                             1201220010
        !           126:      0M=13                                                              01230010
        !           127:       N=14                                                              01240010
        !           128:       O=15.                                                             01250010
        !           129:       P=16.                                                             01260010
        !           130:       Q=17.                                                             01270010
        !           131:       R=18.                                                             01280010
        !           132:       S=19.                                                             01290010
        !           133:       T=20.                                                             01300010
        !           134:       U=21.                                                             01310010
        !           135:       V=22.                                                             01320010
        !           136:       W=23.                                                             01330010
        !           137:       X=24.                                                             01340010
        !           138:       Y=25.                                                             01350010
        !           139:       Z=26.                                                             01360010
        !           140:       AAAAAA=27.                                                        01370010
        !           141:       BBBBB=28.                                                         01380010
        !           142:       CCCC=29.                                                          01390010
        !           143:       DDD=30                                                            01400010
        !           144:       EE=31.                                                            01410010
        !           145:       F0=32.                                                            01420010
        !           146:       G12=33.                                                           01430010
        !           147:       H345 = 34.                                                        01440010
        !           148:       I6789 = 35                                                        01450010
        !           149:       J01234 = 36                                                       01460010
        !           150:       K 5 6 78  9=37                                                    01470010
        !           151:        L 2 L 2 L 2 =38                                                  01480010
        !           152:         M  3   M           3                      M3   =              3901490010
        !           153:          N         40        =                   4                     001500010
        !           154:      0    OMY    =           4                                        1.01510010
        !           155:       I   PM   H =           4                                         201520010
        !           156:       GO TO 1 = 4 3.                                                    01530010
        !           157:       IF 3 = 44                                                         01540010
        !           158:       DO 3 =   53.                                                      01550010
        !           159:       CALL FL =62.                                                      01560010
        !           160:       TYPE I = 63.                                                      01570010
        !           161:       TRUE   =71.                                                       01580010
        !           162:       FALSE  = 72.                                                      01590010
        !           163:       GO TO 41000                                                       01600010
        !           164: 31000 IVDELE = IVDELE + 1                                               01610010
        !           165:       WRITE (I02,80003) IVTNUM                                          01620010
        !           166:       IF (ICZERO) 41000, 1011, 41000                                    01630010
        !           167: 41000 IF (IPMH - 42) 21000,11000,21000                                  01640010
        !           168: 11000 IVPASS = IVPASS + 1                                               01650010
        !           169:       WRITE (I02,80001) IVTNUM                                          01660010
        !           170:       GO TO 1011                                                        01670010
        !           171: 21000 IVFAIL = IVFAIL + 1                                               01680010
        !           172:       IVCOMP = IPMH                                                     01690010
        !           173:       IVCORR = 42                                                       01700010
        !           174:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01710010
        !           175:  1011 CONTINUE                                                          01720010
        !           176:       IVTNUM = 101                                                      01730010
        !           177: C                                                                       01740010
        !           178: C      ****  TEST  101  ****                                            01750010
        !           179: C     TEST 101  -  CHECKS THE FCVS NAMING CONVENTIONS FOR INTEGER AND   01760010
        !           180: C           REAL VARIABLES IN ASSIGNMENT STATEMENTS: VARIABLE = CONSTANT01770010
        !           181: C           BASICALLY A SYNTAX CHECK ON SIX CHARACTER VARIABLE NAMES.   01780010
        !           182: C                                                                       01790010
        !           183:       IF (ICZERO) 31010, 1010, 31010                                    01800010
        !           184:  1010 CONTINUE                                                          01810010
        !           185:       IACE11 = 1                                                        01820010
        !           186:       IACE21 = 2                                                        01830010
        !           187:       IACE31 = 3                                                        01840010
        !           188:       IACN11 = 4                                                        01850010
        !           189:       IADN11 = 5                                                        01860010
        !           190:       IATE31 = 6                                                        01870010
        !           191:       RACE11 = 7.                                                       01880010
        !           192:       RACE21 = 8.                                                       01890010
        !           193:       RACN31 = 9.                                                       01900010
        !           194:       RADE31 = 10.                                                      01910010
        !           195:       IVTE69 = 11                                                       01920010
        !           196:       IVON78 = 12                                                       01930010
        !           197:       RVTNAZ = 13.                                                      01940010
        !           198:       RVOEZ9 = 14.                                                      01950010
        !           199:       ICTE96 = 15                                                       01960010
        !           200:       ICON84 = 16                                                       01970010
        !           201:       RCON48 = 17.                                                      01980010
        !           202:       RCTE54 = 18.                                                      01990010
        !           203:       IDONY4 = 19                                                       02000010
        !           204:       IDOEB6 = 20                                                       02010010
        !           205:       RDON46 = 21.                                                      02020010
        !           206:       IFONS3 = 22                                                       02030010
        !           207:       RFON77 = 23.                                                      02040010
        !           208:       GO TO 41010                                                       02050010
        !           209: 31010 IVDELE = IVDELE + 1                                               02060010
        !           210:       WRITE (I02,80003) IVTNUM                                          02070010
        !           211:       IF (ICZERO) 41010, 1021, 41010                                    02080010
        !           212: 41010 IF (IVTE69 - 11) 21010,11010,21010                                02090010
        !           213: 11010 IVPASS = IVPASS + 1                                               02100010
        !           214:       WRITE (I02,80001) IVTNUM                                          02110010
        !           215:       GO TO 1021                                                        02120010
        !           216: 21010 IVFAIL = IVFAIL + 1                                               02130010
        !           217:       IVCOMP = IVTE69                                                   02140010
        !           218:       IVCORR = 11                                                       02150010
        !           219:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02160010
        !           220:  1021 CONTINUE                                                          02170010
        !           221:       IVTNUM = 102                                                      02180010
        !           222: C                                                                       02190010
        !           223: C      ****  TEST  102  ****                                            02200010
        !           224: C     TEST 102  -  REFERENCE FORMAT CHECK ON STATEMENT LABELS (SECTION  02210010
        !           225: C           3.4). THESE ARE NON-ZERO INTEGERS, FROM 1 TO 5 DIGITS,      02220010
        !           226: C           MAY BEGIN ANYWHERE FROM COLS. 1 TO 5, AND LEADING ZEROS ARE 02230010
        !           227: C           NOT SIGNIFICANT.  BLANKS WILL BE IMBEDDED IN SOME OF THE    02240010
        !           228: C           STATEMENT LABELS AND THESE SHOULD HAVE NO EFFECT.  THE      02250010
        !           229: C           CONTINUE STATEMENT (SECTION 11.11) IS USED FOR THIS TEST.   02260010
        !           230: C           A BASIC FCVS ASSUMPTION IS THAT THE LOGIC WILL FALL THRU A  02270010
        !           231: C           SERIES OF CONTINUE STATEMENTS (NORMAL EXECUTION SEQUENCE).  02280010
        !           232: C                                                                       02290010
        !           233:       IF (ICZERO) 31020, 1020, 31020                                    02300010
        !           234:  1020 CONTINUE                                                          02310010
        !           235: 1     CONTINUE                                                          02320010
        !           236:  2    CONTINUE                                                          02330010
        !           237:   3   CONTINUE                                                          02340010
        !           238:    4  CONTINUE                                                          02350010
        !           239:     5 CONTINUE                                                          02360010
        !           240: 06    CONTINUE                                                          02370010
        !           241:  007  CONTINUE                                                          02380010
        !           242:  0008 CONTINUE                                                          02390010
        !           243: 00009 CONTINUE                                                          02400010
        !           244:  010  CONTINUE                                                          02410010
        !           245: 1   1 CONTINUE                                                          02420010
        !           246:  0 12 CONTINUE                                                          02430010
        !           247: 0 1 3 CONTINUE                                                          02440010
        !           248: 00 14 CONTINUE                                                          02450010
        !           249: 0 15  CONTINUE                                                          02460010
        !           250: 0 016 CONTINUE                                                          02470010
        !           251: 100   CONTINUE                                                          02480010
        !           252: 1 0 1 CONTINUE                                                          02490010
        !           253: 10  2 IVON01 = 1                                                        02500010
        !           254: 1  03 CONTINUE                                                          02510010
        !           255:  1 04 CONTINUE                                                          02520010
        !           256: 01 05 CONTINUE                                                          02530010
        !           257: 010 6 CONTINUE                                                          02540010
        !           258: 0107  CONTINUE                                                          02550010
        !           259: 00108 CONTINUE                                                          02560010
        !           260: 1 1 1 CONTINUE                                                          02570010
        !           261: 1 111 CONTINUE                                                          02580010
        !           262:   99  CONTINUE                                                          02590010
        !           263: 9 9 9 CONTINUE                                                          02600010
        !           264: 99 99 CONTINUE                                                          02610010
        !           265:       GO TO 41020                                                       02620010
        !           266: 31020 IVDELE = IVDELE + 1                                               02630010
        !           267:       WRITE (I02,80003) IVTNUM                                          02640010
        !           268:       IF (ICZERO) 41020, 1031, 41020                                    02650010
        !           269: 41020 IF (IVON01 - 1) 21020,11020,21020                                 02660010
        !           270: 11020 IVPASS = IVPASS + 1                                               02670010
        !           271:       WRITE (I02,80001) IVTNUM                                          02680010
        !           272:       GO TO 1031                                                        02690010
        !           273: 21020 IVFAIL = IVFAIL + 1                                               02700010
        !           274:       IVCOMP = IVON01                                                   02710010
        !           275:       IVCORR = 1                                                        02720010
        !           276:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02730010
        !           277:  1031 CONTINUE                                                          02740010
        !           278: C                                                                       02750010
        !           279: C     WRITE PAGE FOOTINGS AND RUN SUMMARIES                             02760010
        !           280: 99999 CONTINUE                                                          02770010
        !           281:       WRITE (I02,90002)                                                 02780010
        !           282:       WRITE (I02,90006)                                                 02790010
        !           283:       WRITE (I02,90002)                                                 02800010
        !           284:       WRITE (I02,90002)                                                 02810010
        !           285:       WRITE (I02,90007)                                                 02820010
        !           286:       WRITE (I02,90002)                                                 02830010
        !           287:       WRITE (I02,90008)  IVFAIL                                         02840010
        !           288:       WRITE (I02,90009) IVPASS                                          02850010
        !           289:       WRITE (I02,90010) IVDELE                                          02860010
        !           290: C                                                                       02870010
        !           291: C                                                                       02880010
        !           292: C     TERMINATE ROUTINE EXECUTION                                       02890010
        !           293:       STOP                                                              02900010
        !           294: C                                                                       02910010
        !           295: C     FORMAT STATEMENTS FOR PAGE HEADERS                                02920010
        !           296: 90000 FORMAT (1H1)                                                      02930010
        !           297: 90002 FORMAT (1H )                                                      02940010
        !           298: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            02950010
        !           299: 90003 FORMAT (1H ,21X,11HVERSION 1.0)                                   02960010
        !           300: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)        02970010
        !           301: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 02980010
        !           302: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 02990010
        !           303: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             03000010
        !           304: C                                                                       03010010
        !           305: C     FORMAT STATEMENTS FOR RUN SUMMARIES                               03020010
        !           306: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED)                        03030010
        !           307: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED)                              03040010
        !           308: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED)                             03050010
        !           309: C                                                                       03060010
        !           310: C     FORMAT STATEMENTS FOR TEST RESULTS                                03070010
        !           311: 80001 FORMAT (1H ,4X,I5,7X,4HPASS)                                      03080010
        !           312: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL)                                      03090010
        !           313: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED)                                   03100010
        !           314: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         03110010
        !           315: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    03120010
        !           316: C                                                                       03130010
        !           317: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM010)                          03140010
        !           318:       END                                                               03150010

unix.superglobalmegacorp.com

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