FM199.f Source File


Contents

Source Code


Source Code

      PROGRAM FM199                                                     00010200
C    WV: SANE VERSION OF FM200, removed spaces in tests 9 and 11        00020200
C                                                                       00030200
C        THIS ROUTINE IS THE FIRST AUDIT PROGRAM TO CONTAIN A PROGRAM   00040200
C     STATEMENT.  THE FOLLOWING FEATURES FROM CHAPTER 3., CHARACTERS,   00050200
C     LINES AND EXECUTION SEQUENCE ARE TESTED.                          00060200
C                                                                       00070200
C        (1)  ASTERISK (*) IN COLUMN 1 TO DESIGNATE A COMMENT LINE.     00080200
C        (2)  USE OF NON-FORTRAN CHARACTERS WITHIN A COMMENT LINE.      00090200
C        (3)  STATEMENT LABELS ON NONEXECUTABLE STATEMENTS.             00100200
C        (4)  DIGIT 0 IN COLUMN 6 OF AN INITIAL LINE.                   00110200
C        (5)  CONTINUATION LINES - MAXIMUM OF NINE CONTINUATION LINES   00120200
C             (660 CHARACTERS).                                         00130200
C        (6)  BLANK CHARACTERS WITHIN STATEMENTS.                       00140200
C        (7)  BLANK COMMENT LINE, BLANK CHARACTERS IN COLUMNS 1-72.     00150200
C                                                                       00160200
C     THE BASIC FEATURES OF SUBSET FORTRAN WHICH ARE TESTED BY THIS     00170200
C     PROGRAM ARE USED THROUGHOUT THE REST OF THE SUBSET ROUTINES.      00180200
C                                                                       00190200
C     REFERENCES                                                        00200200
C        AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,       00210200
C              X3.9-1978                                                00220200
C                                                                       00230200
C        SECTION 3.1.6, BLANK CHARACTER                                 00240200
C        SECTION 3.2.1, COMMENT LINE                                    00250200
C        SECTION 3.2.2, INITIAL LINE                                    00260200
C        SECTION 3.2.3, CONTINUATION LINE                               00270200
C        SECTION 3.3, STATEMENTS                                        00280200
C        SECTION 3.4, STATEMENT LABEL                                   00290200
C        SECTION 14.1, PROGRAM STATEMENT                                00300200
C                                                                       00310200
C                                                                       00320200
C     ******************************************************************00330200
C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00340200
C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN   00350200
C     X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY.  THE 00360200
C     FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT       00370200
C     ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT00380200
C     ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS   00390200
C     OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00400200
C     THE RESULT OF EXECUTING THESE TESTS.                              00410200
C                                                                       00420200
C     THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES      00430200
C     FOUND IN THE SUBSET LEVEL OF THE STANDARD.                        00440200
C                                                                       00450200
C           SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO             00460200
C              NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY           00470200
C                   SOFTWARE STANDARDS VALIDATION GROUP                 00480200
C                          BUILDING 225  RM A266                        00490200
C                         GAITHERSBURG, MD  20899                       00500200
C     ******************************************************************00510200
C                                                                       00520200
C                                                                       00530200
      IMPLICIT LOGICAL (L)                                              00540200
      IMPLICIT CHARACTER*14 (C)                                         00550200
C                                                                       00560200
   12 INTEGER XVTN01                                                    00570200
   22 DATA IVON02/5/                                                    00580200
C        THE PRECEDING STATEMENTS ARE NONEXECUTABLE STATEMENTS WHICH    00590200
C     CONTAIN STATEMENT LABELS.  THEY ARE REFERENCED IN TESTS 1 AND 2.  00600200
C                                                                       00610200
C                                                                       00620200
C                                                                       00630200
C     INITIALIZATION SECTION.                                           00640200
C                                                                       00650200
C     INITIALIZE CONSTANTS                                              00660200
C     ********************                                              00670200
C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER          00680200
      I01 = 5                                                           00690200
C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER              00700200
      I02 = 6                                                           00710200
