Annotation of 43BSDTahoe/usr.bin/f77/testf77/tests/fm001.f, revision 1.1.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.