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

1.1     ! root        1: c        comment section
        !             2: c
        !             3: c     fm007
        !             4: c
        !             5: c         this routine tests the use of data initialization statements.
        !             6: c     data initialization statements are used to define initial values
        !             7: c     of integer variables.  the data statements contain unsigned,
        !             8: c     positive signed and negative signed integer constants.  the last
        !             9: c     data statement contains the form
        !            10: c                   j*integer constant
        !            11: c     which indicates the constant is to be specified j times.
        !            12: c
        !            13: c      the tests in this routine check the integer variables in the
        !            14: c     data statement for the assigned initial values.
        !            15: c
        !            16: c      references
        !            17: c        american national standard programming language fortran,
        !            18: c              x3.9-1978
        !            19: c
        !            20: c        section 4.3, integer type
        !            21: c        section 4.3.1, integer constant
        !            22: c        section 9, data statement
        !            23: c
        !            24: c
        !            25: c         data initialization statements
        !            26: c
        !            27:       data ivon01,ivon02,ivon03,ivon04,ivon05/3,76,587,9999,21111/
        !            28:       data ivon06,ivon07,ivon08,ivon09,ivon10/+3,+76,+587,+9999,+21111/
        !            29:       data ivon11,ivon12,ivon13,ivon14,ivon15/-3,-76,-587,-9999,-21111/
        !            30:       data ivon16,ivon17,ivon18,ivon19,ivon20/ 2*119, 2*7, -427/
        !            31: c
        !            32: c
        !            33: c      **********************************************************
        !            34: c
        !            35: c         a compiler validation system for the fortran language
        !            36: c     based on specifications as defined in american national standard
        !            37: c     programming language fortran x3.9-1978, has been developed by the
        !            38: c     federal cobol compiler testing service.  the fortran compiler
        !            39: c     validation system (fcvs) consists of audit routines, their related
        !            40: c     data, and an executive system.  each audit routine is a fortran
        !            41: c     program, subprogram or function which includes tests of specific
        !            42: c     language elements and supporting procedures indicating the result
        !            43: c     of executing these tests.
        !            44: c
        !            45: c         this particular program/subprogram/function contains features
        !            46: c     found only in the subset as defined in x3.9-1978.
        !            47: c
        !            48: c         suggestions and comments should be forwarded to -
        !            49: c
        !            50: c                  department of the navy
        !            51: c                  federal cobol compiler testing service
        !            52: c                  washington, d.c.  20376
        !            53: c
        !            54: c      **********************************************************
        !            55: c
        !            56: c
        !            57: c
        !            58: c     initialization section
        !            59: c
        !            60: c     initialize constants
        !            61: c      **************
        !            62: c     i01 contains the logical unit number for the card reader.
        !            63:       i01 = 5
        !            64: c     i02 contains the logical unit number for the printer.
        !            65:       i02 = 6
        !            66: c     system environment section
        !            67: c
        !            68: cx010    this card is replaced by contents of fexec x-010 control card.
        !            69: c     the cx010 card is for overriding the program default i01 = 5
        !            70: c     (unit number for card reader).
        !            71: cx011    this card is replaced by contents of fexec x-011 control card.
        !            72: c     the cx011 card is for systems which require additional
        !            73: c     fortran statements for files associated with cx010 above.
        !            74: c
        !            75: cx020    this card is replaced by contents of fexec x-020 control card.
        !            76: c     the cx020 card is for overriding the program default i02 = 6
        !            77: c     (unit number for printer).
        !            78: cx021    this card is replaced by contents of fexec x-021 control card.
        !            79: c     the cx021 card is for systems which require additional
        !            80: c     fortran statements for files associated with cx020 above.
        !            81: c
        !            82:       ivpass=0
        !            83:       ivfail=0
        !            84:       ivdele=0
        !            85:       iczero=0
        !            86: c
        !            87: c     write page headers
        !            88:       write (i02,90000)
        !            89:       write (i02,90001)
        !            90:       write (i02,90002)
        !            91:       write (i02, 90002)
        !            92:       write (i02,90003)
        !            93:       write (i02,90002)
        !            94:       write (i02,90004)
        !            95:       write (i02,90002)
        !            96:       write (i02,90011)
        !            97:       write (i02,90002)
        !            98:       write (i02,90002)
        !            99:       write (i02,90005)
        !           100:       write (i02,90006)
        !           101:       write (i02,90002)
        !           102: c     test section
        !           103: c
        !           104: c     tests 80 through 84 check the values initialized by the data
        !           105: c     statement containing ivon01,..., ivon05.
        !           106: c
        !           107:   801 continue
        !           108:       ivtnum =  80
        !           109: c
        !           110: c      ****  test 80  ****
        !           111: c
        !           112:       if (iczero) 30800,  800, 30800
        !           113:   800 continue
        !           114:       ivcomp = ivon01
        !           115:       go to 40800
        !           116: 30800 ivdele = ivdele + 1
        !           117:       write (i02,80003) ivtnum
        !           118:       if (iczero) 40800,  811, 40800
        !           119: 40800 if (ivcomp - 3) 20800, 10800,20800
        !           120: 10800 ivpass = ivpass + 1
        !           121:       write (i02,80001) ivtnum
        !           122:       go to  811
        !           123: 20800 ivfail = ivfail + 1
        !           124:       ivcorr = 3
        !           125:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           126:   811 continue
        !           127:       ivtnum =  81
        !           128: c
        !           129: c      ****  test 81  ****
        !           130: c
        !           131:       if (iczero) 30810,  810, 30810
        !           132:   810 continue
        !           133:       ivcomp = ivon02
        !           134:       go to 40810
        !           135: 30810 ivdele = ivdele + 1
        !           136:       write (i02,80003) ivtnum
        !           137:       if (iczero) 40810,  821, 40810
        !           138: 40810 if (ivcomp - 76) 20810, 10810, 20810
        !           139: 10810 ivpass = ivpass + 1
        !           140:       write (i02,80001) ivtnum
        !           141:       go to  821
        !           142: 20810 ivfail = ivfail + 1
        !           143:       ivcorr = 76
        !           144:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           145:   821 continue
        !           146:       ivtnum =  82
        !           147: c
        !           148: c      ****  test 82  ****
        !           149: c
        !           150:       if (iczero) 30820,  820, 30820
        !           151:   820 continue
        !           152:       ivcomp = ivon03
        !           153:       go to 40820
        !           154: 30820 ivdele = ivdele + 1
        !           155:       write (i02,80003) ivtnum
        !           156:       if (iczero) 40820,  831, 40820
        !           157: 40820 if (ivcomp - 587) 20820, 10820, 20820
        !           158: 10820 ivpass = ivpass + 1
        !           159:       write (i02,80001) ivtnum
        !           160:       go to  831
        !           161: 20820 ivfail = ivfail + 1
        !           162:       ivcorr = 587
        !           163:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           164:   831 continue
        !           165:       ivtnum =  83
        !           166: c
        !           167: c      ****  test 83  ****
        !           168: c
        !           169:       if (iczero) 30830,  830, 30830
        !           170:   830 continue
        !           171:       ivcomp =ivon04
        !           172:       go to 40830
        !           173: 30830 ivdele = ivdele + 1
        !           174:       write (i02,80003) ivtnum
        !           175:       if (iczero) 40830,  841, 40830
        !           176: 40830 if (ivcomp - 9999)  20830, 10830, 20830
        !           177: 10830 ivpass = ivpass + 1
        !           178:       write (i02,80001) ivtnum
        !           179:       go to  841
        !           180: 20830 ivfail = ivfail + 1
        !           181:       ivcorr = 9999
        !           182:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           183:   841 continue
        !           184:       ivtnum =  84
        !           185: c
        !           186: c      ****  test 84  ****
        !           187: c
        !           188:       if (iczero) 30840,  840, 30840
        !           189:   840 continue
        !           190:       ivcomp = ivon05
        !           191:       go to 40840
        !           192: 30840 ivdele = ivdele + 1
        !           193:       write (i02,80003) ivtnum
        !           194:       if (iczero) 40840,  851, 40840
        !           195: 40840 if (ivcomp - 21111) 20840, 10840, 20840
        !           196: 10840 ivpass = ivpass + 1
        !           197:       write (i02,80001) ivtnum
        !           198:       go to  851
        !           199: 20840 ivfail = ivfail + 1
        !           200:       ivcorr = 21111
        !           201:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           202: c
        !           203: c        tests 85 through 89 check the values initialized by the data
        !           204: c     statement containing ivon06,...,ivon10.
        !           205: c
        !           206:   851 continue
        !           207:       ivtnum =  85
        !           208: c
        !           209: c      ****  test 85  ****
        !           210: c
        !           211:       if (iczero) 30850,  850, 30850
        !           212:   850 continue
        !           213:       ivcomp=ivon06
        !           214:       go to 40850
        !           215: 30850 ivdele = ivdele + 1
        !           216:       write (i02,80003) ivtnum
        !           217:       if (iczero) 40850,  861, 40850
        !           218: 40850 if (ivcomp - 3) 20850, 10850, 20850
        !           219: 10850 ivpass = ivpass + 1
        !           220:       write (i02,80001) ivtnum
        !           221:       go to  861
        !           222: 20850 ivfail = ivfail + 1
        !           223:       ivcorr = 3
        !           224:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           225:   861 continue
        !           226:       ivtnum =  86
        !           227: c
        !           228: c      ****  test 86  ****
        !           229: c
        !           230:       if (iczero) 30860,  860, 30860
        !           231:   860 continue
        !           232:       ivcomp = ivon07
        !           233:       go to 40860
        !           234: 30860 ivdele = ivdele + 1
        !           235:       write (i02,80003) ivtnum
        !           236:       if (iczero) 40860,  871, 40860
        !           237: 40860 if (ivcomp - 76) 20860, 10860, 20860
        !           238: 10860 ivpass = ivpass + 1
        !           239:       write (i02,80001) ivtnum
        !           240:       go to  871
        !           241: 20860 ivfail = ivfail + 1
        !           242:       ivcorr = 76
        !           243:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           244:   871 continue
        !           245:       ivtnum =  87
        !           246: c
        !           247: c      ****  test 87  ****
        !           248: c
        !           249:       if (iczero) 30870,  870, 30870
        !           250:   870 continue
        !           251:       ivcomp = ivon08
        !           252:       go to 40870
        !           253: 30870 ivdele = ivdele + 1
        !           254:       write (i02,80003) ivtnum
        !           255:       if (iczero) 40870,  881, 40870
        !           256: 40870 if (ivcomp - 587) 20870, 10870, 20870
        !           257: 10870 ivpass = ivpass + 1
        !           258:       write (i02,80001) ivtnum
        !           259:       go to  881
        !           260: 20870 ivfail = ivfail + 1
        !           261:       ivcorr = 587
        !           262:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           263:   881 continue
        !           264:       ivtnum =  88
        !           265: c
        !           266: c      ****  test 88  ****
        !           267: c
        !           268:       if (iczero) 30880,  880, 30880
        !           269:   880 continue
        !           270:       ivcomp = ivon09
        !           271:       go to 40880
        !           272: 30880 ivdele = ivdele + 1
        !           273:       write (i02,80003) ivtnum
        !           274:       if (iczero) 40880,  891, 40880
        !           275: 40880 if (ivcomp - 9999) 20880, 10880, 20880
        !           276: 10880 ivpass = ivpass + 1
        !           277:       write (i02,80001) ivtnum
        !           278:       go to  891
        !           279: 20880 ivfail = ivfail + 1
        !           280:       ivcorr = 9999
        !           281:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           282:   891 continue
        !           283:       ivtnum =  89
        !           284: c
        !           285: c      ****  test 89  ****
        !           286: c
        !           287:       if (iczero) 30890,  890, 30890
        !           288:   890 continue
        !           289:       ivcomp = ivon10
        !           290:       go to 40890
        !           291: 30890 ivdele = ivdele + 1
        !           292:       write (i02,80003) ivtnum
        !           293:       if (iczero) 40890,  901, 40890
        !           294: 40890 if (ivcomp - 21111)  20890, 10890, 20890
        !           295: 10890 ivpass = ivpass + 1
        !           296:       write (i02,80001) ivtnum
        !           297:       go to  901
        !           298: 20890 ivfail = ivfail + 1
        !           299:       ivcorr= 21111
        !           300:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           301: c
        !           302: c         tests 90 through 94 check the values initialized by the data
        !           303: c     statement containing ivon11,...,ivon15.
        !           304: c
        !           305:   901 continue
        !           306:       ivtnum =  90
        !           307: c
        !           308: c      ****  test 90  ****
        !           309: c
        !           310:       if (iczero) 30900,  900, 30900
        !           311:   900 continue
        !           312:       ivcomp = ivon11
        !           313:       go to 40900
        !           314: 30900 ivdele = ivdele + 1
        !           315:       write (i02,80003) ivtnum
        !           316:       if (iczero) 40900,  911, 40900
        !           317: 40900 if (ivcomp + 3) 20900, 10900, 20900
        !           318: 10900 ivpass = ivpass + 1
        !           319:       write (i02,80001) ivtnum
        !           320:       go to  911
        !           321: 20900 ivfail = ivfail + 1
        !           322:       ivcorr = -3
        !           323:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           324:   911 continue
        !           325:       ivtnum =  91
        !           326: c
        !           327: c      ****  test 91  ****
        !           328: c
        !           329:       if (iczero) 30910,  910, 30910
        !           330:   910 continue
        !           331:       ivcomp = ivon12
        !           332:       go to 40910
        !           333: 30910 ivdele = ivdele + 1
        !           334:       write (i02,80003) ivtnum
        !           335:       if (iczero) 40910,  921, 40910
        !           336: 40910 if (ivcomp + 76) 20910, 10910, 20910
        !           337: 10910 ivpass = ivpass + 1
        !           338:       write (i02,80001) ivtnum
        !           339:       go to  921
        !           340: 20910 ivfail = ivfail + 1
        !           341:       ivcorr = -76
        !           342:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           343:   921 continue
        !           344:       ivtnum =  92
        !           345: c
        !           346: c      ****  test 92  ****
        !           347: c
        !           348:       if (iczero) 30920,  920, 30920
        !           349:   920 continue
        !           350:       ivcomp= ivon13
        !           351:       go to 40920
        !           352: 30920 ivdele = ivdele + 1
        !           353:       write (i02,80003) ivtnum
        !           354:       if (iczero) 40920,  931, 40920
        !           355: 40920 if (ivcomp + 587) 20920, 10920, 20920
        !           356: 10920 ivpass = ivpass + 1
        !           357:       write (i02,80001) ivtnum
        !           358:       go to  931
        !           359: 20920 ivfail = ivfail + 1
        !           360:       ivcorr = -587
        !           361:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           362:   931 continue
        !           363:       ivtnum =  93
        !           364: c
        !           365: c      ****  test 93  ****
        !           366: c
        !           367:       if (iczero) 30930,  930, 30930
        !           368:   930 continue
        !           369:       ivcomp = ivon14
        !           370:       go to 40930
        !           371: 30930 ivdele = ivdele + 1
        !           372:       write (i02,80003) ivtnum
        !           373:       if (iczero) 40930,  941, 40930
        !           374: 40930 if (ivcomp + 9999) 20930, 10930, 20930
        !           375: 10930 ivpass = ivpass + 1
        !           376:       write (i02,80001) ivtnum
        !           377:       go to  941
        !           378: 20930 ivfail = ivfail + 1
        !           379:       ivcorr = -9999
        !           380:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           381:   941 continue
        !           382:       ivtnum =  94
        !           383: c
        !           384: c      ****  test 94  ****
        !           385: c
        !           386:       if (iczero) 30940,  940, 30940
        !           387:   940 continue
        !           388:       ivcomp = ivon15
        !           389:       go to 40940
        !           390: 30940 ivdele = ivdele + 1
        !           391:       write (i02,80003) ivtnum
        !           392:       if (iczero) 40940,  951, 40940
        !           393: 40940 if (ivcomp + 21111) 20940, 10940, 20940
        !           394: 10940 ivpass = ivpass + 1
        !           395:       write (i02,80001) ivtnum
        !           396:       go to  951
        !           397: 20940 ivfail = ivfail + 1
        !           398:       ivcorr = -21111
        !           399:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           400: c
        !           401: c         tests 95 through 99 check the values initialized by the data
        !           402: c     statement containing ivon16,...,ivon20.
        !           403: c
        !           404:   951 continue
        !           405:       ivtnum =  95
        !           406: c
        !           407: c      ****  test 95  ****
        !           408: c
        !           409:       if (iczero) 30950,  950, 30950
        !           410:   950 continue
        !           411:       ivcomp =ivon16
        !           412:       go to 40950
        !           413: 30950 ivdele = ivdele + 1
        !           414:       write (i02,80003) ivtnum
        !           415:       if (iczero) 40950,  961, 40950
        !           416: 40950 if (ivcomp - 119) 20950, 10950, 20950
        !           417: 10950 ivpass = ivpass + 1
        !           418:       write (i02,80001) ivtnum
        !           419:       go to  961
        !           420: 20950 ivfail = ivfail + 1
        !           421:       ivcorr = 119
        !           422:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           423:   961 continue
        !           424:       ivtnum =  96
        !           425: c
        !           426: c      ****  test 96  ****
        !           427: c
        !           428:       if (iczero) 30960,  960, 30960
        !           429:   960 continue
        !           430:       ivcomp=ivon17
        !           431:       go to 40960
        !           432: 30960 ivdele = ivdele + 1
        !           433:       write (i02,80003) ivtnum
        !           434:       if (iczero) 40960,  971, 40960
        !           435: 40960 if (ivcomp - 119) 20960, 10960, 20960
        !           436: 10960 ivpass = ivpass + 1
        !           437:       write (i02,80001) ivtnum
        !           438:       go to  971
        !           439: 20960 ivfail = ivfail + 1
        !           440:       ivcorr = 119
        !           441:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           442:   971 continue
        !           443:       ivtnum =  97
        !           444: c
        !           445: c      ****  test 97  ****
        !           446: c
        !           447:       if (iczero) 30970,  970, 30970
        !           448:   970 continue
        !           449:       ivcomp = ivon18
        !           450:       go to 40970
        !           451: 30970 ivdele = ivdele + 1
        !           452:       write (i02,80003) ivtnum
        !           453:       if (iczero) 40970,  981, 40970
        !           454: 40970 if (ivcomp - 7) 20970, 10970, 20970
        !           455: 10970 ivpass = ivpass + 1
        !           456:       write (i02,80001) ivtnum
        !           457:       go to  981
        !           458: 20970 ivfail = ivfail + 1
        !           459:       ivcorr = 7
        !           460:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           461:   981 continue
        !           462:       ivtnum =  98
        !           463: c
        !           464: c      ****  test 98  ****
        !           465: c
        !           466:       if (iczero) 30980,  980, 30980
        !           467:   980 continue
        !           468:       ivcomp = ivon19
        !           469:       go to 40980
        !           470: 30980 ivdele = ivdele + 1
        !           471:       write (i02,80003) ivtnum
        !           472:       if (iczero) 40980,  991, 40980
        !           473: 40980 if (ivcomp - 7) 20980, 10980, 20980
        !           474: 10980 ivpass = ivpass + 1
        !           475:       write (i02,80001) ivtnum
        !           476:       go to  991
        !           477: 20980 ivfail = ivfail + 1
        !           478:       ivcorr = 7
        !           479:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           480:   991 continue
        !           481:       ivtnum =  99
        !           482: c
        !           483: c      ****  test 99  ****
        !           484: c
        !           485:       if (iczero) 30990,  990, 30990
        !           486:   990 continue
        !           487:       ivcomp = ivon20
        !           488:       go to 40990
        !           489: 30990 ivdele = ivdele + 1
        !           490:       write (i02,80003) ivtnum
        !           491:       if (iczero) 40990, 1001, 40990
        !           492: 40990 if (ivcomp + 427)  20990,10990,20990
        !           493: 10990 ivpass = ivpass + 1
        !           494:       write (i02,80001) ivtnum
        !           495:       go to 1001
        !           496: 20990 ivfail = ivfail + 1
        !           497:       ivcorr = -427
        !           498:       write (i02,80004) ivtnum, ivcomp ,ivcorr
        !           499:  1001 continue
        !           500: c
        !           501: c     write page footings and run summaries
        !           502: 99999 continue
        !           503:       write (i02,90002)
        !           504:       write (i02,90006)
        !           505:       write (i02,90002)
        !           506:       write (i02,90002)
        !           507:       write (i02,90007)
        !           508:       write (i02,90002)
        !           509:       write (i02,90008)  ivfail
        !           510:       write (i02,90009) ivpass
        !           511:       write (i02,90010) ivdele
        !           512: c
        !           513: c
        !           514: c     terminate routine execution
        !           515:       stop
        !           516: c
        !           517: c     format statements for page headers
        !           518: 90000 format (1h1)
        !           519: 90002 format (1h )
        !           520: 90001 format (1h ,10x,34hfortran compiler validation system)
        !           521: 90003 format (1h ,21x,11hversion 1.0)
        !           522: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
        !           523: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
        !           524: 90006 format (1h ,5x,46h----------------------------------------------)
        !           525: 90011 format (1h ,18x,17hsubset level test)
        !           526: c
        !           527: c     format statements for run summaries
        !           528: 90008 format (1h ,15x,i5,19h errors encountered)
        !           529: 90009 format (1h ,15x,i5,13h tests passed)
        !           530: 90010 format (1h ,15x,i5,14h tests deleted)
        !           531: c
        !           532: c     format statements for test results
        !           533: 80001 format (1h ,4x,i5,7x,4hpass)
        !           534: 80002 format (1h ,4x,i5,7x,4hfail)
        !           535: 80003 format (1h ,4x,i5,7x,7hdeleted)
        !           536: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
        !           537: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
        !           538: c
        !           539: 90007 format (1h ,20x,20hend of program fm007)
        !           540:       end

unix.superglobalmegacorp.com

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