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

1.1     ! root        1: c      comment section.
        !             2: c
        !             3: c      fm011
        !             4: c
        !             5: c     this routine is a test of blank characters (section 3.1.6)
        !             6: c         which should have no meaning when embedded in fortran reserved
        !             7: c         words.
        !             8: c      references
        !             9: c        american national standard programming language fortran,
        !            10: c              x3.9-1978
        !            11: c
        !            12: c        section 3.1.6, blank character
        !            13:       dim en sion  iadn11(3),iadn12(3)
        !            14:       in teger  rvtni1
        !            15:       rea  l   ivtnr1
        !            16:       log  ical   lvtnl1,lvtnl2
        !            17:       com  mon  iace11(3)
        !            18:       equ ival ence  (iace11(1),iadn11(1))
        !            19:       d   a  t  a   iadn12/3*3/
        !            20: c
        !            21: c      **********************************************************
        !            22: c
        !            23: c         a compiler validation system for the fortran language
        !            24: c     based on specifications as defined in american national standard
        !            25: c     programming language fortran x3.9-1978, has been developed by the
        !            26: c     federal cobol compiler testing service.  the fortran compiler
        !            27: c     validation system (fcvs) consists of audit routines, their related
        !            28: c     data, and an executive system.  each audit routine is a fortran
        !            29: c     program, subprogram or function which includes tests of specific
        !            30: c     language elements and supporting procedures indicating the result
        !            31: c     of executing these tests.
        !            32: c
        !            33: c         this particular program/subprogram/function contains features
        !            34: c     found only in the subset as defined in x3.9-1978.
        !            35: c
        !            36: c         suggestions and comments should be forwarded to -
        !            37: c
        !            38: c                  department of the navy
        !            39: c                  federal cobol compiler testing service
        !            40: c                  washington, d.c.  20376
        !            41: c
        !            42: c      **********************************************************
        !            43: c
        !            44: c
        !            45: c
        !            46: c     initialization section
        !            47: c
        !            48: c     initialize constants
        !            49: c      **************
        !            50: c     i01 contains the logical unit number for the card reader.
        !            51:       i01 = 5
        !            52: c     i02 contains the logical unit number for the printer.
        !            53:       i02 = 6
        !            54: c     system environment section
        !            55: c
        !            56: cx010    this card is replaced by contents of fexec x-010 control card.
        !            57: c     the cx010 card is for overriding the program default i01 = 5
        !            58: c     (unit number for card reader).
        !            59: cx011    this card is replaced by contents of fexec x-011 control card.
        !            60: c     the cx011 card is for systems which require additional
        !            61: c     fortran statements for files associated with cx010 above.
        !            62: c
        !            63: cx020    this card is replaced by contents of fexec x-020 control card.
        !            64: c     the cx020 card is for overriding the program default i02 = 6
        !            65: c     (unit number for printer).
        !            66: cx021    this card is replaced by contents of fexec x-021 control card.
        !            67: c     the cx021 card is for systems which require additional
        !            68: c     fortran statements for files associated with cx020 above.
        !            69: c
        !            70:       ivpass=0
        !            71:       ivfail=0
        !            72:       ivdele=0
        !            73:       iczero=0
        !            74: c
        !            75: c     write page headers
        !            76:       write (i02,90000)
        !            77:       write (i02,90001)
        !            78:       write (i02,90002)
        !            79:       write (i02, 90002)
        !            80:       write (i02,90003)
        !            81:       write (i02,90002)
        !            82:       write (i02,90004)
        !            83:       write (i02,90002)
        !            84:       write (i02,90011)
        !            85:       write (i02,90002)
        !            86:       write (i02,90002)
        !            87:       write (i02,90005)
        !            88:       write (i02,90006)
        !            89:       write (i02,90002)
        !            90:       ivtnum = 103
        !            91: c
        !            92: c      ****  test  103  ****
        !            93: c     test 103  -  this test has blanks embedded in a dimension
        !            94: c           statement.  also the do statement with an embedded blank
        !            95: c           will be tested to initialize values in an array.  the
        !            96: c           continue and if statements have embedded blanks as well.
        !            97: c
        !            98:       if (iczero) 31030, 1030, 31030
        !            99:  1030 continue
        !           100:       d o  1  ivon01 =1 , 3 ,  1
        !           101:       iadn11(ivon01) = ivon01
        !           102:     1 c on t in ue
        !           103:       go to 41030
        !           104: 31030 ivdele = ivdele + 1
        !           105:       write (i02,80003) ivtnum
        !           106:       if (iczero) 41030, 1041, 41030
        !           107: 41030 i   f  (iadn11(2) - 2)  21030,11030,21030
        !           108: 11030 ivpass = ivpass + 1
        !           109:       write (i02,80001) ivtnum
        !           110:       go to 1041
        !           111: 21030 ivfail = ivfail + 1
        !           112:       ivcomp = iadn11(2)
        !           113:       ivcorr = 2
        !           114:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           115:  1041 continue
        !           116:       ivtnum = 104
        !           117: c
        !           118: c      ****  test  104  ****
        !           119: c     test 104  -  this tests embedded blanks in an integer type
        !           120: c           statement.  fraction 1/2 should become 0 as an integer.
        !           121: c           integer to real * 2. back to integer conversion should be 0.
        !           122: c
        !           123:       if (iczero) 31040, 1040, 31040
        !           124:  1040 continue
        !           125:       rvtni1 = 2
        !           126:       rvon01 = 1/rvtni1
        !           127:       ivon02 = rvon01 * 2.
        !           128:       go to 41040
        !           129: 31040 ivdele = ivdele + 1
        !           130:       write (i02,80003) ivtnum
        !           131:       if (iczero) 41040, 1051, 41040
        !           132: 41040 if( ivon02 - 0 ) 21040,11040,21040
        !           133: 11040 ivpass = ivpass + 1
        !           134:       write (i02,80001) ivtnum
        !           135:       go to 1051
        !           136: 21040 ivfail = ivfail + 1
        !           137:       ivcomp = ivon02
        !           138:       ivcorr = 0
        !           139:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           140:  1051 continue
        !           141:       ivtnum = 105
        !           142: c
        !           143: c      ****  test  105  ****
        !           144: c     test 105  -  test of embedded blanks in a real type statement.
        !           145: c           real to real*2. to integer conversion is performed.  result
        !           146: c           is 1 if the type of the test variable(ivtnr1) was real.
        !           147: c
        !           148:       if (iczero) 31050, 1050, 31050
        !           149:  1050 continue
        !           150:       ivtnr1 = .5
        !           151:       rvon03 = ivtnr1*2.
        !           152:       ivon03 = rvon03 +.3
        !           153:       go to 41050
        !           154: 31050 ivdele = ivdele + 1
        !           155:       write (i02,80003) ivtnum
        !           156:       if (iczero) 41050, 1061, 41050
        !           157: 41050 if(ivon03 - 1) 21050,  11050, 21050
        !           158: 11050 ivpass = ivpass + 1
        !           159:       write (i02,80001) ivtnum
        !           160:       go to 1061
        !           161: 21050 ivfail = ivfail + 1
        !           162:       ivcomp = ivon03
        !           163:       ivcorr = 1
        !           164:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           165:  1061 continue
        !           166:       ivtnum = 106
        !           167: c
        !           168: c      ****  test  106  ****
        !           169: c     test 106  -  test the logical type with embedded blanks by a
        !           170: c           logic assignment (v = .true.) section 4.7.1 and 10.2
        !           171: c
        !           172:       if (iczero) 31060, 1060, 31060
        !           173:  1060 continue
        !           174:       lvtnl1 = .true.
        !           175:       go to 41060
        !           176: 31060 ivdele = ivdele + 1
        !           177:       write (i02,80003) ivtnum
        !           178:       if (iczero) 41060, 1071, 41060
        !           179: 41060 if(iczero) 21060,11060,21060
        !           180: 11060 ivpass = ivpass + 1
        !           181:       write (i02,80001) ivtnum
        !           182:       go to 1071
        !           183: 21060 ivfail = ivfail + 1
        !           184:       write (i02,80002) ivtnum, ivcomp ,ivcorr
        !           185:  1071 continue
        !           186:       ivtnum = 107
        !           187: c
        !           188: c      ****  test  107  ****
        !           189: c     test 107  -  a second test of the logical type statement with
        !           190: c           embedded blanks.  the test is again made by a logical
        !           191: c           assignment (section 4.7.1 and 10.2).
        !           192: c
        !           193:       if (iczero) 31070, 1070, 31070
        !           194:  1070 continue
        !           195:       lvtnl2 = .false.
        !           196:       go to 41070
        !           197: 31070 ivdele = ivdele + 1
        !           198:       write (i02,80003) ivtnum
        !           199:       if (iczero) 41070, 1081, 41070
        !           200: 41070 if(iczero) 21070,11070,21070
        !           201: 11070 ivpass = ivpass + 1
        !           202:       write (i02,80001) ivtnum
        !           203:       go to 1081
        !           204: 21070 ivfail = ivfail + 1
        !           205:       write (i02,80002) ivtnum, ivcomp ,ivcorr
        !           206:  1081 continue
        !           207:       ivtnum = 108
        !           208: c
        !           209: c      ****  test  108  ****
        !           210: c     test 108  -  this is a test of blanks embedded in the common,
        !           211: c           dimension and equivalence statements (section 8.1,
        !           212: c           8.3. and 8.2.).
        !           213: c
        !           214:       if (iczero) 31080, 1080, 31080
        !           215:  1080 continue
        !           216:       iadn11(3) = 4
        !           217:       go to 41080
        !           218: 31080 ivdele = ivdele + 1
        !           219:       write (i02,80003) ivtnum
        !           220:       if (iczero) 41080, 1091, 41080
        !           221: 41080 if(iace11(3) - 4)  21080,11080,21080
        !           222: 11080 ivpass = ivpass + 1
        !           223:       write (i02,80001) ivtnum
        !           224:       go to 1091
        !           225: 21080 ivfail = ivfail + 1
        !           226:       ivcomp = iace11(3)
        !           227:       ivcorr = 4
        !           228:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           229:  1091 continue
        !           230:       ivtnum = 109
        !           231: c
        !           232: c      ****  test  109  ****
        !           233: c     test 109  -  this tests the effect of blanks embedded in the
        !           234: c           data statement by checking the initialization of array
        !           235: c           element values (section 9).
        !           236: c
        !           237:       if (iczero) 31090, 1090, 31090
        !           238:  1090 continue
        !           239:       ivon04    = iadn12(1) + iadn12(2) + iadn12(3)
        !           240:       go to 41090
        !           241: 31090 ivdele = ivdele + 1
        !           242:       write (i02,80003) ivtnum
        !           243:       if (iczero) 41090, 1101, 41090
        !           244: 41090 if(ivon04 - 9) 21090,11090,21090
        !           245: 11090 ivpass = ivpass + 1
        !           246:       write (i02,80001) ivtnum
        !           247:       go to 1101
        !           248: 21090 ivfail = ivfail + 1
        !           249:       ivcomp = ivon04
        !           250:       ivcorr = 9
        !           251:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           252:  1101 continue
        !           253: c
        !           254: c     write page footings and run summaries
        !           255: 99999 continue
        !           256:       write (i02,90002)
        !           257:       write (i02,90006)
        !           258:       write (i02,90002)
        !           259:       write (i02,90002)
        !           260:       write (i02,90007)
        !           261:       write (i02,90002)
        !           262:       write (i02,90008)  ivfail
        !           263:       write (i02,90009) ivpass
        !           264:       write (i02,90010) ivdele
        !           265: c
        !           266: c
        !           267: c     terminate routine execution
        !           268:       stop
        !           269: c
        !           270: c     format statements for page headers
        !           271: 90000 format (1h1)
        !           272: 90002 format (1h )
        !           273: 90001 format (1h ,10x,34hfortran compiler validation system)
        !           274: 90003 format (1h ,21x,11hversion 1.0)
        !           275: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
        !           276: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
        !           277: 90006 format (1h ,5x,46h----------------------------------------------)
        !           278: 90011 format (1h ,18x,17hsubset level test)
        !           279: c
        !           280: c     format statements for run summaries
        !           281: 90008 format (1h ,15x,i5,19h errors encountered)
        !           282: 90009 format (1h ,15x,i5,13h tests passed)
        !           283: 90010 format (1h ,15x,i5,14h tests deleted)
        !           284: c
        !           285: c     format statements for test results
        !           286: 80001 format (1h ,4x,i5,7x,4hpass)
        !           287: 80002 format (1h ,4x,i5,7x,4hfail)
        !           288: 80003 format (1h ,4x,i5,7x,7hdeleted)
        !           289: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
        !           290: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
        !           291: c
        !           292: 90007 format (1h ,20x,20hend of program fm011)
        !           293:       end

unix.superglobalmegacorp.com

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