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

1.1       root        1: c
                      2: c     comment section.
                      3: c
                      4: c     fm016
                      5: c
                      6: c             this routine begins a series of tests  of the fortran
                      7: c     logical    if statement in all of the various forms.    the
                      8: c     following logical operands are used for this routine - logical
                      9: c     constants, logical variables, logical array elements, and
                     10: c     arithmetic expressions with various relational operators.  both
                     11: c     the true and false branches are tested in the series of tests.
                     12: c
                     13: c      references
                     14: c        american national standard programming language fortran,
                     15: c              x3.9-1978
                     16: c
                     17: c        section 4.7.1, logical constant
                     18: c        section 6, expressions
                     19: c        section 6.1, arithmetic expressions
                     20: c        section 6.3, relational expressions
                     21: c        section 6.4, logical expressions
                     22: c        section 6.6, evaluation of expressions
                     23: c        section 10, assignment statements
                     24: c        section 10.2, logical assignment statement
                     25: c        section 11.5, logical if statement
                     26: c
                     27:       logical  lctnt1, lctnf1, lvtntf, lvtnft, latn1a(2)
                     28:       logical  ladn1d, ladn1b
                     29:       dimension  ladn1d(2), ladn1b(2)
                     30:       data  ladn1d/.true., .false./
                     31: c
                     32: c      **********************************************************
                     33: c
                     34: c         a compiler validation system for the fortran language
                     35: c     based on specifications as defined in american national standard
                     36: c     programming language fortran x3.9-1978, has been developed by the
                     37: c     federal cobol compiler testing service.  the fortran compiler
                     38: c     validation system (fcvs) consists of audit routines, their related
                     39: c     data, and an executive system.  each audit routine is a fortran
                     40: c     program, subprogram or function which includes tests of specific
                     41: c     language elements and supporting procedures indicating the result
                     42: c     of executing these tests.
                     43: c
                     44: c         this particular program/subprogram/function contains features
                     45: c     found only in the subset as defined in x3.9-1978.
                     46: c
                     47: c         suggestions and comments should be forwarded to -
                     48: c
                     49: c                  department of the navy
                     50: c                  federal cobol compiler testing service
                     51: c                  washington, d.c.  20376
                     52: c
                     53: c      **********************************************************
                     54: c
                     55: c
                     56: c
                     57: c     initialization section
                     58: c
                     59: c     initialize constants
                     60: c      **************
                     61: c     i01 contains the logical unit number for the card reader.
                     62:       i01 = 5
                     63: c     i02 contains the logical unit number for the printer.
                     64:       i02 = 6
                     65: c     system environment section
                     66: c
                     67: cx010    this card is replaced by contents of fexec x-010 control card.
                     68: c     the cx010 card is for overriding the program default i01 = 5
                     69: c     (unit number for card reader).
                     70: cx011    this card is replaced by contents of fexec x-011 control card.
                     71: c     the cx011 card is for systems which require additional
                     72: c     fortran statements for files associated with cx010 above.
                     73: c
                     74: cx020    this card is replaced by contents of fexec x-020 control card.
                     75: c     the cx020 card is for overriding the program default i02 = 6
                     76: c     (unit number for printer).
                     77: cx021    this card is replaced by contents of fexec x-021 control card.
                     78: c     the cx021 card is for systems which require additional
                     79: c     fortran statements for files associated with cx020 above.
                     80: c
                     81:       ivpass=0
                     82:       ivfail=0
                     83:       ivdele=0
                     84:       iczero=0
                     85: c
                     86: c     write page headers
                     87:       write (i02,90000)
                     88:       write (i02,90001)
                     89:       write (i02,90002)
                     90:       write (i02, 90002)
                     91:       write (i02,90003)
                     92:       write (i02,90002)
                     93:       write (i02,90004)
                     94:       write (i02,90002)
                     95:       write (i02,90011)
                     96:       write (i02,90002)
                     97:       write (i02,90002)
                     98:       write (i02,90005)
                     99:       write (i02,90006)
                    100:       write (i02,90002)
                    101:       ivtnum = 139
                    102: c     test 139  -  this tests the logical constant  .true.
                    103: c
                    104:       if (iczero) 31390, 1390, 31390
                    105:  1390 continue
                    106:       ivon01=0
                    107:       if ( .true. ) ivon01 = 1
                    108:       go to 41390
                    109: 31390 ivdele = ivdele + 1
                    110:       write (i02,80003) ivtnum
                    111:       if (iczero) 41390, 1401, 41390
                    112: 41390 if ( ivon01 - 1 )  21390, 11390, 21390
                    113: 11390 ivpass = ivpass + 1
                    114:       write (i02,80001) ivtnum
                    115:       go to 1401
                    116: 21390 ivfail = ivfail + 1
                    117:       ivcomp=ivon01
                    118:       ivcorr=1
                    119:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    120:  1401 continue
                    121:       ivtnum = 140
                    122: c     test 140  -  this tests the logical constant  .false.
                    123: c
                    124:       if (iczero) 31400, 1400, 31400
                    125:  1400 continue
                    126:       ivon01=1
                    127:       if ( .false. ) ivon01=0
                    128:       go to 41400
                    129: 31400 ivdele = ivdele + 1
                    130:       write (i02,80003) ivtnum
                    131:       if (iczero) 41400, 1411, 41400
                    132: 41400 if ( ivon01 - 1 )  21400, 11400, 21400
                    133: 11400 ivpass = ivpass + 1
                    134:       write (i02,80001) ivtnum
                    135:       go to 1411
                    136: 21400 ivfail = ivfail + 1
                    137:       ivcomp=ivon01
                    138:       ivcorr=1
                    139:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    140:  1411 continue
                    141:       ivtnum = 141
                    142: c     test 141  -  this tests the logical variable = .true.
                    143: c
                    144:       if (iczero) 31410, 1410, 31410
                    145:  1410 continue
                    146:       lctnt1=.true.
                    147:       ivon01 = 0
                    148:       if ( lctnt1 )  ivon01 = 1
                    149:       go to 41410
                    150: 31410 ivdele = ivdele + 1
                    151:       write (i02,80003) ivtnum
                    152:       if (iczero) 41410, 1421, 41410
                    153: 41410 if ( ivon01 - 1 )  21410, 11410, 21410
                    154: 11410 ivpass = ivpass + 1
                    155:       write (i02,80001) ivtnum
                    156:       go to 1421
                    157: 21410 ivfail = ivfail + 1
                    158:       ivcomp=ivon01
                    159:       ivcorr=1
                    160:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    161:  1421 continue
                    162:       ivtnum = 142
                    163: c     test 142  -  this tests the logical variable =  .false.
                    164: c
                    165:       if (iczero) 31420, 1420, 31420
                    166:  1420 continue
                    167:       ivon01=1
                    168:       lctnf1=.false.
                    169:       if ( lctnf1 )  ivon01=0
                    170:       go to 41420
                    171: 31420 ivdele = ivdele + 1
                    172:       write (i02,80003) ivtnum
                    173:       if (iczero) 41420, 1431, 41420
                    174: 41420 if ( ivon01 - 1 )  21420, 11420, 21420
                    175: 11420 ivpass = ivpass + 1
                    176:       write (i02,80001) ivtnum
                    177:       go to 1431
                    178: 21420 ivfail = ivfail + 1
                    179:       ivcomp=ivon01
                    180:       ivcorr=1
                    181:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    182:  1431 continue
                    183:       ivtnum = 143
                    184: c     test 143  -  this tests changing the value of a logical variable
                    185: c           from .true.  to  .false.
                    186: c
                    187:       if (iczero) 31430, 1430, 31430
                    188:  1430 continue
                    189:       lvtntf=.true.
                    190:       lvtntf=.false.
                    191:       ivon01 = 1
                    192:       if ( lvtntf )  ivon01 = 0
                    193:       go to 41430
                    194: 31430 ivdele = ivdele + 1
                    195:       write (i02,80003) ivtnum
                    196:       if (iczero) 41430, 1441, 41430
                    197: 41430 if ( ivon01 - 1 )  21430, 11430, 21430
                    198: 11430 ivpass = ivpass + 1
                    199:       write (i02,80001) ivtnum
                    200:       go to 1441
                    201: 21430 ivfail = ivfail + 1
                    202:       ivcomp=ivon01
                    203:       ivcorr=1
                    204:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    205:  1441 continue
                    206:       ivtnum = 144
                    207: c     test 144  -  this tests changing the value of a logical variable
                    208: c           from  .false.  to  .true.
                    209: c
                    210:       if (iczero) 31440, 1440, 31440
                    211:  1440 continue
                    212:       lvtnft=.false.
                    213:       lvtnft=.true.
                    214:       ivon01=0
                    215:       if ( lvtnft )  ivon01=1
                    216:       go to 41440
                    217: 31440 ivdele = ivdele + 1
                    218:       write (i02,80003) ivtnum
                    219:       if (iczero) 41440, 1451, 41440
                    220: 41440 if ( ivon01 - 1 )  21440, 11440, 21440
                    221: 11440 ivpass = ivpass + 1
                    222:       write (i02,80001) ivtnum
                    223:       go to 1451
                    224: 21440 ivfail = ivfail + 1
                    225:       ivcomp=ivon01
                    226:       ivcorr=1
                    227:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    228:  1451 continue
                    229:       ivtnum = 145
                    230: c     test 145  -  test of a logical array element set to  .true.
                    231: c
                    232:       if (iczero) 31450, 1450, 31450
                    233:  1450 continue
                    234:       latn1a(1)=.true.
                    235:       ivon01=0
                    236:       if ( latn1a(1) )  ivon01=1
                    237:       go to 41450
                    238: 31450 ivdele = ivdele + 1
                    239:       write (i02,80003) ivtnum
                    240:       if (iczero) 41450, 1461, 41450
                    241: 41450 if ( ivon01 - 1 )  21450, 11450, 21450
                    242: 11450 ivpass = ivpass + 1
                    243:       write (i02,80001) ivtnum
                    244:       go to 1461
                    245: 21450 ivfail = ivfail + 1
                    246:       ivcomp=ivon01
                    247:       ivcorr=1
                    248:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    249:  1461 continue
                    250:       ivtnum = 146
                    251: c     test 146  -  test of a logical array element set to  .false.
                    252: c
                    253:       if (iczero) 31460, 1460, 31460
                    254:  1460 continue
                    255:       latn1a(2) = .false.
                    256:       ivon01=1
                    257:       if ( latn1a(2) )  ivon01=0
                    258:       go to 41460
                    259: 31460 ivdele = ivdele + 1
                    260:       write (i02,80003) ivtnum
                    261:       if (iczero) 41460, 1471, 41460
                    262: 41460 if ( ivon01 - 1 )  21460, 11460, 21460
                    263: 11460 ivpass = ivpass + 1
                    264:       write (i02,80001) ivtnum
                    265:       go to 1471
                    266: 21460 ivfail = ivfail + 1
                    267:       ivcomp=ivon01
                    268:       ivcorr=1
                    269:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    270:  1471 continue
                    271:       ivtnum = 147
                    272: c     test 147  -  test of a logical array element set  .true.
                    273: c           in a data initialization statement.
                    274: c
                    275:       if (iczero) 31470, 1470, 31470
                    276:  1470 continue
                    277:       ivon01=0
                    278:       if ( ladn1d(1) )  ivon01=1
                    279:       go to 41470
                    280: 31470 ivdele = ivdele + 1
                    281:       write (i02,80003) ivtnum
                    282:       if (iczero) 41470, 1481, 41470
                    283: 41470 if ( ivon01 - 1 )  21470, 11470, 21470
                    284: 11470 ivpass = ivpass + 1
                    285:       write (i02,80001) ivtnum
                    286:       go to 1481
                    287: 21470 ivfail = ivfail + 1
                    288:       ivcomp=ivon01
                    289:       ivcorr=1
                    290:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    291:  1481 continue
                    292:       ivtnum = 148
                    293: c     test 148  -  test of a logical array element set  .false.
                    294: c           in a data initialization statement.
                    295: c
                    296:       if (iczero) 31480, 1480, 31480
                    297:  1480 continue
                    298:       ivon01=1
                    299:       if ( ladn1d(2) )  ivon01=0
                    300:       go to 41480
                    301: 31480 ivdele = ivdele + 1
                    302:       write (i02,80003) ivtnum
                    303:       if (iczero) 41480, 1491, 41480
                    304: 41480 if ( ivon01 - 1 )  21480, 11480, 21480
                    305: 11480 ivpass = ivpass + 1
                    306:       write (i02,80001) ivtnum
                    307:       go to 1491
                    308: 21480 ivfail = ivfail + 1
                    309:       ivcomp=ivon01
                    310:       ivcorr=1
                    311:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    312:  1491 continue
                    313:       ivtnum = 149
                    314: c     test 149  -  like test 145 except that the array declaration was
                    315: c           in a dimension statement rather than in the type statement.
                    316: c
                    317:       if (iczero) 31490, 1490, 31490
                    318:  1490 continue
                    319:       ladn1b(1)=.true.
                    320:       ivon01=0
                    321:       if ( ladn1b(1) )  ivon01=1
                    322:       go to 41490
                    323: 31490 ivdele = ivdele + 1
                    324:       write (i02,80003) ivtnum
                    325:       if (iczero) 41490, 1501, 41490
                    326: 41490 if ( ivon01 - 1 )  21490, 11490, 21490
                    327: 11490 ivpass = ivpass + 1
                    328:       write (i02,80001) ivtnum
                    329:       go to 1501
                    330: 21490 ivfail = ivfail + 1
                    331:       ivcomp=ivon01
                    332:       ivcorr=1
                    333:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    334: c
                    335: c           for tests 150 thru 156  the true path is used..
                    336: c
                    337:  1501 continue
                    338:       ivtnum = 150
                    339: c     test 150  -  relational expression with integer constants  .lt.
                    340: c
                    341:       if (iczero) 31500, 1500, 31500
                    342:  1500 continue
                    343:       ivon01=0
                    344:       if ( 3 .lt. 76 )  ivon01=1
                    345:       go to 41500
                    346: 31500 ivdele = ivdele + 1
                    347:       write (i02,80003) ivtnum
                    348:       if (iczero) 41500, 1511, 41500
                    349: 41500 if ( ivon01 - 1 )  21500, 11500, 21500
                    350: 11500 ivpass = ivpass + 1
                    351:       write (i02,80001) ivtnum
                    352:       go to 1511
                    353: 21500 ivfail = ivfail + 1
                    354:       ivcomp=ivon01
                    355:       ivcorr=1
                    356:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    357:  1511 continue
                    358:       ivtnum = 151
                    359: c     test 151  -  test with relational expression  .le.
                    360: c
                    361:       if (iczero) 31510, 1510, 31510
                    362:  1510 continue
                    363:       ivon01=0
                    364:       if ( 587 .le. 587 )  ivon01=1
                    365:       go to 41510
                    366: 31510 ivdele = ivdele + 1
                    367:       write (i02,80003) ivtnum
                    368:       if (iczero) 41510, 1521, 41510
                    369: 41510 if ( ivon01 - 1 )  21510, 11510, 21510
                    370: 11510 ivpass = ivpass + 1
                    371:       write (i02,80001) ivtnum
                    372:       go to 1521
                    373: 21510 ivfail = ivfail + 1
                    374:       ivcomp=ivon01
                    375:       ivcorr=1
                    376:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    377:  1521 continue
                    378:       ivtnum = 152
                    379: c     test 152  -  test of relational expression with integer constants
                    380: c           relational operator is  .eq.
                    381: c
                    382:       if (iczero) 31520, 1520, 31520
                    383:  1520 continue
                    384:       ivon01=0
                    385:       if ( 9999 .eq. 9999 )  ivon01=1
                    386:       go to 41520
                    387: 31520 ivdele = ivdele + 1
                    388:       write (i02,80003) ivtnum
                    389:       if (iczero) 41520, 1531, 41520
                    390: 41520 if ( ivon01 - 1 )  21520, 11520, 21520
                    391: 11520 ivpass = ivpass + 1
                    392:       write (i02,80001) ivtnum
                    393:       go to 1531
                    394: 21520 ivfail = ivfail + 1
                    395:       ivcomp=ivon01
                    396:       ivcorr=1
                    397:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    398:  1531 continue
                    399:       ivtnum = 153
                    400: c     test 153  -  test of relational expression with integer constants
                    401: c           relational operator is  .ne.
                    402: c
                    403:       if (iczero) 31530, 1530, 31530
                    404:  1530 continue
                    405:       ivon01=0
                    406:       if ( 0 .ne. 32767 )  ivon01=1
                    407:       go to 41530
                    408: 31530 ivdele = ivdele + 1
                    409:       write (i02,80003) ivtnum
                    410:       if (iczero) 41530, 1541, 41530
                    411: 41530 if ( ivon01 - 1 )  21530, 11530, 21530
                    412: 11530 ivpass = ivpass + 1
                    413:       write (i02,80001) ivtnum
                    414:       go to 1541
                    415: 21530 ivfail = ivfail + 1
                    416:       ivcomp=ivon01
                    417:       ivcorr=1
                    418:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    419:  1541 continue
                    420:       ivtnum = 154
                    421: c     test 154  -  test of relational expression with integer constants
                    422: c           relational operator is  .gt.
                    423: c
                    424:       if (iczero) 31540, 1540, 31540
                    425:  1540 continue
                    426:       ivon01=0
                    427:       if ( 32767 .gt. 76 )  ivon01=1
                    428:       go to 41540
                    429: 31540 ivdele = ivdele + 1
                    430:       write (i02,80003) ivtnum
                    431:       if (iczero) 41540, 1551, 41540
                    432: 41540 if ( ivon01 - 1 )  21540, 11540, 21540
                    433: 11540 ivpass = ivpass + 1
                    434:       write (i02,80001) ivtnum
                    435:       go to 1551
                    436: 21540 ivfail = ivfail + 1
                    437:       ivcomp=ivon01
                    438:       ivcorr=1
                    439:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    440:  1551 continue
                    441:       ivtnum = 155
                    442: c     test 155  -  test of relational expression with integer constants
                    443: c           relational operator is  .ge.
                    444: c
                    445:       if (iczero) 31550, 1550, 31550
                    446:  1550 continue
                    447:       ivon01=0
                    448:       if ( 32767 .ge. 76 )  ivon01=1
                    449:       go to 41550
                    450: 31550 ivdele = ivdele + 1
                    451:       write (i02,80003) ivtnum
                    452:       if (iczero) 41550, 1561, 41550
                    453: 41550 if ( ivon01 - 1 )  21550, 11550, 21550
                    454: 11550 ivpass = ivpass + 1
                    455:       write (i02,80001) ivtnum
                    456:       go to 1561
                    457: 21550 ivfail = ivfail + 1
                    458:       ivcomp=ivon01
                    459:       ivcorr=1
                    460:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    461:  1561 continue
                    462:       ivtnum = 156
                    463: c     test 156  -  test of relational expression with integer constants
                    464: c           relational operator is  .ge.
                    465: c
                    466:       if (iczero) 31560, 1560, 31560
                    467:  1560 continue
                    468:       ivon01=0
                    469:       if ( 32767 .ge. 32767 )  ivon01=1
                    470:       go to 41560
                    471: 31560 ivdele = ivdele + 1
                    472:       write (i02,80003) ivtnum
                    473:       if (iczero) 41560, 1571, 41560
                    474: 41560 if ( ivon01 - 1 )  21560, 11560, 21560
                    475: 11560 ivpass = ivpass + 1
                    476:       write (i02,80001) ivtnum
                    477:       go to 1571
                    478: 21560 ivfail = ivfail + 1
                    479:       ivcomp=ivon01
                    480:       ivcorr=1
                    481:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    482: c
                    483: c           for tests 157 thru 162 the false path is used..
                    484: c
                    485:  1571 continue
                    486:       ivtnum = 157
                    487: c     test 157  -  relational expression integer constants false path
                    488: c           relational operator is  .lt.
                    489: c
                    490:       if (iczero) 31570, 1570, 31570
                    491:  1570 continue
                    492:       ivon01=1
                    493:       if ( 76 .lt. 3 )  ivon01=0
                    494:       go to 41570
                    495: 31570 ivdele = ivdele + 1
                    496:       write (i02,80003) ivtnum
                    497:       if (iczero) 41570, 1581, 41570
                    498: 41570 if ( ivon01 - 1 )  21570, 11570, 21570
                    499: 11570 ivpass = ivpass + 1
                    500:       write (i02,80001) ivtnum
                    501:       go to 1581
                    502: 21570 ivfail = ivfail + 1
                    503:       ivcomp=ivon01
                    504:       ivcorr=1
                    505:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    506:  1581 continue
                    507:       ivtnum = 158
                    508: c     test 158  -  relational expression integer constants false path
                    509: c           relational operator is  .le.
                    510: c
                    511:       if (iczero) 31580, 1580, 31580
                    512:  1580 continue
                    513:       ivon01=1
                    514:       if ( 76 .le. 3 )  ivon01=0
                    515:       go to 41580
                    516: 31580 ivdele = ivdele + 1
                    517:       write (i02,80003) ivtnum
                    518:       if (iczero) 41580, 1591, 41580
                    519: 41580 if ( ivon01 - 1 )  21580, 11580, 21580
                    520: 11580 ivpass = ivpass + 1
                    521:       write (i02,80001) ivtnum
                    522:       go to 1591
                    523: 21580 ivfail = ivfail + 1
                    524:       ivcomp=ivon01
                    525:       ivcorr=1
                    526:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    527:  1591 continue
                    528:       ivtnum = 159
                    529: c     test 159  -  relational expression integer constants false path
                    530: c           relational operator is  .eq.
                    531: c
                    532:       if (iczero) 31590, 1590, 31590
                    533:  1590 continue
                    534:       ivon01=1
                    535:       if (  9999 .eq. 587 ) ivon01=0
                    536:       go to 41590
                    537: 31590 ivdele = ivdele + 1
                    538:       write (i02,80003) ivtnum
                    539:       if (iczero) 41590, 1601, 41590
                    540: 41590 if ( ivon01 - 1 )  21590, 11590, 21590
                    541: 11590 ivpass = ivpass + 1
                    542:       write (i02,80001) ivtnum
                    543:       go to 1601
                    544: 21590 ivfail = ivfail + 1
                    545:       ivcomp=ivon01
                    546:       ivcorr=1
                    547:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    548:  1601 continue
                    549:       ivtnum = 160
                    550: c     test 160  -  relational expression integer constants false path
                    551: c           relational operator is  .ne.
                    552: c
                    553:       if (iczero) 31600, 1600, 31600
                    554:  1600 continue
                    555:       ivon01=1
                    556:       if (  3 .ne. 3 )  ivon01=0
                    557:       go to 41600
                    558: 31600 ivdele = ivdele + 1
                    559:       write (i02,80003) ivtnum
                    560:       if (iczero) 41600, 1611, 41600
                    561: 41600 if ( ivon01 - 1 )  21600, 11600, 21600
                    562: 11600 ivpass = ivpass + 1
                    563:       write (i02,80001) ivtnum
                    564:       go to 1611
                    565: 21600 ivfail = ivfail + 1
                    566:       ivcomp=ivon01
                    567:       ivcorr=1
                    568:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    569:  1611 continue
                    570:       ivtnum=161
                    571: c
                    572: c     test 161  -  relational expression integer constants false path
                    573: c           relational operator is  .gt.
                    574: c
                    575:       if ( iczero )  31610, 1610, 31610
                    576:  1610 continue
                    577:       ivon01=1
                    578:       if ( 76 .gt. 32767 )  ivon01=0
                    579:       go to 41610
                    580: 31610 ivdele = ivdele + 1
                    581:       write (i02,80003) ivtnum
                    582:       if ( iczero )  41610, 1621, 41610
                    583: 41610 if ( ivon01 - 1 )  21610, 11610, 21610
                    584: 11610 ivpass = ivpass+ 1
                    585:       write (i02,80001) ivtnum
                    586:       go to 1621
                    587: 21610 ivfail = ivfail + 1
                    588:       ivcomp=ivon01
                    589:       ivcorr=1
                    590:       write (i02,80004) ivtnum, ivcomp, ivcorr
                    591:  1621 continue
                    592:       ivtnum = 162
                    593: c
                    594: c
                    595: c      ****  test 162  ****
                    596: c
                    597: c     test 162  -  relational expression integer constants false path
                    598: c           relational operator is  .ge.
                    599: c
                    600:       if (iczero) 31620, 1620, 31620
                    601:  1620 continue
                    602:       ivon01=1
                    603:       if ( 76 .ge. 32767 )  ivon01 = 0
                    604:       go to 41620
                    605: 31620 ivdele = ivdele + 1
                    606:       write (i02,80003) ivtnum
                    607:       if (iczero) 41620, 1631, 41620
                    608: 41620 if ( ivon01 - 1 )  21620, 11620, 21620
                    609: 11620 ivpass = ivpass + 1
                    610:       write (i02,80001) ivtnum
                    611:       go to 1631
                    612: 21620 ivfail = ivfail + 1
                    613:       ivcomp=ivon01
                    614:       ivcorr=1
                    615:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    616:  1631 continue
                    617:       ivtnum = 163
                    618: c
                    619: c      ****  test 163  ****
                    620: c     test 163  -  relational expression with integer variable
                    621: c           references  (ic)  (ro)  (ivr).   true path.  use  .lt.
                    622: c
                    623: c
                    624:       if (iczero) 31630, 1630, 31630
                    625:  1630 continue
                    626:       ivon01 = 76
                    627:       ivon02 = 0
                    628:       if ( 3 .lt. ivon01 )  ivon02 = 1
                    629:       go to 41630
                    630: 31630 ivdele = ivdele + 1
                    631:       write (i02,80003) ivtnum
                    632:       if (iczero) 41630, 1641, 41630
                    633: 41630 if ( ivon02 - 1 )  21630, 11630, 21630
                    634: 11630 ivpass = ivpass + 1
                    635:       write (i02,80001) ivtnum
                    636:       go to 1641
                    637: 21630 ivfail = ivfail + 1
                    638:       ivcomp = ivon02
                    639:       ivcorr = 1
                    640:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    641:  1641 continue
                    642:       ivtnum = 164
                    643: c
                    644: c      ****  test 164  ****
                    645: c     test 164  -  relational expression.  integer variable references.
                    646: c           true path.  .le.
                    647: c
                    648: c
                    649:       if (iczero) 31640, 1640, 31640
                    650:  1640 continue
                    651:       ivon01 = 587
                    652:       ivon02 = 0
                    653:       if ( 587 .le. ivon01 )  ivon02 = 1
                    654:       go to 41640
                    655: 31640 ivdele = ivdele + 1
                    656:       write (i02,80003) ivtnum
                    657:       if (iczero) 41640, 1651, 41640
                    658: 41640 if ( ivon02 - 1 )  21640, 11640, 21640
                    659: 11640 ivpass = ivpass + 1
                    660:       write (i02,80001) ivtnum
                    661:       go to 1651
                    662: 21640 ivfail = ivfail + 1
                    663:       ivcomp = ivon02
                    664:       ivcorr = 1
                    665:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    666:  1651 continue
                    667:       ivtnum = 165
                    668: c
                    669: c      ****  test 165  ****
                    670: c     test 165  -  relational expression.  integer variable reference.
                    671: c           true path.  .eq.
                    672: c
                    673: c
                    674:       if (iczero) 31650, 1650, 31650
                    675:  1650 continue
                    676:       ivon01 = 9999
                    677:       ivon02 = 0
                    678:       if ( 9999 .eq. ivon01 )  ivon02 = 1
                    679:       go to 41650
                    680: 31650 ivdele = ivdele + 1
                    681:       write (i02,80003) ivtnum
                    682:       if (iczero) 41650, 1661, 41650
                    683: 41650 if ( ivon02 - 1 )  21650, 11650, 21650
                    684: 11650 ivpass = ivpass + 1
                    685:       write (i02,80001) ivtnum
                    686:       go to 1661
                    687: 21650 ivfail = ivfail + 1
                    688:       ivcomp = ivon02
                    689:       ivcorr = 1
                    690:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    691:  1661 continue
                    692:       ivtnum = 166
                    693: c
                    694: c      ****  test 166  ****
                    695: c     test 166  -  relational expression.  integer variable reference.
                    696: c           true path.  .ne.
                    697: c
                    698: c
                    699:       if (iczero) 31660, 1660, 31660
                    700:  1660 continue
                    701:       ivon01 = 32767
                    702:       ivon02 = 0
                    703:       if ( 0 .ne. ivon01 )  ivon02 = 1
                    704:       go to 41660
                    705: 31660 ivdele = ivdele + 1
                    706:       write (i02,80003) ivtnum
                    707:       if (iczero) 41660, 1671, 41660
                    708: 41660 if ( ivon02 - 1 )  21660, 11660, 21660
                    709: 11660 ivpass = ivpass + 1
                    710:       write (i02,80001) ivtnum
                    711:       go to 1671
                    712: 21660 ivfail = ivfail + 1
                    713:       ivcomp = ivon02
                    714:       ivcorr = 1
                    715:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    716:  1671 continue
                    717:       ivtnum = 167
                    718: c
                    719: c      ****  test 167  ****
                    720: c     test 167  -  relational expression.  integer variable reference.
                    721: c           true path.  .gt.
                    722: c
                    723: c
                    724:       if (iczero) 31670, 1670, 31670
                    725:  1670 continue
                    726:       ivon01 = 76
                    727:       ivon02 = 0
                    728:       if ( 32767 .gt. ivon01 )  ivon02 = 1
                    729:       go to 41670
                    730: 31670 ivdele = ivdele + 1
                    731:       write (i02,80003) ivtnum
                    732:       if (iczero) 41670, 1681, 41670
                    733: 41670 if ( ivon02 - 1 )  21670, 11670, 21670
                    734: 11670 ivpass = ivpass + 1
                    735:       write (i02,80001) ivtnum
                    736:       go to 1681
                    737: 21670 ivfail = ivfail + 1
                    738:       ivcomp = ivon02
                    739:       ivcorr = 1
                    740:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    741:  1681 continue
                    742:       ivtnum = 168
                    743: c
                    744: c      ****  test 168  ****
                    745: c     test 168  -  relational expression.  integer variable reference.
                    746: c           true path.  .ge.
                    747: c
                    748: c
                    749:       if (iczero) 31680, 1680, 31680
                    750:  1680 continue
                    751:       ivon01 = 76
                    752:       ivon02 = 0
                    753:       if ( 32767 .ge. ivon01 )  ivon02 = 1
                    754:       go to 41680
                    755: 31680 ivdele = ivdele + 1
                    756:       write (i02,80003) ivtnum
                    757:       if (iczero) 41680, 1691, 41680
                    758: 41680 if ( ivon02 - 1 )  21680, 11680, 21680
                    759: 11680 ivpass = ivpass + 1
                    760:       write (i02,80001) ivtnum
                    761:       go to 1691
                    762: 21680 ivfail = ivfail + 1
                    763:       ivcomp = ivon02
                    764:       ivcorr = 1
                    765:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    766:  1691 continue
                    767:       ivtnum = 169
                    768: c
                    769: c      ****  test 169  ****
                    770: c     test 169  -  relational expression.  integer variable reference.
                    771: c           true path.  .eq.
                    772: c
                    773: c
                    774:       if (iczero) 31690, 1690, 31690
                    775:  1690 continue
                    776:       ivon01 = 32767
                    777:       ivon02 = 0
                    778:       if ( 32767 .eq. ivon01 )  ivon02 = 1
                    779:       go to 41690
                    780: 31690 ivdele = ivdele + 1
                    781:       write (i02,80003) ivtnum
                    782:       if (iczero) 41690, 1701, 41690
                    783: 41690 if ( ivon02 - 1 )  21690, 11690, 21690
                    784: 11690 ivpass = ivpass + 1
                    785:       write (i02,80001) ivtnum
                    786:       go to 1701
                    787: 21690 ivfail = ivfail + 1
                    788:       ivcomp = ivon02
                    789:       ivcorr = 1
                    790:       write (i02,80004) ivtnum, ivcomp ,ivcorr
                    791:  1701 continue
                    792: c
                    793: c     write page footings and run summaries
                    794: 99999 continue
                    795:       write (i02,90002)
                    796:       write (i02,90006)
                    797:       write (i02,90002)
                    798:       write (i02,90002)
                    799:       write (i02,90007)
                    800:       write (i02,90002)
                    801:       write (i02,90008)  ivfail
                    802:       write (i02,90009) ivpass
                    803:       write (i02,90010) ivdele
                    804: c
                    805: c
                    806: c     terminate routine execution
                    807:       stop
                    808: c
                    809: c     format statements for page headers
                    810: 90000 format (1h1)
                    811: 90002 format (1h )
                    812: 90001 format (1h ,10x,34hfortran compiler validation system)
                    813: 90003 format (1h ,21x,11hversion 1.0)
                    814: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
                    815: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
                    816: 90006 format (1h ,5x,46h----------------------------------------------)
                    817: 90011 format (1h ,18x,17hsubset level test)
                    818: c
                    819: c     format statements for run summaries
                    820: 90008 format (1h ,15x,i5,19h errors encountered)
                    821: 90009 format (1h ,15x,i5,13h tests passed)
                    822: 90010 format (1h ,15x,i5,14h tests deleted)
                    823: c
                    824: c     format statements for test results
                    825: 80001 format (1h ,4x,i5,7x,4hpass)
                    826: 80002 format (1h ,4x,i5,7x,4hfail)
                    827: 80003 format (1h ,4x,i5,7x,7hdeleted)
                    828: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
                    829: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
                    830: c
                    831: 90007 format (1h ,20x,20hend of program fm016)
                    832:       end

unix.superglobalmegacorp.com

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