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

1.1     ! root        1: c     comment section
        !             2: c
        !             3: c     fm028
        !             4: c
        !             5: c         this routine contains the external function reference tests.
        !             6: c     the function subprogram ff029 is called by this program. the
        !             7: c     function subprogram ff029 increments the calling argument by 1
        !             8: c     and returns to the calling program.
        !             9: c
        !            10: c         execution of an external function reference results in an
        !            11: c     association of actual arguments with all appearances of dummy
        !            12: c     arguments in the defining subprogram.  following these
        !            13: c     associations, execution of the first executable statement of the
        !            14: c     defining subprogram is undertaken.
        !            15: c
        !            16: c      references
        !            17: c        american national standard programming language fortran,
        !            18: c              x3.9-1978
        !            19: c
        !            20: c        section 15.5.2, referencing an external function
        !            21: c
        !            22:       integer ff029
        !            23: c
        !            24: c
        !            25: c      **********************************************************
        !            26: c
        !            27: c         a compiler validation system for the fortran language
        !            28: c     based on specifications as defined in american national standard
        !            29: c     programming language fortran x3.9-1978, has been developed by the
        !            30: c     federal cobol compiler testing service.  the fortran compiler
        !            31: c     validation system (fcvs) consists of audit routines, their related
        !            32: c     data, and an executive system.  each audit routine is a fortran
        !            33: c     program, subprogram or function which includes tests of specific
        !            34: c     language elements and supporting procedures indicating the result
        !            35: c     of executing these tests.
        !            36: c
        !            37: c         this particular program/subprogram/function contains features
        !            38: c     found only in the subset as defined in x3.9-1978.
        !            39: c
        !            40: c         suggestions and comments should be forwarded to -
        !            41: c
        !            42: c                  department of the navy
        !            43: c                  federal cobol compiler testing service
        !            44: c                  washington, d.c.  20376
        !            45: c
        !            46: c      **********************************************************
        !            47: c
        !            48: c
        !            49: c
        !            50: c     initialization section
        !            51: c
        !            52: c     initialize constants
        !            53: c      **************
        !            54: c     i01 contains the logical unit number for the card reader.
        !            55:       i01 = 5
        !            56: c     i02 contains the logical unit number for the printer.
        !            57:       i02 = 6
        !            58: c     system environment section
        !            59: c
        !            60: cx010    this card is replaced by contents of fexec x-010 control card.
        !            61: c     the cx010 card is for overriding the program default i01 = 5
        !            62: c     (unit number for card reader).
        !            63: cx011    this card is replaced by contents of fexec x-011 control card.
        !            64: c     the cx011 card is for systems which require additional
        !            65: c     fortran statements for files associated with cx010 above.
        !            66: c
        !            67: cx020    this card is replaced by contents of fexec x-020 control card.
        !            68: c     the cx020 card is for overriding the program default i02 = 6
        !            69: c     (unit number for printer).
        !            70: cx021    this card is replaced by contents of fexec x-021 control card.
        !            71: c     the cx021 card is for systems which require additional
        !            72: c     fortran statements for files associated with cx020 above.
        !            73: c
        !            74:       ivpass=0
        !            75:       ivfail=0
        !            76:       ivdele=0
        !            77:       iczero=0
        !            78: c
        !            79: c     write page headers
        !            80:       write (i02,90000)
        !            81:       write (i02,90001)
        !            82:       write (i02,90002)
        !            83:       write (i02, 90002)
        !            84:       write (i02,90003)
        !            85:       write (i02,90002)
        !            86:       write (i02,90004)
        !            87:       write (i02,90002)
        !            88:       write (i02,90011)
        !            89:       write (i02,90002)
        !            90:       write (i02,90002)
        !            91:       write (i02,90005)
        !            92:       write (i02,90006)
        !            93:       write (i02,90002)
        !            94: c
        !            95: c     test section
        !            96: c
        !            97: c     external function reference
        !            98: c
        !            99: c     external function reference - argument name same as subprogram
        !           100: c              argument name.
        !           101:  6701 continue
        !           102:       ivtnum = 670
        !           103: c
        !           104: c     **** test 670 ****
        !           105: c
        !           106:       if (iczero) 36700,6700,36700
        !           107:  6700 continue
        !           108:       ivon01 = 0
        !           109:       ivcomp = ff029(ivon01)
        !           110:       go to 46700
        !           111: 36700 ivdele = ivdele + 1
        !           112:       write (i02,80003) ivtnum
        !           113:       if (iczero) 46700,6711,46700
        !           114: 46700 if (ivcomp - 1) 26700,16700,26700
        !           115: 16700 ivpass = ivpass + 1
        !           116:       write (i02,80001) ivtnum
        !           117:       go to 6711
        !           118: 26700 ivfail = ivfail + 1
        !           119:       ivcorr = 1
        !           120:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           121:  6711 continue
        !           122:       ivtnum = 671
        !           123: c
        !           124: c      ****  test 671  ****
        !           125: c
        !           126: c     external function reference - argument name same as internal
        !           127: c           variable in function subprogram.
        !           128: c
        !           129:       if (iczero) 36710,6710,36710
        !           130:  6710 continue
        !           131:       ivon02 = 2
        !           132:       ivon01 = 5
        !           133:       ivcomp = ff029(ivon02)
        !           134:       go to 46710
        !           135: 36710 ivdele = ivdele + 1
        !           136:       write (i02,80003) ivtnum
        !           137:       if (iczero) 46710,6721,46710
        !           138: 46710 if (ivcomp - 3) 26710,16710,26710
        !           139: 16710 ivpass = ivpass + 1
        !           140:       write (i02,80001) ivtnum
        !           141:       go to 6721
        !           142: 26710 ivfail = ivfail + 1
        !           143:       ivcorr = 3
        !           144:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           145:  6721 continue
        !           146:       ivtnum = 672
        !           147: c
        !           148: c     ****  test 672  ****
        !           149: c
        !           150: c     external function reference - argument name different from
        !           151: c           function subprogram argument and internal variable.
        !           152: c
        !           153:       if  (iczero) 36720,6720,36720
        !           154:  6720 continue
        !           155:       ivon01 = 7
        !           156:       ivon03 = -12
        !           157:       ivcomp = ff029(ivon03)
        !           158:       go to 46720
        !           159: 36720 ivdele = ivdele + 1
        !           160:       write (i02,80003) ivtnum
        !           161:       if (iczero) 46720,6731,46720
        !           162: 46720 if (ivcomp + 11) 26720,16720,26720
        !           163: 16720 ivpass = ivpass + 1
        !           164:       write (i02,80001) ivtnum
        !           165:       go to 6731
        !           166: 26720 ivfail = ivfail + 1
        !           167:       ivcorr = -11
        !           168:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           169:  6731 continue
        !           170:       ivtnum = 673
        !           171: c
        !           172: c      **** test 673  ****
        !           173: c
        !           174: c     repeated external function reference in a do loop.
        !           175: c
        !           176:       if (iczero) 36730,6730,36730
        !           177:  6730 continue
        !           178:       ivon01 = -7
        !           179:       ivcomp = 0
        !           180:       do 6732 ivon04 = 1,5
        !           181:       ivcomp = ff029(ivcomp)
        !           182:  6732 continue
        !           183:       go to 46730
        !           184: 36730 ivdele = ivdele + 1
        !           185:       write (i02,80003) ivtnum
        !           186:       if (iczero) 46730,6741,46730
        !           187: 46730 if (ivcomp - 5) 26730,16730,26730
        !           188: 16730 ivpass = ivpass + 1
        !           189:       write (i02,80001) ivtnum
        !           190:       go to 6741
        !           191: 26730 ivfail = ivfail + 1
        !           192:       ivcorr = 5
        !           193:       write (i02,80004) ivtnum, ivcomp, ivcorr
        !           194:  6741 continue
        !           195: c
        !           196: c     write page footings and run summaries
        !           197: 99999 continue
        !           198:       write (i02,90002)
        !           199:       write (i02,90006)
        !           200:       write (i02,90002)
        !           201:       write (i02,90002)
        !           202:       write (i02,90007)
        !           203:       write (i02,90002)
        !           204:       write (i02,90008)  ivfail
        !           205:       write (i02,90009) ivpass
        !           206:       write (i02,90010) ivdele
        !           207: c
        !           208: c
        !           209: c     terminate routine execution
        !           210:       stop
        !           211: c
        !           212: c     format statements for page headers
        !           213: 90000 format (1h1)
        !           214: 90002 format (1h )
        !           215: 90001 format (1h ,10x,34hfortran compiler validation system)
        !           216: 90003 format (1h ,21x,11hversion 1.0)
        !           217: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
        !           218: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
        !           219: 90006 format (1h ,5x,46h----------------------------------------------)
        !           220: 90011 format (1h ,18x,17hsubset level test)
        !           221: c
        !           222: c     format statements for run summaries
        !           223: 90008 format (1h ,15x,i5,19h errors encountered)
        !           224: 90009 format (1h ,15x,i5,13h tests passed)
        !           225: 90010 format (1h ,15x,i5,14h tests deleted)
        !           226: c
        !           227: c     format statements for test results
        !           228: 80001 format (1h ,4x,i5,7x,4hpass)
        !           229: 80002 format (1h ,4x,i5,7x,4hfail)
        !           230: 80003 format (1h ,4x,i5,7x,7hdeleted)
        !           231: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
        !           232: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
        !           233: c
        !           234: 90007 format (1h ,20x,20hend of program fm028)
        !           235:       end

unix.superglobalmegacorp.com

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