C     SYSTEM ENVIRONMENT SECTION                                        00720200
C                                                                       00730200
CX010     THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-010 CONTROL CARD.00740200
C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00750200
C     (UNIT NUMBER FOR CARD READER).                                    00760200
CX011      THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD00770200
C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00780200
C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         00790200
C                                                                       00800200
CX020     THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-020 CONTROL CARD.00810200
C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      00820200
C     (UNIT NUMBER FOR PRINTER).                                        00830200
CX021     THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.00840200
C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            00850200
C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         00860200
C                                                                       00870200
      IVPASS = 0                                                        00880200
      IVFAIL = 0                                                        00890200
      IVDELE = 0                                                        00900200
      ICZERO = 0                                                        00910200
C                                                                       00920200
C     WRITE OUT PAGE HEADERS                                            00930200
C                                                                       00940200
      WRITE (I02,90002)                                                 00950200
      WRITE (I02,90006)                                                 00960200
      WRITE (I02,90008)                                                 00970200
      WRITE (I02,90004)                                                 00980200
      WRITE (I02,90010)                                                 00990200
      WRITE (I02,90004)                                                 01000200
      WRITE (I02,90016)                                                 01010200
      WRITE (I02,90001)                                                 01020200
      WRITE (I02,90004)                                                 01030200
      WRITE (I02,90012)                                                 01040200
      WRITE (I02,90014)                                                 01050200
      WRITE (I02,90004)                                                 01060200
C                                                                       01070200
C                                                                       01080200
C        TEST 1 AND TEST 2 REFERENCE VARIABLES DEFINED IN NONEXECUTABLE 01090200
C     STATEMENTS WHICH CONTAIN STATEMENT LABELS.  THE NONEXECUTABLE     01100200
C     STATEMENTS WHICH APPEAR AT THE BEGINNING OF THE PROGRAM ARE       01110200
C            12 INTEGER XVTN01                                          01120200
C            22 DATA IVON02/5/                                          01130200
C                                                                       01140200
C     REFERENCE   X3.9-1977, SECTION 3.4, STATEMENT LABELS              01150200
C                                                                       01160200
C                                                                       01170200
C     ****  FCVS PROGRAM 200  -  TEST 001  ****                         01180200
C                                                                       01190200
C        TEST 001 ASSIGNS AN INTEGER VALUE TO XVTN01 WHICH WAS SPECIFIED01200200
C     AS TYPE INTEGER IN AN INTEGER STATEMENT CONTAINING A STATEMENT    01210200
C     LABEL.                                                            01220200
C                                                                       01230200
      IVTNUM =   1                                                      01240200
      IF (ICZERO) 30010, 0010, 30010                                    01250200
 0010 CONTINUE                                                          01260200
      IVCOMP = 0                                                        01270200
       XVTN01 = 1                                                       01280200
      IVCOMP = XVTN01                                                   01290200
      IVCORR = 1                                                        01300200
40010 IF (IVCOMP - 1) 20010, 10010, 20010                               01310200
30010 IVDELE = IVDELE + 1                                               01320200
      WRITE (I02,80000) IVTNUM                                          01330200
      IF (ICZERO) 10010, 0021, 20010                                    01340200
10010 IVPASS = IVPASS + 1                                               01350200
      WRITE (I02,80002) IVTNUM                                          01360200
      GO TO 0021                                                        01370200
20010 IVFAIL = IVFAIL + 1                                               01380200
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01390200
 0021 CONTINUE                                                          01400200
C                                                                       01410200
C     ****  FCVS PROGRAM 200  -  TEST 002  ****                         01420200
C                                                                       01430200
C        TEST 002 CHECKS THE VALUE WHICH WAS ASSIGNED TO IVON02 BY A    01440200
C     DATA STATEMENT WITH A STATEMENT LABEL.                            01450200
C                                                                       01460200
      IVTNUM =   2                                                      01470200
      IF (ICZERO) 30020, 0020, 30020                                    01480200
 0020 CONTINUE                                                          01490200
      IVCOMP = 0                                                        01500200
      IVCOMP = IVON02                                                   01510200
      IVCORR = 5                                                        01520200
