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

1.1       root        1:       PROGRAM FM257                                                     00010257
                      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                                                                       00020257
                      6: C                                                                       00030257
                      7: C                                                                       00040257
                      8: C        THIS ROUTINE IS A TEST OF THE PAUSE AND STOP STATEMENTS.  THESE00050257
                      9: C     STATEMENTS CAN NOW BE FOLLOWED BY A STRING OF NOT MORE THAN FIVE  00060257
                     10: C     DIGITS, OR A CHARACTER CONSTANT.                                  00070257
                     11: C                                                                       00080257
                     12: C     REFERENCES                                                        00090257
                     13: C     REFERENCES                                                        00100257
                     14: C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00110257
                     15: C             X3.9-1978                                                 00120257
                     16: C        SECTION 11.12,      STOP STATEMENT                             00130257
                     17: C        SECTION 11.13,      PAUSE STATEMENT                            00140257
                     18: C                                                                       00150257
                     19: C        FM015 - TESTS THE STOP AND PAUSE STATEMENTS USING AN OCTAL     00160257
                     20: C                DIGIT STRING OF LENGTH FROM ONE TO FIVE.               00170257
                     21: C                                                                       00180257
                     22: C                                                                       00190257
                     23: C                                                                       00200257
                     24: C     ******************************************************************00210257
                     25: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00220257
                     26: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN   00230257
                     27: C     X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY.  THE 00240257
                     28: C     FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT       00250257
                     29: C     ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT00260257
                     30: C     ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS   00270257
                     31: C     OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00280257
                     32: C     THE RESULT OF EXECUTING THESE TESTS.                              00290257
                     33: C                                                                       00300257
                     34: C     THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES      00310257
                     35: C     FOUND IN THE SUBSET LEVEL OF THE STANDARD.                        00320257
                     36: C                                                                       00330257
                     37: C           SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO             00340257
                     38: C                    DEPARTMENT OF THE NAVY                             00350257
                     39: C                    FEDERAL COBOL COMPILER TESTING SERVICE             00360257
                     40: C                    WASHINGTON, D.C.   20376                           00370257
                     41: C                                                                       00380257
                     42: C     ******************************************************************00390257
                     43: C                                                                       00400257
                     44: C                                                                       00410257
                     45:       IMPLICIT LOGICAL (L)                                              00420257
                     46:       IMPLICIT CHARACTER*14 (C)                                         00430257
                     47: C                                                                       00440257
                     48: C                                                                       00450257
                     49: C                                                                       00460257
                     50: C     INITIALIZATION SECTION.                                           00470257
                     51: C                                                                       00480257
                     52: C     INITIALIZE CONSTANTS                                              00490257
                     53: C     ********************                                              00500257
                     54: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER          00510257
                     55:       I01 = 5                                                           00520257
                     56: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER              00530257
                     57:       I02 = 6                                                           00540257
                     58: C     SYSTEM ENVIRONMENT SECTION                                        00550257
                     59: C                                                                       00560257
                     60:       I01 = 5                                                           00570257
                     61: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00580257
                     62: C     (UNIT NUMBER FOR CARD READER).                                    00590257
                     63: CX011      THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD00600257
                     64: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00610257
                     65: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00620257
                     66: C                                                                       00630257
                     67:       I02 = 6                                                           00640257
                     68: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00650257
                     69: C     (UNIT NUMBER FOR PRINTER).                                        00660257
                     70: CX021     THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.00670257
                     71: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00680257
                     72: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00690257
                     73: C                                                                       00700257
                     74:       IVPASS = 0                                                        00710257
                     75:       IVFAIL = 0                                                        00720257
                     76:       IVDELE = 0                                                        00730257
                     77:       ICZERO = 0                                                        00740257
                     78: C                                                                       00750257
                     79: C     WRITE OUT PAGE HEADERS                                            00760257
                     80: C                                                                       00770257
                     81:       WRITE (I02,90002)                                                 00780257
                     82:       WRITE (I02,90006)                                                 00790257
                     83:       WRITE (I02,90008)                                                 00800257
                     84:       WRITE (I02,90004)                                                 00810257
                     85:       WRITE (I02,90010)                                                 00820257
                     86:       WRITE (I02,90004)                                                 00830257
                     87:       WRITE (I02,90016)                                                 00840257
                     88:       WRITE (I02,90001)                                                 00850257
                     89:       WRITE (I02,90004)                                                 00860257
                     90:       WRITE (I02,90012)                                                 00870257
                     91:       WRITE (I02,90014)                                                 00880257
                     92:       WRITE (I02,90004)                                                 00890257
                     93: C                                                                       00900257
                     94: C                                                                       00910257
                     95: C                                                                       00920257
                     96: C        THE FOLLOWING SERIES OF TESTS CHECK THE VARIOUS FORMS OF THE   00930257
                     97: C     PAUSE STATEMENT.  IN EACH CASE THE WORD PAUSE (FOLLOWED BY A      00940257
                     98: C     STRING OF CHARACTERS AS NOTED IN EACH TEST DESCRIPTION), SHOULD BE00950257
                     99: C     DISPLAYED ON THE OPERATORS CONSOLE.  FOR EACH TEST THE OPERATOR   00960257
                    100: C     NEED ONLY DO WHATEVER IS NESSARY TO TELL THE SYSTEM TO CONTINUE   00970257
                    101: C     THE EXECUTION OF THE ROUTINE.  THE STRING FORMS ARE AS DESCRIBED  00980257
                    102: C     IN SECTION 11.13.                                                 00990257
                    103: C                                                                       01000257
                    104: C                                                                       01010257
                    105: C                                                                       01020257
                    106: C     ****  FCVS PROGRAM 257  -  TEST 001  ****                         01030257
                    107: C                                                                       01040257
                    108: C        TEST 001 CHECKS THE PAUSE STATEMENT THAT IS NOT FOLLOWED BY    01050257
                    109: C     A STRING OF ANYTHING EXCEPT BLANKS.  ONLY THE WORD PAUSE SHOULD   01060257
                    110: C     BE DISPLAYED.                                                     01070257
                    111: C                                                                       01080257
                    112: C                                                                       01090257
                    113:       IVTNUM =   1                                                      01100257
                    114:       IF (ICZERO) 30010, 0010, 30010                                    01110257
                    115:  0010 CONTINUE                                                          01120257
                    116:       PAUSE                                                             01130257
                    117: C                                                                       01140257
                    118: C     ***** THESE CARDS INITIALIZE IVCOMP AND IVCORR FOR THE NEXT       01150257
                    119: C           FIVE TESTS EVEN THOUGH THEY ONLY APPEAR IN THE FAIL CODE    01160257
                    120: C           OF THE BOILERPLATE.*****                                    01170257
                    121:       IVCOMP = 1                                                        01180257
                    122:       IVCORR = 1                                                        01190257
                    123: C                                                                       01200257
                    124: C                                                                       01210257
                    125: 40010 IF ( ICZERO )  20010, 10010, 20010                                01220257
                    126: 30010 IVDELE = IVDELE + 1                                               01230257
                    127:       WRITE (I02,80000) IVTNUM                                          01240257
                    128:       IF (ICZERO) 10010, 0021, 20010                                    01250257
                    129: 10010 IVPASS = IVPASS + 1                                               01260257
                    130:       WRITE (I02,80002) IVTNUM                                          01270257
                    131:       GO TO 0021                                                        01280257
                    132: 20010 IVFAIL = IVFAIL + 1                                               01290257
                    133:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01300257
                    134:  0021 CONTINUE                                                          01310257
                    135: C                                                                       01320257
                    136: C     ****  FCVS PROGRAM 257  -  TEST 002  ****                         01330257
                    137: C                                                                       01340257
                    138: C        TEST 002 SHOULD DISPLAY THE WORD PAUSE FOLLOWED BY A SINGLE    01350257
                    139: C     CHARACTER ZERO (0).                                               01360257
                    140: C                                                                       01370257
                    141: C                                                                       01380257
                    142:       IVTNUM =   2                                                      01390257
                    143:       IF (ICZERO) 30020, 0020, 30020                                    01400257
                    144:  0020 CONTINUE                                                          01410257
                    145:       PAUSE 0                                                           01420257
                    146: 40020 IF ( ICZERO )  20020, 10020, 20020                                01430257
                    147: 30020 IVDELE = IVDELE + 1                                               01440257
                    148:       WRITE (I02,80000) IVTNUM                                          01450257
                    149:       IF (ICZERO) 10020, 0031, 20020                                    01460257
                    150: 10020 IVPASS = IVPASS + 1                                               01470257
                    151:       WRITE (I02,80002) IVTNUM                                          01480257
                    152:       GO TO 0031                                                        01490257
                    153: 20020 IVFAIL = IVFAIL + 1                                               01500257
                    154:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01510257
                    155:  0031 CONTINUE                                                          01520257
                    156: C                                                                       01530257
                    157: C     ****  FCVS PROGRAM 257  -  TEST 003  ****                         01540257
                    158: C                                                                       01550257
                    159: C        TEST 003 SHOULD DISPLAY THE WORD PAUSE FOLLOWED BY A STRING OF 01560257
                    160: C     FIVE ZEROS (00000).                                               01570257
                    161: C                                                                       01580257
                    162: C                                                                       01590257
                    163:       IVTNUM =   3                                                      01600257
                    164:       IF (ICZERO) 30030, 0030, 30030                                    01610257
                    165:  0030 CONTINUE                                                          01620257
                    166:       PAUSE 00000                                                       01630257
                    167: 40030 IF ( ICZERO )  20030, 10030, 20030                                01640257
                    168: 30030 IVDELE = IVDELE + 1                                               01650257
                    169:       WRITE (I02,80000) IVTNUM                                          01660257
                    170:       IF (ICZERO) 10030, 0041, 20030                                    01670257
                    171: 10030 IVPASS = IVPASS + 1                                               01680257
                    172:       WRITE (I02,80002) IVTNUM                                          01690257
                    173:       GO TO 0041                                                        01700257
                    174: 20030 IVFAIL = IVFAIL + 1                                               01710257
                    175:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01720257
                    176:  0041 CONTINUE                                                          01730257
                    177: C                                                                       01740257
                    178: C     ****  FCVS PROGRAM 257  -  TEST 004  ****                         01750257
                    179: C                                                                       01760257
                    180: C        TEST 004 SHOULD DISPLAY THE WORD PAUSE FOLLOWED BY THE STRING  01770257
                    181: C     OF FIVE CHARACTERS  19283.                                        01780257
                    182: C                                                                       01790257
                    183: C                                                                       01800257
                    184:       IVTNUM =   4                                                      01810257
                    185:       IF (ICZERO) 30040, 0040, 30040                                    01820257
                    186:  0040 CONTINUE                                                          01830257
                    187:       PAUSE  19283                                                      01840257
                    188: 40040 IF ( ICZERO )  20040, 10040, 20040                                01850257
                    189: 30040 IVDELE = IVDELE + 1                                               01860257
                    190:       WRITE (I02,80000) IVTNUM                                          01870257
                    191:       IF (ICZERO) 10040, 0051, 20040                                    01880257
                    192: 10040 IVPASS = IVPASS + 1                                               01890257
                    193:       WRITE (I02,80002) IVTNUM                                          01900257
                    194:       GO TO 0051                                                        01910257
                    195: 20040 IVFAIL = IVFAIL + 1                                               01920257
                    196:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01930257
                    197:  0051 CONTINUE                                                          01940257
                    198: C                                                                       01950257
                    199: C     ****  FCVS PROGRAM 257  -  TEST 005  ****                         01960257
                    200: C                                                                       01970257
                    201: C        TEST 005 SHOULD DISPLAY THE WORD PAUSE FOLLOWED BY THE STRING  01980257
                    202: C     OF FOUR NINES  (9999).                                            01990257
                    203: C                                                                       02000257
                    204: C                                                                       02010257
                    205:       IVTNUM =   5                                                      02020257
                    206:       IF (ICZERO) 30050, 0050, 30050                                    02030257
                    207:  0050 CONTINUE                                                          02040257
                    208:       PAUSE 9999                                                        02050257
                    209: 40050 IF ( ICZERO )  20050, 10050, 20050                                02060257
                    210: 30050 IVDELE = IVDELE + 1                                               02070257
                    211:       WRITE (I02,80000) IVTNUM                                          02080257
                    212:       IF (ICZERO) 10050, 0061, 20050                                    02090257
                    213: 10050 IVPASS = IVPASS + 1                                               02100257
                    214:       WRITE (I02,80002) IVTNUM                                          02110257
                    215:       GO TO 0061                                                        02120257
                    216: 20050 IVFAIL = IVFAIL + 1                                               02130257
                    217:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02140257
                    218:  0061 CONTINUE                                                          02150257
                    219: C                                                                       02160257
                    220: C     ****  FCVS PROGRAM 257  -  TEST 006  ****                         02170257
                    221: C                                                                       02180257
                    222: C        TEST 006 IS FOR THE STOP STATEMENT - SECTION 11.12.            02190257
                    223: C     SINCE THE STOP STATEMENT CAN ONLY BE EXECUTED ONCE IN A PROGRAM   02200257
                    224: C     UNIT, VARIOUS FORMATS OF THE STOP STATEMENT WILL BE CHECKED FOR   02210257
                    225: C     SYNTAX ONLY BY THE USE OF A COMPUTED GO TO STATEMENT.             02220257
                    226: C                                                                       02230257
                    227: C        ONCE THE STOP STATEMENT HAS BEEN EXECUTED, THEN THE ROUTINE    02240257
                    228: C     FM257 SHOULD NO LONGER EXECUTE.  ANY CONTINUATION IS CONSIDERED AS02250257
                    229: C     A FAILURE OF THIS TEST.                                           02260257
                    230: C                                                                       02270257
                    231: C                                                                       02280257
                    232:       IVTNUM =   6                                                      02290257
                    233:       IF (ICZERO) 30060, 0060, 30060                                    02300257
                    234:  0060 CONTINUE                                                          02310257
                    235:       IVON01 = 6                                                        02320257
                    236:       GO TO ( 0062, 0063, 0064, 0065, 0066, 0067, 40060 ), IVON01       02330257
                    237: C                                                                       02340257
                    238:  0062 STOP 0                                                            02350257
                    239:  0063 STOP 00000                                                        02360257
                    240:  0064 STOP 12345                                                        02370257
                    241:  0065 STOP 9999                                                         02380257
                    242:  0066 STOP 'IMA 1'                                                      02390257
                    243:  0067 STOP 'P ASS'                                                      02400257
                    244: C                                                                       02410257
                    245: C        **** THE TEST FAILS IF IT GOES BEYOND THE STOP STATEMENTS  ****02420257
                    246: C                                                                       02430257
                    247: 40060 IF ( ICZERO )  10060, 20060, 10060                                02440257
                    248: C     ***** NOTE THAT THE NORMAL PASS-10060 AND FAIL-20060 LABELS       02450257
                    249: C           ARE REVERSED BECAUSE IF THE LOGIC EXECUTES THIS STATEMENT   02460257
                    250: C           THEN THE STOP STATEMENT FAILS TO EXECUTE CORRECTLY. *****   02470257
                    251: 30060 IVDELE = IVDELE + 1                                               02480257
                    252:       WRITE (I02,80000) IVTNUM                                          02490257
                    253:       IF (ICZERO) 10060, 0071, 20060                                    02500257
                    254: 10060 IVPASS = IVPASS + 1                                               02510257
                    255:       WRITE (I02,80002) IVTNUM                                          02520257
                    256:       GO TO 0071                                                        02530257
                    257: 20060 IVFAIL = IVFAIL + 1                                               02540257
                    258:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02550257
                    259:  0071 CONTINUE                                                          02560257
                    260: C                                                                       02570257
                    261: C                                                                       02580257
                    262: C     WRITE OUT TEST SUMMARY                                            02590257
                    263: C                                                                       02600257
                    264:       WRITE (I02,90004)                                                 02610257
                    265:       WRITE (I02,90014)                                                 02620257
                    266:       WRITE (I02,90004)                                                 02630257
                    267:       WRITE (I02,90000)                                                 02640257
                    268:       WRITE (I02,90004)                                                 02650257
                    269:       WRITE (I02,90020) IVFAIL                                          02660257
                    270:       WRITE (I02,90022) IVPASS                                          02670257
                    271:       WRITE (I02,90024) IVDELE                                          02680257
                    272:       STOP                                                              02690257
                    273: 90001 FORMAT (1H ,24X,5HFM257)                                          02700257
                    274: 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM257)                          02710257
                    275: C                                                                       02720257
                    276: C     FORMATS FOR TEST DETAIL LINES                                     02730257
                    277: C                                                                       02740257
                    278: 80000 FORMAT (1H ,4X,I5,6X,7HDELETED)                                   02750257
                    279: 80002 FORMAT (1H ,4X,I5,7X,4HPASS)                                      02760257
                    280: 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         02770257
                    281: 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    02780257
                    282: 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14)                        02790257
                    283: C                                                                       02800257
                    284: C     FORMAT STATEMENTS FOR PAGE HEADERS                                02810257
                    285: C                                                                       02820257
                    286: 90002 FORMAT (1H1)                                                      02830257
                    287: 90004 FORMAT (1H )                                                      02840257
                    288: 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            02850257
                    289: 90008 FORMAT (1H ,21X,11HVERSION 1.0)                                   02860257
                    290: 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)         02870257
                    291: 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT)  02880257
                    292: 90014 FORMAT (1H ,5X,46H----------------------------------------------) 02890257
                    293: 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             02900257
                    294: C                                                                       02910257
                    295: C     FORMAT STATEMENTS FOR RUN SUMMARY                                 02920257
                    296: C                                                                       02930257
                    297: 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED)                              02940257
                    298: 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED)                              02950257
                    299: 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED)                             02960257
                    300:       END                                                               02970257

unix.superglobalmegacorp.com

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