Annotation of 43BSDTahoe/usr.bin/f77/testf77/tests/fm003.f, revision 1.1.1.1

1.1       root        1: c     comment section
                      2: c
                      3: c     fm003
                      4: c
                      5: c         this routine contains the basic continue tests.  these tests
                      6: c     ensure that execution of a continue statement causes continuation
                      7: c     of the normal program execution sequence.  only the statements in
                      8: c     the basic assumptions are included in these tests.  other continue
                      9: c     tests are contained in other routines as part of the tests for
                     10: c     other language features such as the do statements tests.
                     11: c
                     12: c      references
                     13: c        american national standard programming language fortran,
                     14: c              x3.9-1978
                     15: c
                     16: c        section 3.6, normal execution sequence and transfer of control
                     17: c        section 11.11, continue statement
                     18: c
                     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:   131 continue
                     90:       ivtnum =  13
                     91: c
                     92: c      ****  test 013  ****
                     93: c         test 13 - continue test
                     94: c               continue statement following integer assignment
                     95: c               statements.
                     96: c
                     97:       if (iczero) 30130,  130, 30130
                     98:   130 continue
                     99:       ivon01=5
                    100:       ivon02=6
                    101:       continue
                    102:       go to 40130
                    103: 30130 ivdele = ivdele + 1
                    104:       write (i02,80003) ivtnum
                    105:       if (iczero) 40130,  141, 40130
                    106: 40130 if (ivon01-5) 20131,40131,20131
                    107: 40131 if (ivon02-6) 20132,10130,20132
                    108: 10130 ivpass = ivpass + 1
                    109:       write (i02,80001) ivtnum
                    110:       go to  141
                    111: 20131 ivcomp=ivon01
                    112:       ivcorr=5
                    113:       go to 20130
                    114: 20132 ivcomp=ivon02
                    115:       ivcorr=6
                    116: 20130 ivfail = ivfail + 1
                    117:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    118:   141 continue
                    119:       ivtnum =  14
                    120: c
                    121: c      ****  test 014  ****
                    122: c         test 14 - continue test
                    123: c               continue statement between integer assignment
                    124: c               statements
                    125: c
                    126:       if (iczero) 30140,  140, 30140
                    127:   140 continue
                    128:       ivon01=14
                    129:       continue
                    130:       ivon02=15
                    131:       go to 40140
                    132: 30140 ivdele = ivdele + 1
                    133:       write (i02,80003) ivtnum
                    134:       if (iczero) 40140,  151, 40140
                    135: 40140 if (ivon01 - 14) 20141,40141,20141
                    136: 40141 if (ivon02 - 15) 20142, 10140, 20142
                    137: 10140 ivpass = ivpass + 1
                    138:       write (i02,80001) ivtnum
                    139:       go to  151
                    140: 20141 ivcomp=ivon01
                    141:       ivcorr=14
                    142:       go to 20140
                    143: 20142 ivcomp=ivon02
                    144:       ivcorr=15
                    145: 20140 ivfail = ivfail + 1
                    146:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    147:   151 continue
                    148:       ivtnum =  15
                    149: c
                    150: c      ****  test 015  ****
                    151: c         test 15 - continue test
                    152: c               two consecutive continue statements
                    153: c
                    154:       if (iczero) 30150,  150, 30150
                    155:   150 continue
                    156:       continue
                    157:       ivon01=19
                    158:       ivon02=20
                    159:       go to 40150
                    160: 30150 ivdele = ivdele + 1
                    161:       write (i02,80003) ivtnum
                    162:       if (iczero) 40150,  161, 40150
                    163: 40150 if (ivon01 - 19) 20151,40151,20151
                    164: 40151 if (ivon02 -20) 20152,10150,20152
                    165: 10150 ivpass = ivpass + 1
                    166:       write (i02,80001) ivtnum
                    167:       go to  161
                    168: 20151 ivcomp=ivon01
                    169:       ivcorr=19
                    170:       go to 20150
                    171: 20152 ivcomp=ivon02
                    172:       ivcorr=20
                    173: 20150 ivfail = ivfail + 1
                    174:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    175:   161 continue
                    176:       ivtnum =  16
                    177: c
                    178: c      ****  test 016  ****
                    179: c         test 16 - continue test
                    180: c               branch to continue statement from if statement
                    181: c
                    182:       if (iczero) 30160,  160, 30160
                    183:   160 continue
                    184:       ivon01=16
                    185:       if (ivon01 - 16) 162,163,162
                    186:   162 ivcorr=16
                    187:       go to 20160
                    188:   163 continue
                    189:       ivon01=160
                    190:       go to 40160
                    191: 30160 ivdele = ivdele + 1
                    192:       write (i02,80003) ivtnum
                    193:       if (iczero) 40160,  171, 40160
                    194: 40160 if (ivon01-160) 20161,10160,20161
                    195: 10160 ivpass = ivpass + 1
                    196:       write (i02,80001) ivtnum
                    197:       go to  171
                    198: 20161 ivcorr=160
                    199: 20160 ivfail = ivfail + 1
                    200:       ivcomp=ivon01
                    201:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    202:   171 continue
                    203:       ivtnum =  17
                    204: c
                    205: c      ****  test 017  ****
                    206: c         test 17 - continue test
                    207: c               two of the branches of an if statement are to the same
                    208: c               continue statement.  the third branch also is made to
                    209: c               a continue statement.
                    210: c
                    211:       if (iczero) 30170,  170, 30170
                    212:   170 continue
                    213:       ivon01=17
                    214:       if (ivon01-19) 173,172,172
                    215:   172 continue
                    216:       ivcorr=17
                    217:       go to 20170
                    218:   173 continue
                    219:       ivon01=170
                    220:       go to 40170
                    221: 30170 ivdele = ivdele + 1
                    222:       write (i02,80003) ivtnum
                    223:       if (iczero) 40170,  181, 40170
                    224: 40170 if (ivon01 - 170) 20171,10170,20171
                    225: 10170 ivpass = ivpass + 1
                    226:       write (i02,80001) ivtnum
                    227:       go to  181
                    228: 20171 ivcorr=170
                    229: 20170 ivfail = ivfail + 1
                    230:       ivcomp=ivon01
                    231:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    232:   181 continue
                    233:       ivtnum =  18
                    234: c
                    235: c      ****  test 018  ****
                    236: c         test 18 - continue test
                    237: c               branch to continue statement from go to statement
                    238: c
                    239:       if (iczero) 30180,  180, 30180
                    240:   180 continue
                    241:       if (iczero) 184,182,184
                    242:   182 ivon01=18
                    243:       go to 183
                    244:   184 ivon01=20
                    245:   183 continue
                    246:       ivon02=180
                    247:       go to 40180
                    248: 30180 ivdele = ivdele + 1
                    249:       write (i02,80003) ivtnum
                    250:       if (iczero) 40180,  191, 40180
                    251: 40180 if (ivon01 - 18) 20181,40181,20181
                    252: 40181 if (ivon02 -180) 20182,10180,20182
                    253: 10180 ivpass = ivpass + 1
                    254:       write (i02,80001) ivtnum
                    255:       go to  191
                    256: 20181 ivcorr=18
                    257:       ivcomp=ivon01
                    258:       go to 20180
                    259: 20182 ivcomp=ivon02
                    260:       ivcorr=180
                    261: 20180 ivfail = ivfail + 1
                    262:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    263:   191 continue
                    264:       ivtnum =  19
                    265: c
                    266: c      ****  test 019  ****
                    267: c         test 19 - continue test
                    268: c             branch to three  continue statements  from if statement.
                    269: c               continue statements follow each other.
                    270: c
                    271:       if (iczero) 30190,  190, 30190
                    272:   190 continue
                    273:       icone = 1
                    274:       if (icone) 194,192,193
                    275:   193 continue
                    276:   192 continue
                    277:   194 continue
                    278:       ivon01=19
                    279:       go to 40190
                    280: 30190 ivdele = ivdele + 1
                    281:       write (i02,80003) ivtnum
                    282:       if (iczero) 40190,  201, 40190
                    283: 40190 if (ivon01 - 19) 20190,10190,20190
                    284: 10190 ivpass = ivpass + 1
                    285:       write (i02,80001) ivtnum
                    286:       go to  201
                    287: 20190 ivfail = ivfail + 1
                    288:       ivcomp=ivon01
                    289:       ivcorr=19
                    290:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    291:   201 continue
                    292:       ivtnum =  20
                    293: c
                    294: c      ****  test 020  ****
                    295: c         test 20 - continue test
                    296: c               three separate branches of an if statement are to
                    297: c               continue statements.
                    298: c
                    299:       if (iczero) 30200,  200, 30200
                    300:   200 continue
                    301:       icon02=-2
                    302:       if  (icon02) 204,202,203
                    303:   203 continue
                    304:       ivon01=203
                    305:       go to 40200
                    306:   204 continue
                    307:       ivon01 = 204
                    308:       go to 40200
                    309:   202 continue
                    310:       ivon01=202
                    311:       go to 40200
                    312: 30200 ivdele = ivdele + 1
                    313:       write (i02,80003) ivtnum
                    314:       if (iczero) 40200,  211, 40200
                    315: 40200 if (ivon01 - 204) 20200,10200,20200
                    316: 10200 ivpass = ivpass + 1
                    317:       write (i02,80001) ivtnum
                    318:       go to  211
                    319: 20200 ivfail = ivfail + 1
                    320:       ivcomp=ivon01
                    321:       ivcorr=204
                    322:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    323:   211 continue
                    324: c
                    325: c     write page footings and run summaries
                    326: 99999 continue
                    327:       write (i02,90002)
                    328:       write (i02,90006)
                    329:       write (i02,90002)
                    330:       write (i02,90002)
                    331:       write (i02,90007)
                    332:       write (i02,90002)
                    333:       write (i02,90008)  ivfail
                    334:       write (i02,90009) ivpass
                    335:       write (i02,90010) ivdele
                    336: c
                    337: c
                    338: c     terminate routine execution
                    339:       stop
                    340: c
                    341: c     format statements for page headers
                    342: 90000 format (1h1)
                    343: 90002 format (1h )
                    344: 90001 format (1h ,10x,34hfortran compiler validation system)
                    345: 90003 format (1h ,21x,11hversion 1.0)
                    346: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
                    347: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
                    348: 90006 format (1h ,5x,46h----------------------------------------------)
                    349: 90011 format (1h ,18x,17hsubset level test)
                    350: c
                    351: c     format statements for run summaries
                    352: 90008 format (1h ,15x,i5,19h errors encountered)
                    353: 90009 format (1h ,15x,i5,13h tests passed)
                    354: 90010 format (1h ,15x,i5,14h tests deleted)
                    355: c
                    356: c     format statements for test results
                    357: 80001 format (1h ,4x,i5,7x,4hpass)
                    358: 80002 format (1h ,4x,i5,7x,4hfail)
                    359: 80003 format (1h ,4x,i5,7x,7hdeleted)
                    360: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
                    361: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
                    362: c
                    363: 90007 format (1h ,20x,20hend of program fm003)
                    364:       end

unix.superglobalmegacorp.com

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