40020 IF (IVCOMP - 5) 20020, 10020, 20020                               01530200
30020 IVDELE = IVDELE + 1                                               01540200
      WRITE (I02,80000) IVTNUM                                          01550200
      IF (ICZERO) 10020, 0031, 20020                                    01560200
10020 IVPASS = IVPASS + 1                                               01570200
      WRITE (I02,80002) IVTNUM                                          01580200
      GO TO 0031                                                        01590200
20020 IVFAIL = IVFAIL + 1                                               01600200
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01610200
 0031 CONTINUE                                                          01620200
C                                                                       01630200
C        TEST 3 THROUGH TEST 5 USE AN ASTERISK (*) IN COLUMN 1 TO       01640200
C     DENOTE A COMMENT LINE.                                            01650200
C                                                                       01660200
C     REFERENCE   X3.9-1977, SECTION 3.2.1, COMMENT LINE                01670200
C                                                                       01680200
C                                                                       01690200
C     ****  FCVS PROGRAM 200  -  TEST 003  ****                         01700200
C                                                                       01710200
C        GO TO STATEMENT IN ASTERISK COMMENT LINE.                      01720200
C                                                                       01730200
      IVTNUM =   3                                                      01740200
      IF (ICZERO) 30030, 0030, 30030                                    01750200
 0030 CONTINUE                                                          01760200
      IVCOMP = 1                                                        01770200
*          GO TO 20030                                                  01780200
      IVCOMP = 0                                                        01790200
      IVCORR = 0                                                        01800200
40030 IF (IVCOMP) 20030, 10030, 20030                                   01810200
30030 IVDELE = IVDELE + 1                                               01820200
      WRITE (I02,80000) IVTNUM                                          01830200
      IF (ICZERO) 10030, 0041, 20030                                    01840200
10030 IVPASS = IVPASS + 1                                               01850200
      WRITE (I02,80002) IVTNUM                                          01860200
      GO TO 0041                                                        01870200
20030 IVFAIL = IVFAIL + 1                                               01880200
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          01890200
 0041 CONTINUE                                                          01900200
C                                                                       01910200
C     ****  FCVS PROGRAM 200  -  TEST 004  ****                         01920200
C                                                                       01930200
C        SEVERAL * COMMENT LINES INTERMIXED WITH EXECUTABLE STATEMENTS. 01940200
C                                                                       01950200
      IVTNUM =   4                                                      01960200
      IF (ICZERO) 30040, 0040, 30040                                    01970200
 0040 CONTINUE                                                          01980200
      IVCOMP = 0                                                        01990200
*     THE * COMMENT LINE IS THE SAME AS A C COMMENT LINE.               02000200
      IVCOMP = 1                                                        02010200
*     THE * COMMENT LINES HAVE NO EFFECT ON THE PROGRAM EXECUTION.      02020200
*     THEIR USE IS STRICTLY FOR DOCUMENTATION PURPOSES.                 02030200
      IVCOMP = 2                                                        02040200
*     IVCOMP = 3                                                        02050200
*  40 ANY STATEMENT LABELS ON COMMENT LINES ARE IGNORED.                02060200
      IVCORR = 2                                                        02070200
40040 IF (IVCOMP - 2) 20040, 10040, 20040                               02080200
30040 IVDELE = IVDELE + 1                                               02090200
      WRITE (I02,80000) IVTNUM                                          02100200
      IF (ICZERO) 10040, 0051, 20040                                    02110200
10040 IVPASS = IVPASS + 1                                               02120200
      WRITE (I02,80002) IVTNUM                                          02130200
      GO TO 0051                                                        02140200
20040 IVFAIL = IVFAIL + 1                                               02150200
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02160200
 0051 CONTINUE                                                          02170200
C                                                                       02180200
C     ****  FCVS PROGRAM 200  -  TEST 005  ****                         02190200
C                                                                       02200200
C        NONFORTRAN CHARACTERS WITHIN C AND * COMMENT LINES.            02210200
C                                                                       02220200
      IVTNUM =   5                                                      02230200
      IF (ICZERO) 30050, 0050, 30050                                    02240200
 0050 CONTINUE                                                          02250200
      IVCOMP = 1                                                        02260200
