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

1.1     ! root        1: c
        !             2: c     comment section.
        !             3: c
        !             4: c     fm017
        !             5: c
        !             6: c             this routine continues 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:       dimension iadn11(3)
        !            28:       logical latn1a(2), lctnt1, lctnt2
        !            29: c
        !            30: c      **********************************************************
        !            31: c
        !            32: c         a compiler validation system for the fortran language
        !            33: c     based on specifications as defined in american national standard
        !            34: c     programming language fortran x3.9-1978, has been developed by the
        !            35: c     federal cobol compiler testing service.  the fortran compiler
        !            36: c     validation system (fcvs) consists of audit routines, their related
        !            37: c     data, and an executive system.  each audit routine is a fortran
        !            38: c     program, subprogram or function which includes tests of specific
        !            39: c     language elements and supporting procedures indicating the result
        !            40: c     of executing these tests.
        !            41: c
        !            42: c         this particular program/subprogram/function contains features
        !            43: c     found only in the subset as defined in x3.9-1978.
        !            44: c
        !            45: c         suggestions and comments should be forwarded to -
        !            46: c
        !            47: c                  department of the navy
        !            48: c                  federal cobol compiler testing service
        !            49: c                  washington, d.c.  20376
        !            50: c
        !            51: c      **********************************************************
        !            52: c
        !            53: c
        !            54: c
        !            55: c     initialization section
        !            56: c
        !            57: c     initialize constants
        !            58: c      **************
        !            59: c     i01 contains the logical unit number for the card reader.
        !            60:       i01 = 5
        !            61: c     i02 contains the logical unit number for the printer.
        !            62:       i02 = 6
        !            63: c     system environment section
        !            64: c
        !            65: cx010    this card is replaced by contents of fexec x-010 control card.
        !            66: c     the cx010 card is for overriding the program default i01 = 5
        !            67: c     (unit number for card reader).
        !            68: cx011    this card is replaced by contents of fexec x-011 control card.
        !            69: c     the cx011 card is for systems which require additional
        !            70: c     fortran statements for files associated with cx010 above.
        !            71: c
        !            72: cx020    this card is replaced by contents of fexec x-020 control card.
        !            73: c     the cx020 card is for overriding the program default i02 = 6
        !            74: c     (unit number for printer).
        !            75: cx021    this card is replaced by contents of fexec x-021 control card.
        !            76: c     the cx021 card is for systems which require additional
        !            77: c     fortran statements for files associated with cx020 above.
        !            78: c
        !            79:       ivpass=0
        !            80:       ivfail=0
        !            81:       ivdele=0
        !            82:       iczero=0
        !            83: c
        !            84: c     write page headers
        !            85:       write (i02,90000)
        !            86:       write (i02,90001)
        !            87:       write (i02,90002)
        !            88:       write (i02, 90002)
        !            89:       write (i02,90003)
        !            90:       write (i02,90002)
        !            91:       write (i02,90004)
        !            92:       write (i02,90002)
        !            93:       write (i02,90011)
        !            94:       write (i02,90002)
        !            95:       write (i02,90002)
        !            96:       write (i02,90005)
        !            97:       write (i02,90006)
        !            98:       write (i02,90002)
        !            99:       ivtnum = 170
        !           100: c
        !           101: c      ****  test 170  ****
        !           102: c     test 170  -  relational expression.  integer variable reference.
        !           103: c           false path.  .lt.
        !           104: c
        !           105: c
        !           106:       if (iczero) 31700, 1700, 31700
        !           107:  1700 continue
        !           108:       ivon01 = 3
        !           109:       ivon02 = 1
        !           110:       if ( 76 .lt. ivon01 )  ivon02 = 0
        !           111:       go to 41700
        !           112: 31700 ivdele = ivdele + 1
        !           113:       write (i02,80003) ivtnum
        !           114:       if (iczero) 41700, 1711, 41700
        !           115: 41700 if ( ivon02 - 1 )  21700, 11700, 21700
        !           116: 11700 ivpass = ivpass + 1
        !           117:       write (i02,80001) ivtnum
        !           118:       go to 1711
        !           119: 21700 ivfail = ivfail + 1
        !           120:       ivcomp = ivon02
        !           121:       ivcorr = 1
        !           122:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           123:  1711 continue
        !           124:       ivtnum = 171
        !           125: c
        !           126: c      ****  test 171  ****
        !           127: c     test 171  -  relational expression.  integer variable reference.
        !           128: c           false path.  .le.
        !           129: c
        !           130: c
        !           131:       if (iczero) 31710, 1710, 31710
        !           132:  1710 continue
        !           133:       ivon01 = 3
        !           134:       ivon02 = 1
        !           135:       if ( 76 .le. ivon01 )  ivon02 = 0
        !           136:       go to 41710
        !           137: 31710 ivdele = ivdele + 1
        !           138:       write (i02,80003) ivtnum
        !           139:       if (iczero) 41710, 1721, 41710
        !           140: 41710 if ( ivon02 - 1 )  21710, 11710, 21710
        !           141: 11710 ivpass = ivpass + 1
        !           142:       write (i02,80001) ivtnum
        !           143:       go to 1721
        !           144: 21710 ivfail = ivfail + 1
        !           145:       ivcomp = ivon02
        !           146:       ivcorr = 1
        !           147:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           148:  1721 continue
        !           149:       ivtnum = 172
        !           150: c
        !           151: c      ****  test 172  ****
        !           152: c     test 172  -  relational expressional.  integer variable reference.
        !           153: c           false path.  .eq.
        !           154: c
        !           155: c
        !           156:       if (iczero) 31720, 1720, 31720
        !           157:  1720 continue
        !           158:       ivon01 = 587
        !           159:       ivon02 = 1
        !           160:       if ( 9999 .eq. ivon01 )  ivon02 = 0
        !           161:       go to 41720
        !           162: 31720 ivdele = ivdele + 1
        !           163:       write (i02,80003) ivtnum
        !           164:       if (iczero) 41720, 1731, 41720
        !           165: 41720 if ( ivon02 - 1 )  21720, 11720, 21720
        !           166: 11720 ivpass = ivpass + 1
        !           167:       write (i02,80001) ivtnum
        !           168:       go to 1731
        !           169: 21720 ivfail = ivfail + 1
        !           170:       ivcomp = ivon02
        !           171:       ivcorr = 1
        !           172:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           173:  1731 continue
        !           174:       ivtnum = 173
        !           175: c
        !           176: c      ****  test 173  ****
        !           177: c     test 173  -  relational expression.  integer variable reference.
        !           178: c           false path.  .ne.
        !           179: c
        !           180: c
        !           181:       if (iczero) 31730, 1730, 31730
        !           182:  1730 continue
        !           183:       ivon01 = 3
        !           184:       ivon02 = 1
        !           185:       if ( 3 .ne. ivon01 )  ivon02 = 0
        !           186:       go to 41730
        !           187: 31730 ivdele = ivdele + 1
        !           188:       write (i02,80003) ivtnum
        !           189:       if (iczero) 41730, 1741, 41730
        !           190: 41730 if ( ivon02 - 1 )  21730, 11730, 21730
        !           191: 11730 ivpass = ivpass + 1
        !           192:       write (i02,80001) ivtnum
        !           193:       go to 1741
        !           194: 21730 ivfail = ivfail + 1
        !           195:       ivcomp = ivon02
        !           196:       ivcorr = 1
        !           197:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           198:  1741 continue
        !           199:       ivtnum = 174
        !           200: c
        !           201: c      ****  test 174  ****
        !           202: c     test 174  -  relational expression.  integer variable reference.
        !           203: c           false path.  .gt.
        !           204: c
        !           205: c
        !           206:       if (iczero) 31740, 1740, 31740
        !           207:  1740 continue
        !           208:       ivon01 = 32767
        !           209:       ivon02 = 1
        !           210:       if ( 76 .gt. ivon01 )  ivon02 = 0
        !           211:       go to 41740
        !           212: 31740 ivdele = ivdele + 1
        !           213:       write (i02,80003) ivtnum
        !           214:       if (iczero) 41740, 1751, 41740
        !           215: 41740 if ( ivon02 - 1 )  21740, 11740, 21740
        !           216: 11740 ivpass = ivpass + 1
        !           217:       write (i02,80001) ivtnum
        !           218:       go to 1751
        !           219: 21740 ivfail = ivfail + 1
        !           220:       ivcomp = ivon02
        !           221:       ivcorr = 1
        !           222:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           223:  1751 continue
        !           224:       ivtnum = 175
        !           225: c
        !           226: c      ****  test 175  ****
        !           227: c     test 175  -  relational expression.  integer variable reference.
        !           228: c           false path.  .ge.
        !           229: c
        !           230: c
        !           231:       if (iczero) 31750, 1750, 31750
        !           232:  1750 continue
        !           233:       ivon01 = 32767
        !           234:       ivon02 = 1
        !           235:       if ( 76 .ge. ivon01 )  ivon02 = 0
        !           236:       go to 41750
        !           237: 31750 ivdele = ivdele + 1
        !           238:       write (i02,80003) ivtnum
        !           239:       if (iczero) 41750, 1761, 41750
        !           240: 41750 if ( ivon02 - 1 )  21750, 11750, 21750
        !           241: 11750 ivpass = ivpass + 1
        !           242:       write (i02,80001) ivtnum
        !           243:       go to 1761
        !           244: 21750 ivfail = ivfail + 1
        !           245:       ivcomp = ivon02
        !           246:       ivcorr = 1
        !           247:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           248:  1761 continue
        !           249:       ivtnum = 176
        !           250: c
        !           251: c      ****  test 176  ****
        !           252: c     test 176  -  relational expression.  (ivr)  (ro)  (ic)
        !           253: c           integer variable reference with integer constant
        !           254: c           true path.  .lt.
        !           255: c
        !           256: c
        !           257:       if (iczero) 31760, 1760, 31760
        !           258:  1760 continue
        !           259:       ivon01 = 3
        !           260:       ivon02 = 0
        !           261:       if ( ivon01 .lt. 76 )  ivon02 = 1
        !           262:       go to 41760
        !           263: 31760 ivdele = ivdele + 1
        !           264:       write (i02,80003) ivtnum
        !           265:       if (iczero) 41760, 1771, 41760
        !           266: 41760 if ( ivon02 - 1 )  21760, 11760, 21760
        !           267: 11760 ivpass = ivpass + 1
        !           268:       write (i02,80001) ivtnum
        !           269:       go to 1771
        !           270: 21760 ivfail = ivfail + 1
        !           271:       ivcomp = ivon02
        !           272:       ivcorr = 1
        !           273:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           274:  1771 continue
        !           275:       ivtnum = 177
        !           276: c
        !           277: c      ****  test 177  ****
        !           278: c     test 177  - like test 176.  false path.  .eq.
        !           279: c
        !           280: c
        !           281:       if (iczero) 31770, 1770, 31770
        !           282:  1770 continue
        !           283:       ivon01 = 587
        !           284:       ivon02 = 1
        !           285:       if ( ivon01 .eq. 9999 )  ivon02=0
        !           286:       go to 41770
        !           287: 31770 ivdele = ivdele + 1
        !           288:       write (i02,80003) ivtnum
        !           289:       if (iczero) 41770, 1781, 41770
        !           290: 41770 if ( ivon02 - 1 )  21770, 11770, 21770
        !           291: 11770 ivpass = ivpass + 1
        !           292:       write (i02,80001) ivtnum
        !           293:       go to 1781
        !           294: 21770 ivfail = ivfail + 1
        !           295:       ivcomp = ivon02
        !           296:       ivcorr = 1
        !           297:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           298:  1781 continue
        !           299:       ivtnum = 178
        !           300: c
        !           301: c      ****  test 178  ****
        !           302: c     test 178  -  like test 176.  true path.  .ge.
        !           303: c
        !           304: c
        !           305:       if (iczero) 31780, 1780, 31780
        !           306:  1780 continue
        !           307:       ivon01 = 32767
        !           308:       ivon02 = 0
        !           309:       if ( ivon01 .ge. 32767 )  ivon02 = 1
        !           310:       go to 41780
        !           311: 31780 ivdele = ivdele + 1
        !           312:       write (i02,80003) ivtnum
        !           313:       if (iczero) 41780, 1791, 41780
        !           314: 41780 if ( ivon02 - 1 )  21780, 11780, 21780
        !           315: 11780 ivpass = ivpass + 1
        !           316:       write (i02,80001) ivtnum
        !           317:       go to 1791
        !           318: 21780 ivfail = ivfail + 1
        !           319:       ivcomp = ivon02
        !           320:       ivcorr = 1
        !           321:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           322:  1791 continue
        !           323:       ivtnum = 179
        !           324: c
        !           325: c      ****  test 179  ****
        !           326: c     test 179  -  relational expression.  integer array element
        !           327: c           reference.  (ic)  (ro)  (iaer)   false path.  .lt.
        !           328: c
        !           329: c
        !           330:       if (iczero) 31790, 1790, 31790
        !           331:  1790 continue
        !           332:       ivon01 = 1
        !           333:       iadn11(1) = 3
        !           334:       if ( 76 .lt. iadn11(1) )  ivon01 = 0
        !           335:       go to 41790
        !           336: 31790 ivdele = ivdele + 1
        !           337:       write (i02,80003) ivtnum
        !           338:       if (iczero) 41790, 1801, 41790
        !           339: 41790 if ( ivon01 - 1 )  21790, 11790, 21790
        !           340: 11790 ivpass = ivpass + 1
        !           341:       write (i02,80001) ivtnum
        !           342:       go to 1801
        !           343: 21790 ivfail = ivfail + 1
        !           344:       ivcomp = ivon01
        !           345:       ivcorr = 1
        !           346:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           347:  1801 continue
        !           348:       ivtnum = 180
        !           349: c
        !           350: c      ****  test 180  ****
        !           351: c     test 180  -  like test 179.  true path.  .le.
        !           352: c
        !           353: c
        !           354:       if (iczero) 31800, 1800, 31800
        !           355:  1800 continue
        !           356:       ivon01 = 0
        !           357:       iadn11(2) = 587
        !           358:       if ( 587 .le. iadn11(2) )  ivon01 = 1
        !           359:       go to 41800
        !           360: 31800 ivdele = ivdele + 1
        !           361:       write (i02,80003) ivtnum
        !           362:       if (iczero) 41800, 1811, 41800
        !           363: 41800 if ( ivon01 - 1 )  21800, 11800, 21800
        !           364: 11800 ivpass = ivpass + 1
        !           365:       write (i02,80001) ivtnum
        !           366:       go to 1811
        !           367: 21800 ivfail = ivfail + 1
        !           368:       ivcomp = ivon01
        !           369:       ivcorr = 1
        !           370:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           371:  1811 continue
        !           372:       ivtnum = 181
        !           373: c
        !           374: c      ****  test 181  ****
        !           375: c     test 181  -  like test 179.    false path.  .ge.
        !           376: c
        !           377: c
        !           378:       if (iczero) 31810, 1810, 31810
        !           379:  1810 continue
        !           380:       ivon01 = 1
        !           381:       iadn11(3) = 32767
        !           382:       if ( 76 .ge. iadn11(3) )  ivon01 = 0
        !           383:       go to 41810
        !           384: 31810 ivdele = ivdele + 1
        !           385:       write (i02,80003) ivtnum
        !           386:       if (iczero) 41810, 1821, 41810
        !           387: 41810 if ( ivon01 - 1 )  21810, 11810, 21810
        !           388: 11810 ivpass = ivpass + 1
        !           389:       write (i02,80001) ivtnum
        !           390:       go to 1821
        !           391: 21810 ivfail = ivfail + 1
        !           392:       ivcomp = ivon01
        !           393:       ivcorr = 1
        !           394:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           395:  1821 continue
        !           396:       ivtnum = 182
        !           397: c
        !           398: c      ****  test 182  ****
        !           399: c     test 182  -  relational expression  (iaer)  (ro)  (ic).  true
        !           400: c           path.  .eq.
        !           401: c
        !           402: c
        !           403:       if (iczero) 31820, 1820, 31820
        !           404:  1820 continue
        !           405:       ivon01 = 0
        !           406:       iadn11(2) = 32767
        !           407:       if ( iadn11(2) .eq. 32767 )  ivon01 = 1
        !           408:       go to 41820
        !           409: 31820 ivdele = ivdele + 1
        !           410:       write (i02,80003) ivtnum
        !           411:       if (iczero) 41820, 1831, 41820
        !           412: 41820 if ( ivon01 - 1 )  21820, 11820, 21820
        !           413: 11820 ivpass = ivpass + 1
        !           414:       write (i02,80001) ivtnum
        !           415:       go to 1831
        !           416: 21820 ivfail = ivfail + 1
        !           417:       ivcomp = ivon01
        !           418:       ivcorr = 1
        !           419:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           420:  1831 continue
        !           421:       ivtnum = 183
        !           422: c
        !           423: c      ****  test 183  ****
        !           424: c     test 183  -  relational expression  (ivr)  (ro)  (iaer)
        !           425: c           false path.  .ne.
        !           426: c
        !           427: c
        !           428:       if (iczero) 31830, 1830, 31830
        !           429:  1830 continue
        !           430:       ivon01 = 1
        !           431:       ivon02 = 587
        !           432:       iadn11(1) = 587
        !           433:       if ( ivon02 .ne. iadn11(1) )  ivon01 = 0
        !           434:       go to 41830
        !           435: 31830 ivdele = ivdele + 1
        !           436:       write (i02,80003) ivtnum
        !           437:       if (iczero) 41830, 1841, 41830
        !           438: 41830 if ( ivon01 - 1 )  21830, 11830, 21830
        !           439: 11830 ivpass = ivpass + 1
        !           440:       write (i02,80001) ivtnum
        !           441:       go to 1841
        !           442: 21830 ivfail = ivfail + 1
        !           443:       ivcomp = ivon01
        !           444:       ivcorr = 1
        !           445:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           446:  1841 continue
        !           447:       ivtnum = 184
        !           448: c
        !           449: c      ****  test 184  ****
        !           450: c     test 184  -  relational expression  (iaer)  (ro)  (ivr)
        !           451: c           true path  .ne.
        !           452: c
        !           453: c
        !           454:       if (iczero) 31840, 1840, 31840
        !           455:  1840 continue
        !           456:       ivon01 = 0
        !           457:       iadn11(3) = 3
        !           458:       ivon02 = 32767
        !           459:       if ( iadn11(3) .ne. ivon02 )  ivon01 = 1
        !           460:       go to 41840
        !           461: 31840 ivdele = ivdele + 1
        !           462:       write (i02,80003) ivtnum
        !           463:       if (iczero) 41840, 1851, 41840
        !           464: 41840 if ( ivon01 - 1 )  21840, 11840, 21840
        !           465: 11840 ivpass = ivpass + 1
        !           466:       write (i02,80001) ivtnum
        !           467:       go to 1851
        !           468: 21840 ivfail = ivfail + 1
        !           469:       ivcomp = ivon01
        !           470:       ivcorr = 1
        !           471:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           472:  1851 continue
        !           473:       ivtnum = 185
        !           474: c
        !           475: c      ****  test 185  ****
        !           476: c     test 185  -  test of parentheses  ( (le) )
        !           477: c           true path  logical constant  .true.
        !           478: c
        !           479: c
        !           480:       if (iczero) 31850, 1850, 31850
        !           481:  1850 continue
        !           482:       ivon01 = 0
        !           483:       if ( ( .true. ) )  ivon01 = 1
        !           484:       go to 41850
        !           485: 31850 ivdele = ivdele + 1
        !           486:       write (i02,80003) ivtnum
        !           487:       if (iczero) 41850, 1861, 41850
        !           488: 41850 if ( ivon01 - 1 )  21850, 11850, 21850
        !           489: 11850 ivpass = ivpass + 1
        !           490:       write (i02,80001) ivtnum
        !           491:       go to 1861
        !           492: 21850 ivfail = ivfail + 1
        !           493:       ivcomp = ivon01
        !           494:       ivcorr = 1
        !           495:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           496:  1861 continue
        !           497:       ivtnum = 186
        !           498: c
        !           499: c      ****  test 186  ****
        !           500: c     test 186  -  like test 185
        !           501: c           false path  logical constant  .false.
        !           502: c
        !           503: c
        !           504:       if (iczero) 31860, 1860, 31860
        !           505:  1860 continue
        !           506:       ivon01 = 1
        !           507:       if ((( .false. )))  ivon01 = 0
        !           508:       go to 41860
        !           509: 31860 ivdele = ivdele + 1
        !           510:       write (i02,80003) ivtnum
        !           511:       if (iczero) 41860, 1871, 41860
        !           512: 41860 if ( ivon01 - 1 )  21860, 11860, 21860
        !           513: 11860 ivpass = ivpass + 1
        !           514:       write (i02,80001) ivtnum
        !           515:       go to 1871
        !           516: 21860 ivfail = ivfail + 1
        !           517:       ivcomp = ivon01
        !           518:       ivcorr = 1
        !           519:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           520:  1871 continue
        !           521:       ivtnum = 187
        !           522: c
        !           523: c      ****  test 187  ****
        !           524: c     test 187  -  parens around logical variable reference  ( (lvr) )
        !           525: c           true path
        !           526: c
        !           527: c
        !           528:       if (iczero) 31870, 1870, 31870
        !           529:  1870 continue
        !           530:       ivon01 = 0
        !           531:       lctnt1 = .true.
        !           532:       if ( ( lctnt1 ) )  ivon01 = 1
        !           533:       go to 41870
        !           534: 31870 ivdele = ivdele + 1
        !           535:       write (i02,80003) ivtnum
        !           536:       if (iczero) 41870, 1881, 41870
        !           537: 41870 if ( ivon01 - 1 )  21870, 11870, 21870
        !           538: 11870 ivpass = ivpass + 1
        !           539:       write (i02,80001) ivtnum
        !           540:       go to 1881
        !           541: 21870 ivfail = ivfail + 1
        !           542:       ivcomp = ivon01
        !           543:       ivcorr = 1
        !           544:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           545:  1881 continue
        !           546:       ivtnum = 188
        !           547: c
        !           548: c      ****  test  188  ****
        !           549: c     test 188  -  parens around logical array reference  ( ( laer ) )
        !           550: c           false path
        !           551: c
        !           552:       if (iczero) 31880, 1880, 31880
        !           553:  1880 continue
        !           554:       ivon01 = 1
        !           555:       latn1a(1) = .false.
        !           556:       if ( ( latn1a(1) ) )  ivon01 = 0
        !           557:       go to 41880
        !           558: 31880 ivdele = ivdele + 1
        !           559:       write (i02,80003) ivtnum
        !           560:       if (iczero) 41880, 1891, 41880
        !           561: 41880 if ( ivon01 - 1 )  21880, 11880, 21880
        !           562: 11880 ivpass = ivpass + 1
        !           563:       write (i02,80001) ivtnum
        !           564:       go to 1891
        !           565: 21880 ivfail = ivfail + 1
        !           566:       ivcomp = ivon01
        !           567:       ivcorr = 1
        !           568:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           569:  1891 continue
        !           570:       ivtnum = 189
        !           571: c
        !           572: c      ****  test 189  ****
        !           573: c     test 189  -  use of .not. with a logical primary  .not. (lp)
        !           574: c           false path  .not. .true.
        !           575: c
        !           576: c
        !           577:       if (iczero) 31890, 1890, 31890
        !           578:  1890 continue
        !           579:       ivon01 = 1
        !           580:       if ( .not. .true. )  ivon01 = 0
        !           581:       go to 41890
        !           582: 31890 ivdele = ivdele + 1
        !           583:       write (i02,80003) ivtnum
        !           584:       if (iczero) 41890, 1901, 41890
        !           585: 41890 if ( ivon01 - 1 )  21890, 11890, 21890
        !           586: 11890 ivpass = ivpass + 1
        !           587:       write (i02,80001) ivtnum
        !           588:       go to 1901
        !           589: 21890 ivfail = ivfail + 1
        !           590:       ivcomp = ivon01
        !           591:       ivcorr = 1
        !           592:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           593:  1901 continue
        !           594:       ivtnum = 190
        !           595: c
        !           596: c      ****  test 190  ****
        !           597: c     test 190  -  like test 189  true path  .not. .false.
        !           598: c
        !           599: c
        !           600:       if (iczero) 31900, 1900, 31900
        !           601:  1900 continue
        !           602:       ivon01 = 0
        !           603:       if ( .not. .false. )  ivon01 = 1
        !           604:       go to 41900
        !           605: 31900 ivdele = ivdele + 1
        !           606:       write (i02,80003) ivtnum
        !           607:       if (iczero) 41900, 1911, 41900
        !           608: 41900 if ( ivon01 - 1 )  21900, 11900, 21900
        !           609: 11900 ivpass = ivpass + 1
        !           610:       write (i02,80001) ivtnum
        !           611:       go to 1911
        !           612: 21900 ivfail = ivfail + 1
        !           613:       ivcomp = ivon01
        !           614:       ivcorr = 1
        !           615:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           616:  1911 continue
        !           617:       ivtnum = 191
        !           618: c
        !           619: c      ****  test 191  ****
        !           620: c     test 191  -  tests .not. with a logical variable set to .false.
        !           621: c           in a logical assignment statement     true path
        !           622: c
        !           623: c
        !           624:       if (iczero) 31910, 1910, 31910
        !           625:  1910 continue
        !           626:       ivon01 = 0
        !           627:       lctnt1 = .false.
        !           628:       if ( .not. lctnt1 )  ivon01 = 1
        !           629:       go to 41910
        !           630: 31910 ivdele = ivdele + 1
        !           631:       write (i02,80003) ivtnum
        !           632:       if (iczero) 41910, 1921, 41910
        !           633: 41910 if ( ivon01 - 1 )  21910, 11910, 21910
        !           634: 11910 ivpass = ivpass + 1
        !           635:       write (i02,80001) ivtnum
        !           636:       go to 1921
        !           637: 21910 ivfail = ivfail + 1
        !           638:       ivcomp = ivon01
        !           639:       ivcorr = 1
        !           640:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           641:  1921 continue
        !           642:       ivtnum = 192
        !           643: c
        !           644: c      ****  test 192  ****
        !           645: c     test 192  -  like test 191 only uses a logical array element
        !           646: c           set to .false. in a logical assignment statement    true
        !           647: c
        !           648: c
        !           649:       if (iczero) 31920, 1920, 31920
        !           650:  1920 continue
        !           651:       ivon01 = 0
        !           652:       latn1a(2) = .false.
        !           653:       if ( .not. latn1a(2) )  ivon01 = 1
        !           654:       go to 41920
        !           655: 31920 ivdele = ivdele + 1
        !           656:       write (i02,80003) ivtnum
        !           657:       if (iczero) 41920, 1931, 41920
        !           658: 41920 if ( ivon01 - 1 )  21920, 11920, 21920
        !           659: 11920 ivpass = ivpass + 1
        !           660:       write (i02,80001) ivtnum
        !           661:       go to 1931
        !           662: 21920 ivfail = ivfail + 1
        !           663:       ivcomp = ivon01
        !           664:       ivcorr = 1
        !           665:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           666:  1931 continue
        !           667:       ivtnum = 193
        !           668: c
        !           669: c      ****  test 193  ****
        !           670: c     test 193  -  use of logical .and.    (lt) .and. (lf)
        !           671: c           uses two logical variables each set to .false.
        !           672: c           false  .and.  false    false path
        !           673: c
        !           674: c
        !           675:       if (iczero) 31930, 1930, 31930
        !           676:  1930 continue
        !           677:       ivon01 = 1
        !           678:       lctnt1 = .false.
        !           679:       lctnt2 = .false.
        !           680:       if ( lctnt1 .and. lctnt2 )  ivon01 = 0
        !           681:       go to 41930
        !           682: 31930 ivdele = ivdele + 1
        !           683:       write (i02,80003) ivtnum
        !           684:       if (iczero) 41930, 1941, 41930
        !           685: 41930 if ( ivon01 - 1 )  21930, 11930, 21930
        !           686: 11930 ivpass = ivpass + 1
        !           687:       write (i02,80001) ivtnum
        !           688:       go to 1941
        !           689: 21930 ivfail = ivfail + 1
        !           690:       ivcomp = ivon01
        !           691:       ivcorr = 1
        !           692:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           693:  1941 continue
        !           694:       ivtnum = 194
        !           695: c
        !           696: c      ****  test 194  ****
        !           697: c     test 194  -  like test 193    false  .and.  true   false path
        !           698: c
        !           699: c
        !           700:       if (iczero) 31940, 1940, 31940
        !           701:  1940 continue
        !           702:       ivon01 = 1
        !           703:       lctnt1 = .false.
        !           704:       lctnt2 = .true.
        !           705:       if ( lctnt1 .and. lctnt2 )  ivon01 = 0
        !           706:       go to 41940
        !           707: 31940 ivdele = ivdele + 1
        !           708:       write (i02,80003) ivtnum
        !           709:       if (iczero) 41940, 1951, 41940
        !           710: 41940 if ( ivon01 - 1 )  21940, 11940, 21940
        !           711: 11940 ivpass = ivpass + 1
        !           712:       write (i02,80001) ivtnum
        !           713:       go to 1951
        !           714: 21940 ivfail = ivfail + 1
        !           715:       ivcomp = ivon01
        !           716:       ivcorr = 1
        !           717:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           718:  1951 continue
        !           719:       ivtnum = 195
        !           720: c
        !           721: c      ****  test 195  ****
        !           722: c     test 195  -  like test 193   true  .and.  false     false path
        !           723: c
        !           724: c
        !           725:       if (iczero) 31950, 1950, 31950
        !           726:  1950 continue
        !           727:       ivon01 = 1
        !           728:       lctnt1 = .true.
        !           729:       lctnt2 = .false.
        !           730:       if ( lctnt1 .and. lctnt2 )  ivon01 = 0
        !           731:       go to 41950
        !           732: 31950 ivdele = ivdele + 1
        !           733:       write (i02,80003) ivtnum
        !           734:       if (iczero) 41950, 1961, 41950
        !           735: 41950 if ( ivon01 - 1 )  21950, 11950, 21950
        !           736: 11950 ivpass = ivpass + 1
        !           737:       write (i02,80001) ivtnum
        !           738:       go to 1961
        !           739: 21950 ivfail = ivfail + 1
        !           740:       ivcomp = ivon01
        !           741:       ivcorr = 1
        !           742:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           743:  1961 continue
        !           744:       ivtnum = 196
        !           745: c
        !           746: c      ****  test 196  ****
        !           747: c     test 196  -  like test 193   true  .and.  true    true path
        !           748: c
        !           749: c
        !           750:       if (iczero) 31960, 1960, 31960
        !           751:  1960 continue
        !           752:       ivon01 = 0
        !           753:       lctnt1 = .true.
        !           754:       lctnt2 = .true.
        !           755:       if ( lctnt1 .and. lctnt2 )  ivon01 = 1
        !           756:       go to 41960
        !           757: 31960 ivdele = ivdele + 1
        !           758:       write (i02,80003) ivtnum
        !           759:       if (iczero) 41960, 1971, 41960
        !           760: 41960 if ( ivon01 - 1 )  21960, 11960, 21960
        !           761: 11960 ivpass = ivpass + 1
        !           762:       write (i02,80001) ivtnum
        !           763:       go to 1971
        !           764: 21960 ivfail = ivfail + 1
        !           765:       ivcomp = ivon01
        !           766:       ivcorr = 1
        !           767:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           768:  1971 continue
        !           769:       ivtnum = 197
        !           770: c
        !           771: c      ****  test 197  ****
        !           772: c     test 197  -  test of the inclusive  .or.  .    (le)  .or.  (lt)
        !           773: c           uses logical variables set in logical assignment statements
        !           774: c           false  .or.  false    false path
        !           775: c
        !           776: c
        !           777:       if (iczero) 31970, 1970, 31970
        !           778:  1970 continue
        !           779:       ivon01 = 1
        !           780:       lctnt1 = .false.
        !           781:       lctnt2 = .false.
        !           782:       if ( lctnt1 .or. lctnt2 )  ivon01 = 0
        !           783:       go to 41970
        !           784: 31970 ivdele = ivdele + 1
        !           785:       write (i02,80003) ivtnum
        !           786:       if (iczero) 41970, 1981, 41970
        !           787: 41970 if ( ivon01 - 1 )  21970, 11970, 21970
        !           788: 11970 ivpass = ivpass + 1
        !           789:       write (i02,80001) ivtnum
        !           790:       go to 1981
        !           791: 21970 ivfail = ivfail + 1
        !           792:       ivcomp = ivon01
        !           793:       ivcorr = 1
        !           794:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           795:  1981 continue
        !           796:       ivtnum = 198
        !           797: c
        !           798: c      ****  test 198  ****
        !           799: c     test 198  -  like test 197  false  .or.  true    true path
        !           800: c
        !           801: c
        !           802:       if (iczero) 31980, 1980, 31980
        !           803:  1980 continue
        !           804:       ivon01 = 0
        !           805:       lctnt1 = .false.
        !           806:       lctnt2 = .true.
        !           807:       if ( lctnt1 .or. lctnt2 )  ivon01 = 1
        !           808:       go to 41980
        !           809: 31980 ivdele = ivdele + 1
        !           810:       write (i02,80003) ivtnum
        !           811:       if (iczero) 41980, 1991, 41980
        !           812: 41980 if ( ivon01 - 1 )  21980, 11980, 21980
        !           813: 11980 ivpass = ivpass + 1
        !           814:       write (i02,80001) ivtnum
        !           815:       go to 1991
        !           816: 21980 ivfail = ivfail + 1
        !           817:       ivcomp = ivon01
        !           818:       ivcorr = 1
        !           819:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           820:  1991 continue
        !           821:       ivtnum = 199
        !           822: c
        !           823: c      ****  test 199  ****
        !           824: c     test 199  -  like test 197.  true  .or.  false    true path.
        !           825: c
        !           826: c
        !           827:       if (iczero) 31990, 1990, 31990
        !           828:  1990 continue
        !           829:       ivon01 = 0
        !           830:       lctnt1 = .true.
        !           831:       lctnt2 = .false.
        !           832:       if ( lctnt1 .or. lctnt2 )  ivon01 = 1
        !           833:       go to 41990
        !           834: 31990 ivdele = ivdele + 1
        !           835:       write (i02,80003) ivtnum
        !           836:       if (iczero) 41990, 5001, 41990
        !           837: 41990 if ( ivon01 - 1 )  21990, 11990, 21990
        !           838: 11990 ivpass = ivpass + 1
        !           839:       write (i02,80001) ivtnum
        !           840:       go to 5001
        !           841: 21990 ivfail = ivfail + 1
        !           842:       ivcomp = ivon01
        !           843:       ivcorr = 1
        !           844:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           845:  5001 continue
        !           846: c
        !           847: c     write page footings and run summaries
        !           848: 99999 continue
        !           849:       write (i02,90002)
        !           850:       write (i02,90006)
        !           851:       write (i02,90002)
        !           852:       write (i02,90002)
        !           853:       write (i02,90007)
        !           854:       write (i02,90002)
        !           855:       write (i02,90008)  ivfail
        !           856:       write (i02,90009) ivpass
        !           857:       write (i02,90010) ivdele
        !           858: c
        !           859: c
        !           860: c     terminate routine execution
        !           861:       stop
        !           862: c
        !           863: c     format statements for page headers
        !           864: 90000 format (1h1)
        !           865: 90002 format (1h )
        !           866: 90001 format (1h ,10x,34hfortran compiler validation system)
        !           867: 90003 format (1h ,21x,11hversion 1.0)
        !           868: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
        !           869: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
        !           870: 90006 format (1h ,5x,46h----------------------------------------------)
        !           871: 90011 format (1h ,18x,17hsubset level test)
        !           872: c
        !           873: c     format statements for run summaries
        !           874: 90008 format (1h ,15x,i5,19h errors encountered)
        !           875: 90009 format (1h ,15x,i5,13h tests passed)
        !           876: 90010 format (1h ,15x,i5,14h tests deleted)
        !           877: c
        !           878: c     format statements for test results
        !           879: 80001 format (1h ,4x,i5,7x,4hpass)
        !           880: 80002 format (1h ,4x,i5,7x,4hfail)
        !           881: 80003 format (1h ,4x,i5,7x,7hdeleted)
        !           882: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
        !           883: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
        !           884: c
        !           885: 90007 format (1h ,20x,20hend of program fm017)
        !           886:       end

unix.superglobalmegacorp.com

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