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

1.1       root        1: C      COMMENT SECTION.                                                 00010011
                      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                                                                       00020011
                      6: C      FM011                                                            00030011
                      7: C                                                                       00040011
                      8: C     THIS ROUTINE IS A TEST OF BLANK CHARACTERS (SECTION 3.1.6)        00050011
                      9: C         WHICH SHOULD HAVE NO MEANING WHEN EMBEDDED IN FORTRAN RESERVED00060011
                     10: C         WORDS.                                                        00070011
                     11: C      REFERENCES                                                       00080011
                     12: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00090011
                     13: C              X3.9-1978                                                00100011
                     14: C                                                                       00110011
                     15: C        SECTION 3.1.6, BLANK CHARACTER                                 00120011
                     16:       DIM EN SION  IADN11(3),IADN12(3)                                  00130011
                     17:       IN TEGER  RVTNI1                                                  00140011
                     18:       REA  L   IVTNR1                                                   00150011
                     19:       LOG  ICAL   LVTNL1,LVTNL2                                         00160011
                     20:       COM  MON  IACE11(3)                                               00170011
                     21:       EQU IVAL ENCE  (IACE11(1),IADN11(1))                              00180011
                     22:       D   A  T  A   IADN12/3*3/                                         00190011
                     23: C                                                                       00200011
                     24: C      **********************************************************       00210011
                     25: C                                                                       00220011
                     26: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00230011
                     27: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD  00240011
                     28: C     PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00250011
                     29: C     FEDERAL COBOL COMPILER TESTING SERVICE.  THE FORTRAN COMPILER     00260011
                     30: C     VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00270011
                     31: C     DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT ROUTINE IS A FORTRAN   00280011
                     32: C     PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC  00290011
                     33: C     LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00300011
                     34: C     OF EXECUTING THESE TESTS.                                         00310011
                     35: C                                                                       00320011
                     36: C         THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00330011
                     37: C     FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978.                 00340011
                     38: C                                                                       00350011
                     39: C         SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO -             00360011
                     40: C                                                                       00370011
                     41: C                  DEPARTMENT OF THE NAVY                               00380011
                     42: C                  FEDERAL COBOL COMPILER TESTING SERVICE               00390011
                     43: C                  WASHINGTON, D.C.  20376                              00400011
                     44: C                                                                       00410011
                     45: C      **********************************************************       00420011
                     46: C                                                                       00430011
                     47: C                                                                       00440011
                     48: C                                                                       00450011
                     49: C     INITIALIZATION SECTION                                            00460011
                     50: C                                                                       00470011
                     51: C     INITIALIZE CONSTANTS                                              00480011
                     52: C      **************                                                   00490011
                     53: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER.         00500011
                     54:       I01 = 5                                                           00510011
                     55: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER.             00520011
                     56:       I02 = 6                                                           00530011
                     57: C     SYSTEM ENVIRONMENT SECTION                                        00540011
                     58: C                                                                       00550011
                     59:       I01 = 5                                                           00560011
                     60: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00570011
                     61: C     (UNIT NUMBER FOR CARD READER).                                    00580011
                     62: CX011    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00590011
                     63: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00600011
                     64: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00610011
                     65: C                                                                       00620011
                     66:       I02 = 6                                                           00630011
                     67: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00640011
                     68: C     (UNIT NUMBER FOR PRINTER).                                        00650011
                     69: CX021    THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00660011
                     70: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00670011
                     71: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00680011
                     72: C                                                                       00690011
                     73:       IVPASS=0                                                          00700011
                     74:       IVFAIL=0                                                          00710011
                     75:       IVDELE=0                                                          00720011
                     76:       ICZERO=0                                                          00730011
                     77: C                                                                       00740011
                     78: C     WRITE PAGE HEADERS                                                00750011
                     79:       WRITE (I02,90000)                                                 00760011
                     80:       WRITE (I02,90001)                                                 00770011
                     81:       WRITE (I02,90002)                                                 00780011
                     82:       WRITE (I02, 90002)                                                00790011
                     83:       WRITE (I02,90003)                                                 00800011
                     84:       WRITE (I02,90002)                                                 00810011
                     85:       WRITE (I02,90004)                                                 00820011
                     86:       WRITE (I02,90002)                                                 00830011
                     87:       WRITE (I02,90011)                                                 00840011
                     88:       WRITE (I02,90002)                                                 00850011
                     89:       WRITE (I02,90002)                                                 00860011
                     90:       WRITE (I02,90005)                                                 00870011
                     91:       WRITE (I02,90006)                                                 00880011
                     92:       WRITE (I02,90002)                                                 00890011
                     93:       IVTNUM = 103                                                      00900011
                     94: C                                                                       00910011
                     95: C      ****  TEST  103  ****                                            00920011
                     96: C     TEST 103  -  THIS TEST HAS BLANKS EMBEDDED IN A DIMENSION         00930011
                     97: C           STATEMENT.  ALSO THE DO STATEMENT WITH AN EMBEDDED BLANK    00940011
                     98: C           WILL BE TESTED TO INITIALIZE VALUES IN AN ARRAY.  THE       00950011
                     99: C           CONTINUE AND IF STATEMENTS HAVE EMBEDDED BLANKS AS WELL.    00960011
                    100: C                                                                       00970011
                    101:       IF (ICZERO) 31030, 1030, 31030                                    00980011
                    102:  1030 CONTINUE                                                          00990011
                    103:       D O  1  IVON01 =1 , 3 ,  1                                        01000011
                    104:       IADN11(IVON01) = IVON01                                           01010011
                    105:     1 C ON T IN UE                                                      01020011
                    106:       GO TO 41030                                                       01030011
                    107: 31030 IVDELE = IVDELE + 1                                               01040011
                    108:       WRITE (I02,80003) IVTNUM                                          01050011
                    109:       IF (ICZERO) 41030, 1041, 41030                                    01060011
                    110: 41030 I   F  (IADN11(2) - 2)  21030,11030,21030                         01070011
                    111: 11030 IVPASS = IVPASS + 1                                               01080011
                    112:       WRITE (I02,80001) IVTNUM                                          01090011
                    113:       GO TO 1041                                                        01100011
                    114: 21030 IVFAIL = IVFAIL + 1                                               01110011
                    115:       IVCOMP = IADN11(2)                                                01120011
                    116:       IVCORR = 2                                                        01130011
                    117:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01140011
                    118:  1041 CONTINUE                                                          01150011
                    119:       IVTNUM = 104                                                      01160011
                    120: C                                                                       01170011
                    121: C      ****  TEST  104  ****                                            01180011
                    122: C     TEST 104  -  THIS TESTS EMBEDDED BLANKS IN AN INTEGER TYPE        01190011
                    123: C           STATEMENT.  FRACTION 1/2 SHOULD BECOME 0 AS AN INTEGER.     01200011
                    124: C           INTEGER TO REAL * 2. BACK TO INTEGER CONVERSION SHOULD BE 0.01210011
                    125: C                                                                       01220011
                    126:       IF (ICZERO) 31040, 1040, 31040                                    01230011
                    127:  1040 CONTINUE                                                          01240011
                    128:       RVTNI1 = 2                                                        01250011
                    129:       RVON01 = 1/RVTNI1                                                 01260011
                    130:       IVON02 = RVON01 * 2.                                              01270011
                    131:       GO TO 41040                                                       01280011
                    132: 31040 IVDELE = IVDELE + 1                                               01290011
                    133:       WRITE (I02,80003) IVTNUM                                          01300011
                    134:       IF (ICZERO) 41040, 1051, 41040                                    01310011
                    135: 41040 IF( IVON02 - 0 ) 21040,11040,21040                                01320011
                    136: 11040 IVPASS = IVPASS + 1                                               01330011
                    137:       WRITE (I02,80001) IVTNUM                                          01340011
                    138:       GO TO 1051                                                        01350011
                    139: 21040 IVFAIL = IVFAIL + 1                                               01360011
                    140:       IVCOMP = IVON02                                                   01370011
                    141:       IVCORR = 0                                                        01380011
                    142:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01390011
                    143:  1051 CONTINUE                                                          01400011
                    144:       IVTNUM = 105                                                      01410011
                    145: C                                                                       01420011
                    146: C      ****  TEST  105  ****                                            01430011
                    147: C     TEST 105  -  TEST OF EMBEDDED BLANKS IN A REAL TYPE STATEMENT.    01440011
                    148: C           REAL TO REAL*2. TO INTEGER CONVERSION IS PERFORMED.  RESULT 01450011
                    149: C           IS 1 IF THE TYPE OF THE TEST VARIABLE(IVTNR1) WAS REAL.     01460011
                    150: C                                                                       01470011
                    151:       IF (ICZERO) 31050, 1050, 31050                                    01480011
                    152:  1050 CONTINUE                                                          01490011
                    153:       IVTNR1 = .5                                                       01500011
                    154:       RVON03 = IVTNR1*2.                                                01510011
                    155:       IVON03 = RVON03 +.3                                               01520011
                    156:       GO TO 41050                                                       01530011
                    157: 31050 IVDELE = IVDELE + 1                                               01540011
                    158:       WRITE (I02,80003) IVTNUM                                          01550011
                    159:       IF (ICZERO) 41050, 1061, 41050                                    01560011
                    160: 41050 IF(IVON03 - 1) 21050,  11050, 21050                               01570011
                    161: 11050 IVPASS = IVPASS + 1                                               01580011
                    162:       WRITE (I02,80001) IVTNUM                                          01590011
                    163:       GO TO 1061                                                        01600011
                    164: 21050 IVFAIL = IVFAIL + 1                                               01610011
                    165:       IVCOMP = IVON03                                                   01620011
                    166:       IVCORR = 1                                                        01630011
                    167:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          01640011
                    168:  1061 CONTINUE                                                          01650011
                    169:       IVTNUM = 106                                                      01660011
                    170: C                                                                       01670011
                    171: C      ****  TEST  106  ****                                            01680011
                    172: C     TEST 106  -  TEST THE LOGICAL TYPE WITH EMBEDDED BLANKS BY A      01690011
                    173: C           LOGIC ASSIGNMENT (V = .TRUE.) SECTION 4.7.1 AND 10.2        01700011
                    174: C                                                                       01710011
                    175:       IF (ICZERO) 31060, 1060, 31060                                    01720011
                    176:  1060 CONTINUE                                                          01730011
                    177:       LVTNL1 = .TRUE.                                                   01740011
                    178:       GO TO 41060                                                       01750011
                    179: 31060 IVDELE = IVDELE + 1                                               01760011
                    180:       WRITE (I02,80003) IVTNUM                                          01770011
                    181:       IF (ICZERO) 41060, 1071, 41060                                    01780011
                    182: 41060 IF(ICZERO) 21060,11060,21060                                      01790011
                    183: 11060 IVPASS = IVPASS + 1                                               01800011
                    184:       WRITE (I02,80001) IVTNUM                                          01810011
                    185:       GO TO 1071                                                        01820011
                    186: 21060 IVFAIL = IVFAIL + 1                                               01830011
                    187:       WRITE (I02,80002) IVTNUM, IVCOMP ,IVCORR                          01840011
                    188:  1071 CONTINUE                                                          01850011
                    189:       IVTNUM = 107                                                      01860011
                    190: C                                                                       01870011
                    191: C      ****  TEST  107  ****                                            01880011
                    192: C     TEST 107  -  A SECOND TEST OF THE LOGICAL TYPE STATEMENT WITH     01890011
                    193: C           EMBEDDED BLANKS.  THE TEST IS AGAIN MADE BY A LOGICAL       01900011
                    194: C           ASSIGNMENT (SECTION 4.7.1 AND 10.2).                        01910011
                    195: C                                                                       01920011
                    196:       IF (ICZERO) 31070, 1070, 31070                                    01930011
                    197:  1070 CONTINUE                                                          01940011
                    198:       LVTNL2 = .FALSE.                                                  01950011
                    199:       GO TO 41070                                                       01960011
                    200: 31070 IVDELE = IVDELE + 1                                               01970011
                    201:       WRITE (I02,80003) IVTNUM                                          01980011
                    202:       IF (ICZERO) 41070, 1081, 41070                                    01990011
                    203: 41070 IF(ICZERO) 21070,11070,21070                                      02000011
                    204: 11070 IVPASS = IVPASS + 1                                               02010011
                    205:       WRITE (I02,80001) IVTNUM                                          02020011
                    206:       GO TO 1081                                                        02030011
                    207: 21070 IVFAIL = IVFAIL + 1                                               02040011
                    208:       WRITE (I02,80002) IVTNUM, IVCOMP ,IVCORR                          02050011
                    209:  1081 CONTINUE                                                          02060011
                    210:       IVTNUM = 108                                                      02070011
                    211: C                                                                       02080011
                    212: C      ****  TEST  108  ****                                            02090011
                    213: C     TEST 108  -  THIS IS A TEST OF BLANKS EMBEDDED IN THE COMMON,     02100011
                    214: C           DIMENSION AND EQUIVALENCE STATEMENTS (SECTION 8.1,          02110011
                    215: C           8.3. AND 8.2.).                                             02120011
                    216: C                                                                       02130011
                    217:       IF (ICZERO) 31080, 1080, 31080                                    02140011
                    218:  1080 CONTINUE                                                          02150011
                    219:       IADN11(3) = 4                                                     02160011
                    220:       GO TO 41080                                                       02170011
                    221: 31080 IVDELE = IVDELE + 1                                               02180011
                    222:       WRITE (I02,80003) IVTNUM                                          02190011
                    223:       IF (ICZERO) 41080, 1091, 41080                                    02200011
                    224: 41080 IF(IACE11(3) - 4)  21080,11080,21080                              02210011
                    225: 11080 IVPASS = IVPASS + 1                                               02220011
                    226:       WRITE (I02,80001) IVTNUM                                          02230011
                    227:       GO TO 1091                                                        02240011
                    228: 21080 IVFAIL = IVFAIL + 1                                               02250011
                    229:       IVCOMP = IACE11(3)                                                02260011
                    230:       IVCORR = 4                                                        02270011
                    231:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02280011
                    232:  1091 CONTINUE                                                          02290011
                    233:       IVTNUM = 109                                                      02300011
                    234: C                                                                       02310011
                    235: C      ****  TEST  109  ****                                            02320011
                    236: C     TEST 109  -  THIS TESTS THE EFFECT OF BLANKS EMBEDDED IN THE      02330011
                    237: C           DATA STATEMENT BY CHECKING THE INITIALIZATION OF ARRAY      02340011
                    238: C           ELEMENT VALUES (SECTION 9).                                 02350011
                    239: C                                                                       02360011
                    240:       IF (ICZERO) 31090, 1090, 31090                                    02370011
                    241:  1090 CONTINUE                                                          02380011
                    242:       IVON04    = IADN12(1) + IADN12(2) + IADN12(3)                     02390011
                    243:       GO TO 41090                                                       02400011
                    244: 31090 IVDELE = IVDELE + 1                                               02410011
                    245:       WRITE (I02,80003) IVTNUM                                          02420011
                    246:       IF (ICZERO) 41090, 1101, 41090                                    02430011
                    247: 41090 IF(IVON04 - 9) 21090,11090,21090                                  02440011
                    248: 11090 IVPASS = IVPASS + 1                                               02450011
                    249:       WRITE (I02,80001) IVTNUM                                          02460011
                    250:       GO TO 1101                                                        02470011
                    251: 21090 IVFAIL = IVFAIL + 1                                               02480011
                    252:       IVCOMP = IVON04                                                   02490011
                    253:       IVCORR = 9                                                        02500011
                    254:       WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR                          02510011
                    255:  1101 CONTINUE                                                          02520011
                    256: C                                                                       02530011
                    257: C     WRITE PAGE FOOTINGS AND RUN SUMMARIES                             02540011
                    258: 99999 CONTINUE                                                          02550011
                    259:       WRITE (I02,90002)                                                 02560011
                    260:       WRITE (I02,90006)                                                 02570011
                    261:       WRITE (I02,90002)                                                 02580011
                    262:       WRITE (I02,90002)                                                 02590011
                    263:       WRITE (I02,90007)                                                 02600011
                    264:       WRITE (I02,90002)                                                 02610011
                    265:       WRITE (I02,90008)  IVFAIL                                         02620011
                    266:       WRITE (I02,90009) IVPASS                                          02630011
                    267:       WRITE (I02,90010) IVDELE                                          02640011
                    268: C                                                                       02650011
                    269: C                                                                       02660011
                    270: C     TERMINATE ROUTINE EXECUTION                                       02670011
                    271:       STOP                                                              02680011
                    272: C                                                                       02690011
                    273: C     FORMAT STATEMENTS FOR PAGE HEADERS                                02700011
                    274: 90000 FORMAT (1H1)                                                      02710011
                    275: 90002 FORMAT (1H )                                                      02720011
                    276: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            02730011
                    277: 90003 FORMAT (1H ,21X,11HVERSION 1.0)                                   02740011
                    278: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)        02750011
                    279: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 02760011
                    280: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 02770011
                    281: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             02780011
                    282: C                                                                       02790011
                    283: C     FORMAT STATEMENTS FOR RUN SUMMARIES                               02800011
                    284: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED)                        02810011
                    285: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED)                              02820011
                    286: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED)                             02830011
                    287: C                                                                       02840011
                    288: C     FORMAT STATEMENTS FOR TEST RESULTS                                02850011
                    289: 80001 FORMAT (1H ,4X,I5,7X,4HPASS)                                      02860011
                    290: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL)                                      02870011
                    291: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED)                                   02880011
                    292: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         02890011
                    293: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    02900011
                    294: C                                                                       02910011
                    295: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM011)                          02920011
                    296:       END                                                               02930011

unix.superglobalmegacorp.com

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