*          <>%?   NONFORTRAN CHARACTER                                  02270200
C          <>%?   NONFORTRAN CHARACTER                                  02280200
      IVCOMP = 0                                                        02290200
      IVCORR = 0                                                        02300200
40050 IF (IVCOMP) 20050, 10050, 20050                                   02310200
30050 IVDELE = IVDELE + 1                                               02320200
      WRITE (I02,80000) IVTNUM                                          02330200
      IF (ICZERO) 10050, 0061, 20050                                    02340200
10050 IVPASS = IVPASS + 1                                               02350200
      WRITE (I02,80002) IVTNUM                                          02360200
      GO TO 0061                                                        02370200
20050 IVFAIL = IVFAIL + 1                                               02380200
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02390200
 0061 CONTINUE                                                          02400200
C                                                                       02410200
C     ****  FCVS PROGRAM 200  -  TEST 006  ****                         02420200
C                                                                       02430200
C        LINES CONTAINING ONLY BLANK CHARACTERS IN COLUMNS 1 THROUGH    02440200
C     72 ARE COMMENT LINES.                                             02450200
C                                                                       02460200
C     REFERENCE   X3.9-1977, SECTION 3.2.1, COMMENT LINE                02470200
C                                                                       02480200
      IVTNUM =   6                                                      02490200
      IF (ICZERO) 30060, 0060, 30060                                    02500200
 0060 CONTINUE                                                          02510200
      IVCOMP = 0                                                        02520200
                                                                        02530200
      IVCORR = 3                                                        02540200
      IVCOMP = 9                                                        02550200
*        ASTERISK COMMENT LINE FOLLOWED BY BLANK COMMENT LINE.          02560200
                                                                        02570200
*        ASTERISK COMMENT LINE.                                         02580200
      IVCOMP = 3                                                        02590200
40060 IF (IVCOMP - 3) 20060, 10060, 20060                               02600200
30060 IVDELE = IVDELE + 1                                               02610200
      WRITE (I02,80000) IVTNUM                                          02620200
      IF (ICZERO) 10060, 0071, 20060                                    02630200
10060 IVPASS = IVPASS + 1                                               02640200
      WRITE (I02,80002) IVTNUM                                          02650200
      GO TO 0071                                                        02660200
20060 IVFAIL = IVFAIL + 1                                               02670200
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02680200
 0071 CONTINUE                                                          02690200
C                                                                       02700200
C        TEST 7 AND TEST 8 CONTAIN THE DIGIT 0 IN COLUMN 6 OF INITIAL   02710200
C     LINES.                                                            02720200
C                                                                       02730200
C     REFERENCE   X3.9-1977, SECTION 3.2.2, INITIAL LINE                02740200
C                                                                       02750200
C                                                                       02760200
C     ****  FCVS PROGRAM 200  -  TEST 007  ****                         02770200
C                                                                       02780200
C        TEST 007 USES THE DIGIT 0 IN COLUMN 6 OF TWO SUCCESSIVE        02790200
C     INITIAL LINES.                                                    02800200
C                                                                       02810200
      IVTNUM =   7                                                      02820200
      IF (ICZERO) 30070, 0070, 30070                                    02830200
 0070 CONTINUE                                                          02840200
      IVCOMP = 0                                                        02850200
     0IVON01 = 5                                                        02860200
     0IVON02 = 6                                                        02870200
      IVCOMP = IVON01 + IVON02                                          02880200
      IVCORR = 11                                                       02890200
40070 IF (IVCOMP - 11) 20070, 10070, 20070                              02900200
30070 IVDELE = IVDELE + 1                                               02910200
      WRITE (I02,80000) IVTNUM                                          02920200
      IF (ICZERO) 10070, 0081, 20070                                    02930200
