Annotation of 43BSDTahoe/usr.bin/f77/testf77/tests/fm001.f, revision 1.1

1.1     ! root        1: c     comment section
        !             2: c
        !             3: c     fm001
        !             4: c
        !             5: c         this routine contains the boilerplate source coding which
        !             6: c     is used to print the report headings and run summaries for each
        !             7: c     of the elementary routines.
        !             8: c
        !             9: c         three tests are included which contain the procedures for
        !            10: c         testing the language features and deleting tests.
        !            11: c
        !            12: c         test 1 checks the pass procedure
        !            13: c         test 2 checks the fail procedure
        !            14: c         test 3 checks the delete procedure
        !            15: c
        !            16: c         if this routine does not execute correctly, then no other
        !            17: c     routines will be run.  there is no use in trying to validate a
        !            18: c     fortran compiler which cannot handle such basic statements.
        !            19: c
        !            20: c      **********************************************************
        !            21: c
        !            22: c         a compiler validation system for the fortran language
        !            23: c     based on specifications as defined in american national standard
        !            24: c     programming language fortran x3.9-1978, has been developed by the
        !            25: c     federal cobol compiler testing service.  the fortran compiler
        !            26: c     validation system (fcvs) consists of audit routines, their related
        !            27: c     data, and an executive system.  each audit routine is a fortran
        !            28: c     program, subprogram or function which includes tests of specific
        !            29: c     language elements and supporting procedures indicating the result
        !            30: c     of executing these tests.
        !            31: c
        !            32: c         this particular program/subprogram/function contains features
        !            33: c     found only in the subset as defined in x3.9-1978.
        !            34: c
        !            35: c         suggestions and comments should be forwarded to -
        !            36: c
        !            37: c                  department of the navy
        !            38: c                  federal cobol compiler testing service
        !            39: c                  washington, d.c.  20376
        !            40: c
        !            41: c      **********************************************************
        !            42: c
        !            43: c
        !            44: c
        !            45: c     initialization section
        !            46: c
        !            47: c     initialize constants
        !            48: c      **************
        !            49: c     i01 contains the logical unit number for the card reader.
        !            50:       i01 = 5
        !            51: c     i02 contains the logical unit number for the printer.
        !            52:       i02 = 6
        !            53: c     system environment section
        !            54: c
        !            55: cx010    this card is replaced by contents of fexec x-010 control card.
        !            56: c     the cx010 card is for overriding the program default i01 = 5
        !            57: c     (unit number for card reader).
        !            58: cx011    this card is replaced by contents of fexec x-011 control card.
        !            59: c     the cx011 card is for systems which require additional
        !            60: c     fortran statements for files associated with cx010 above.
        !            61: c
        !            62: cx020    this card is replaced by contents of fexec x-020 control card.
        !            63: c     the cx020 card is for overriding the program default i02 = 6
        !            64: c     (unit number for printer).
        !            65: cx021    this card is replaced by contents of fexec x-021 control card.
        !            66: c     the cx021 card is for systems which require additional
        !            67: c     fortran statements for files associated with cx020 above.
        !            68: c
        !            69:       ivpass=0
        !            70:       ivfail=0
        !            71:       ivdele=0
        !            72:       iczero=0
        !            73: c
        !            74: c     write page headers
        !            75:       write (i02,90000)
        !            76:       write (i02,90001)
        !            77:       write (i02,90002)
        !            78:       write (i02, 90002)
        !            79:       write (i02,90003)
        !            80:       write (i02,90002)
        !            81:       write (i02,90004)
        !            82:       write (i02,90002)
        !            83:       write (i02,90011)
        !            84:       write (i02,90002)
        !            85:       write (i02,90002)
        !            86:       write (i02,90005)
        !            87:       write (i02,90006)
        !            88:       write (i02,90002)
        !            89: c     test section
        !            90: c
        !            91:    11 continue
        !            92: c
        !            93: c      ****  test 001  ****
        !            94: c     test 001  -  basic procedure for coding tests
        !            95: c           also checks continue statement which should not have
        !            96: c           any affect on execution sequence
        !            97: c
        !            98:       if (iczero) 30010, 10, 30010
        !            99:    10 continue
        !           100:       ivtnum=1
        !           101:       go to 40010
        !           102: 30010 ivdele=ivdele+1
        !           103:       write (i02,80003) ivtnum
        !           104:       if (iczero) 40010, 21, 40010
        !           105: 40010 if (ivtnum - 1) 20010, 10010, 20010
        !           106: 10010 ivpass=ivpass+1
        !           107:       write (i02,80001) ivtnum
        !           108:       go to 21
        !           109: 20010 ivfail=ivfail+1
        !           110:       ivcomp=ivtnum
        !           111:       ivcorr=1
        !           112:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           113:    21 continue
        !           114: c
        !           115: c      ****  test 002  ****
        !           116: c     test - 002    force fail code to be executed
        !           117: c
        !           118:       if (iczero) 30020,20,30020
        !           119:    20 continue
        !           120:       ivtnum=2
        !           121:       go to 40020
        !           122: 30020 ivdele=ivdele+1
        !           123:       write (i02,80003) ivtnum
        !           124:       if (iczero) 40020,31,40020
        !           125: 40020 if (ivtnum-1) 20020, 10020, 20020
        !           126: 10020 ivpass=ivpass+1
        !           127:       write (i02,80001) ivtnum
        !           128:       go to 31
        !           129: 20020 ivfail=ivfail+1
        !           130:       ivcomp=ivtnum
        !           131:       ivcorr=2
        !           132:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           133:    31 continue
        !           134: c
        !           135: c      ****  test 003  ****
        !           136: c     test 003 - delete procedure tested
        !           137: c
        !           138:       if (iczero) 30030,30,30030
        !           139:    30 continue
        !           140: c     ivtnum=5000
        !           141: c     go to 40030
        !           142: 30030 ivdele=ivdele+1
        !           143:       ivtnum=3
        !           144:       write (i02,80003) ivtnum
        !           145:       if (iczero) 40030,99999,40030
        !           146: 40030 if (ivtnum - 5000) 20030,10030,20030
        !           147: 10030 ivpass=ivpass +1
        !           148:       write (i02,80001) ivtnum
        !           149:       go to 99999
        !           150: 20030 ivfail=ivfail+1
        !           151:       ivcomp=ivtnum
        !           152:       ivcorr=5000
        !           153:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           154: c
        !           155: c     write page footings and run summaries
        !           156: 99999 continue
        !           157:       write (i02,90002)
        !           158:       write (i02,90006)
        !           159:       write (i02,90002)
        !           160:       write (i02,90002)
        !           161:       write (i02,90007)
        !           162:       write (i02,90002)
        !           163:       write (i02,90008)  ivfail
        !           164:       write (i02,90009) ivpass
        !           165:       write (i02,90010) ivdele
        !           166: c
        !           167: c
        !           168: c     special output statements for this routine
        !           169:       write (i02,90000)
        !           170:       write (i02,90002)
        !           171:       write (i02,80031)
        !           172:       write (i02,90002)
        !           173:       write (i02,80010)
        !           174:       write (i02,80020)
        !           175:       write (i02,80030)
        !           176:       write (i02,80032)
        !           177: c
        !           178: c     terminate routine execution
        !           179:       stop
        !           180: c
        !           181: c     format statements for page headers
        !           182: 90000 format (1h1)
        !           183: 90002 format (1h )
        !           184: 90001 format (1h ,10x,34hfortran compiler validation system)
        !           185: 90003 format (1h ,21x,11hversion 1.0)
        !           186: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
        !           187: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
        !           188: 90006 format (1h ,5x,46h----------------------------------------------)
        !           189: 90011 format (1h ,18x,17hsubset level test)
        !           190: c
        !           191: c     format statements for run summaries
        !           192: 90008 format (1h ,15x,i5,19h errors encountered)
        !           193: 90009 format (1h ,15x,i5,13h tests passed)
        !           194: 90010 format (1h ,15x,i5,14h tests deleted)
        !           195: c
        !           196: c     format statements for test results
        !           197: 80001 format (1h ,4x,i5,7x,4hpass)
        !           198: 80002 format (1h ,4x,i5,7x,4hfail)
        !           199: 80003 format (1h ,4x,i5,7x,7hdeleted)
        !           200: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
        !           201: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
        !           202: c
        !           203: c     formats for current routine
        !           204: 80031 format (1h ,10x,39hthe program fm001 executed correctly if)
        !           205: 80010 format (1h ,15x,13htest 1 passed)
        !           206: 80020 format (1h ,15x,42htest 2 failed with computed and correct =2)
        !           207: 80030 format (1h ,15x,18htest 3 was deleted)
        !           208: 80032 format (1h ,15x,34hthe run summary totals all equal 1)
        !           209: 90007 format (1h ,20x,20hend of program fm001)
        !           210:       end

unix.superglobalmegacorp.com

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