10070 IVPASS = IVPASS + 1                                               02940200
      WRITE (I02,80002) IVTNUM                                          02950200
      GO TO 0081                                                        02960200
20070 IVFAIL = IVFAIL + 1                                               02970200
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          02980200
 0081 CONTINUE                                                          02990200
C                                                                       03000200
C     ****  FCVS PROGRAM 200  -  TEST 008  ****                         03010200
C                                                                       03020200
C        TEST 008 MIXES STATEMENTS WITH DIGIT 0 IN COLUMN 6 OF INITIAL  03030200
C     LINE AND COMMENT LINES WITH * IN COLUMN 1.                        03040200
C                                                                       03050200
      IVTNUM =   8                                                      03060200
      IF (ICZERO) 30080, 0080, 30080                                    03070200
 0080 CONTINUE                                                          03080200
      IVCOMP = 0                                                        03090200
*        FIRST INITIAL LINE FOLLOWS.                                    03100200
     0IVON01 = 5                                                        03110200
*        TWO SUCCESSIVE COMMENT LINES,                                  03120200
*        FOLLOWED BY TWO INITIAL LINES.                                 03130200
     0IVON02=4                                                          03140200
     0IVCOMP=IVON01+IVON02                                              03150200
*          FALL THROUGH TO VERIFICATION CODE                            03160200
      IVCORR = 9                                                        03170200
40080 IF (IVCOMP - 9) 20080, 10080, 20080                               03180200
30080 IVDELE = IVDELE + 1                                               03190200
      WRITE (I02,80000) IVTNUM                                          03200200
      IF (ICZERO) 10080, 0091, 20080                                    03210200
10080 IVPASS = IVPASS + 1                                               03220200
      WRITE (I02,80002) IVTNUM                                          03230200
      GO TO 0091                                                        03240200
20080 IVFAIL = IVFAIL + 1                                               03250200
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03260200
 0091 CONTINUE                                                          03270200
C                                                                       03280200
C        TEST 9 THROUGH TEST 13 VERIFY THAT CONTINUATION LINES ARE      03290200
C     PERMITTED.                                                        03300200
C                                                                       03310200
C     REFERENCE   X3.9-1977, SECTION 3.2.3, CONTINUATION LINE           03320200
C                                                                       03330200
C                                                                       03340200
C     ****  FCVS PROGRAM 200  -  TEST 009  ****                         03350200
C                                                                       03360200
C        STATEMENT WITH TWO CONTINUATION LINES.                         03370200
C                                                                       03380200
      IVTNUM =   9                                                      03390200
      IF (ICZERO) 30090, 0090, 30090                                    03400200
 0090 CONTINUE                                                          03410200
      IVON01 = 0                                                        03420200
      IVON01                                                            03430200
C    1    01                                                            03440200
     2       = 2                                                        03450200
      IVCOMP = IVON01                                                   03460200
      IVCORR = 2                                                        03470200
40090 IF (IVCOMP - 2) 20090, 10090, 20090                               03480200
30090 IVDELE = IVDELE + 1                                               03490200
      WRITE (I02,80000) IVTNUM                                          03500200
      IF (ICZERO) 10090, 0101, 20090                                    03510200
10090 IVPASS = IVPASS + 1                                               03520200
      WRITE (I02,80002) IVTNUM                                          03530200
      GO TO 0101                                                        03540200
20090 IVFAIL = IVFAIL + 1                                               03550200
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03560200
 0101 CONTINUE                                                          03570200
C                                                                       03580200
C     ****  FCVS PROGRAM 200  -  TEST 010  ****                         03590200
C                                                                       03600200
C        STATEMENT WITH NINE CONTINUATION LINES.                        03610200
C                                                                       03620200
      IVTNUM =  10                                                      03630200
      IF (ICZERO) 30100, 0100, 30100                                    03640200
 0100 CONTINUE                                                          03650200
      IVON01 = 0                                                        03660200
      IVON01 =                                                          03670200
     1         1                                                        03680200
     2        +1                                                        03690200
     3              +1                                                  03700200
     4    +1                                                            03710200
     5      +1                                                          03720200
     6      +1                                                          03730200
     7                                  +1                              03740200
     8                                                      +1          03750200
     9+1                                                                03760200
      IVCOMP = IVON01                                                   03770200
      IVCORR = 9                                                        03780200
40100 IF (IVCOMP - 9) 20100, 10100, 20100                               03790200
30100 IVDELE = IVDELE + 1                                               03800200
      WRITE (I02,80000) IVTNUM                                          03810200
      IF (ICZERO) 10100, 0111, 20100                                    03820200
10100 IVPASS = IVPASS + 1                                               03830200
      WRITE (I02,80002) IVTNUM                                          03840200
      GO TO 0111                                                        03850200
20100 IVFAIL = IVFAIL + 1                                               03860200
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          03870200
 0111 CONTINUE                                                          03880200
C                                                                       03890200
C     ****  FCVS PROGRAM 200  -  TEST 011  ****                         03900200
C                                                                       03910200
C        TEST 011 CONTAINS THE MAXIMUM NUMBER OF CONTINUATION LINES     03920200
C     PERMITTED IN THE SUBSET LANGUAGE AND EACH OF THE 660 CHARACTERS   03930200
C     IN THE STATEMENT ARE NONBLANK.                                    03940200
C                                                                       03950200
      IVTNUM =  11                                                      03960200
      IF (ICZERO) 30110, 0110, 30110                                    03970200
 0110 CONTINUE                                                          03980200
      IVON01 = 1                                                        03990200
      IVCOMP = 0                                                        04000200
      IVCOMP=IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVO04010200
     1N01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON0104020200
     2+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IV04030200
     3ON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON004040200
     41+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+I04050200
     5VON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON04060200
     601+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+04070200
     7IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVO04080200
     8N01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON0104090200
     9+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+1204100200
      IVCORR = 105                                                      04110200
40110 IF (IVCOMP - 105) 20110, 10110, 20110                             04120200
30110 IVDELE = IVDELE + 1                                               04130200
      WRITE (I02,80000) IVTNUM                                          04140200
      IF (ICZERO) 10110, 0121, 20110                                    04150200
10110 IVPASS = IVPASS + 1                                               04160200
      WRITE (I02,80002) IVTNUM                                          04170200
      GO TO 0121                                                        04180200
20110 IVFAIL = IVFAIL + 1                                               04190200
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04200200
 0121 CONTINUE                                                          04210200
C                                                                       04220200
C     ****  FCVS PROGRAM 200  -  TEST 012  ****                         04230200
C                                                                       04240200
C        TEST 012 SPLITS A STATEMENT ACROSS 8 CONTINUATION LINES.       04250200
C     THERE IS A STATEMENT LABEL IN COLUMNS 1-5 AND 0 IN COLUMN 6       04260200
C     OF THE INITIAL LINE.                                              04270200
C                                                                       04280200
      IVTNUM =  12                                                      04290200
      IF (ICZERO) 30120, 0120, 30120                                    04300200
 0120 CONTINUE                                                          04310200
      IVON01 = 0                                                        04320200
      GO TO 0122                                                        04330200
 0122    IVON01                                                         04340200
C     1    V                                                            04350200
C     2     O                                                           04360200
C     3      N                                                          04370200
C     4       0                                                         04380200
C     5        1                                                        04390200
     6         =                                                        04400200
     7          89                                                      04410200
C    8           9                                                      04420200
      IVCOMP = IVON01                                                   04430200
      IVCORR = 89                                                       04440200
40120 IF (IVCOMP - 89) 20120, 10120, 20120                              04450200
30120 IVDELE = IVDELE + 1                                               04460200
      WRITE (I02,80000) IVTNUM                                          04470200
      IF (ICZERO) 10120, 0131, 20120                                    04480200
10120 IVPASS = IVPASS + 1                                               04490200
      WRITE (I02,80002) IVTNUM                                          04500200
      GO TO 0131                                                        04510200
20120 IVFAIL = IVFAIL + 1                                               04520200
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04530200
 0131 CONTINUE                                                          04540200
C                                                                       04550200
C     ****  FCVS PROGRAM 200  -  TEST 013  ****                         04560200
C                                                                       04570200
C        TEST 013 CONSISTS OF AN INITIAL LINE WHICH CONTAINS ONLY A     04580200
C     STATEMENT LABEL AND A CONTINUATION LINE WHICH CONTAINS THE        04590200
C     EXECUTABLE STATEMENT.                                             04600200
C                                                                       04610200
      IVTNUM =  13                                                      04620200
      IF (ICZERO) 30130, 0130, 30130                                    04630200
 0130 CONTINUE                                                          04640200
      IVCOMP = 0                                                        04650200
 0132                                                                   04660200
     1IVCOMP = 4                                                        04670200
      IVCORR = 4                                                        04680200
40130 IF (IVCOMP - 4) 20130, 10130, 20130                               04690200
30130 IVDELE = IVDELE + 1                                               04700200
      WRITE (I02,80000) IVTNUM                                          04710200
      IF (ICZERO) 10130, 0141, 20130                                    04720200
10130 IVPASS = IVPASS + 1                                               04730200
      WRITE (I02,80002) IVTNUM                                          04740200
      GO TO 0141                                                        04750200
20130 IVFAIL = IVFAIL + 1                                               04760200
      WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          04770200
 0141 CONTINUE                                                          04780200
C                                                                       04790200
C                                                                       04800200
C     WRITE OUT TEST SUMMARY                                            04810200
C                                                                       04820200
      WRITE (I02,90004)                                                 04830200
      WRITE (I02,90014)                                                 04840200
      WRITE (I02,90004)                                                 04850200
      WRITE (I02,90000)                                                 04860200
      WRITE (I02,90004)                                                 04870200
      WRITE (I02,90020) IVFAIL                                          04880200
      WRITE (I02,90022) IVPASS                                          04890200
      WRITE (I02,90024) IVDELE                                          04900200
      STOP                                                              04910200
90001 FORMAT (" ",24X,"FM199")                                          04920200
90000 FORMAT (" ",20X,"END OF PROGRAM FM199" )                          04930200
C                                                                       04940200
C     FORMATS FOR TEST DETAIL LINES                                     04950200
C                                                                       04960200
80000 FORMAT (" ",4X,I5,6X,"DELETED")                                   04970200
80002 FORMAT (" ",4X,I5,7X,"PASS")                                      04980200
80010 FORMAT (" ",4X,I5,7X,"FAIL",10X,I6,9X,I6)                         04990200
80012 FORMAT (" ",4X,I5,7X,"FAIL",4X,E12.5,3X,E12.5)                    05000200
80018 FORMAT (" ",4X,I5,7X,"FAIL",2X,A14,1X,A14)                        05010200
C                                                                       05020200
C     FORMAT STATEMENTS FOR PAGE HEADERS                                05030200
C                                                                       05040200
90002 FORMAT ("1")                                                      05050200
90004 FORMAT (" ")                                                      05060200
90006 FORMAT (" ",10X,"FORTRAN COMPILER VALIDATION SYSTEM" )            05070200
90008 FORMAT (" ",21X,"VERSION 2.1" )                                   05080200
90010 FORMAT (" ",8X,"FOR OFFICIAL USE ONLY - COPYRIGHT 1978" )         05090200
90012 FORMAT (" ",5X,"TEST",5X,"PASS/FAIL",5X,"COMPUTED",8X,"CORRECT")  05100200
90014 FORMAT (" ",5X,"----------------------------------------------" ) 05110200
90016 FORMAT (" ",18X,"SUBSET LEVEL TEST" )                             05120200
C                                                                       05130200
C     FORMAT STATEMENTS FOR RUN SUMMARY                                 05140200
C                                                                       05150200
90020 FORMAT (" ",19X,I5," TESTS FAILED" )                              05160200
90022 FORMAT (" ",19X,I5," TESTS PASSED" )                              05170200
90024 FORMAT (" ",19X,I5," TESTS DELETED" )                             05180200
      END                                                               05190200