|
|
1.1 ! root 1: c comment section ! 2: c ! 3: c fm001 ! 4: c ! 5: c this routine contains the boilerplate source coding which ! 6: c is used to print the report headings and run summaries for each ! 7: c of the elementary routines. ! 8: c ! 9: c three tests are included which contain the procedures for ! 10: c testing the language features and deleting tests. ! 11: c ! 12: c test 1 checks the pass procedure ! 13: c test 2 checks the fail procedure ! 14: c test 3 checks the delete procedure ! 15: c ! 16: c if this routine does not execute correctly, then no other ! 17: c routines will be run. there is no use in trying to validate a ! 18: c fortran compiler which cannot handle such basic statements. ! 19: c ! 20: c ********************************************************** ! 21: c ! 22: c a compiler validation system for the fortran language ! 23: c based on specifications as defined in american national standard ! 24: c programming language fortran x3.9-1978, has been developed by the ! 25: c federal cobol compiler testing service. the fortran compiler ! 26: c validation system (fcvs) consists of audit routines, their related ! 27: c data, and an executive system. each audit routine is a fortran ! 28: c program, subprogram or function which includes tests of specific ! 29: c language elements and supporting procedures indicating the result ! 30: c of executing these tests. ! 31: c ! 32: c this particular program/subprogram/function contains features ! 33: c found only in the subset as defined in x3.9-1978. ! 34: c ! 35: c suggestions and comments should be forwarded to - ! 36: c ! 37: c department of the navy ! 38: c federal cobol compiler testing service ! 39: c washington, d.c. 20376 ! 40: c ! 41: c ********************************************************** ! 42: c ! 43: c ! 44: c ! 45: c initialization section ! 46: c ! 47: c initialize constants ! 48: c ************** ! 49: c i01 contains the logical unit number for the card reader. ! 50: i01 = 5 ! 51: c i02 contains the logical unit number for the printer. ! 52: i02 = 6 ! 53: c system environment section ! 54: c ! 55: cx010 this card is replaced by contents of fexec x-010 control card. ! 56: c the cx010 card is for overriding the program default i01 = 5 ! 57: c (unit number for card reader). ! 58: cx011 this card is replaced by contents of fexec x-011 control card. ! 59: c the cx011 card is for systems which require additional ! 60: c fortran statements for files associated with cx010 above. ! 61: c ! 62: cx020 this card is replaced by contents of fexec x-020 control card. ! 63: c the cx020 card is for overriding the program default i02 = 6 ! 64: c (unit number for printer). ! 65: cx021 this card is replaced by contents of fexec x-021 control card. ! 66: c the cx021 card is for systems which require additional ! 67: c fortran statements for files associated with cx020 above. ! 68: c ! 69: ivpass=0 ! 70: ivfail=0 ! 71: ivdele=0 ! 72: iczero=0 ! 73: c ! 74: c write page headers ! 75: write (i02,90000) ! 76: write (i02,90001) ! 77: write (i02,90002) ! 78: write (i02, 90002) ! 79: write (i02,90003) ! 80: write (i02,90002) ! 81: write (i02,90004) ! 82: write (i02,90002) ! 83: write (i02,90011) ! 84: write (i02,90002) ! 85: write (i02,90002) ! 86: write (i02,90005) ! 87: write (i02,90006) ! 88: write (i02,90002) ! 89: c test section ! 90: c ! 91: 11 continue ! 92: c ! 93: c **** test 001 **** ! 94: c test 001 - basic procedure for coding tests ! 95: c also checks continue statement which should not have ! 96: c any affect on execution sequence ! 97: c ! 98: if (iczero) 30010, 10, 30010 ! 99: 10 continue ! 100: ivtnum=1 ! 101: go to 40010 ! 102: 30010 ivdele=ivdele+1 ! 103: write (i02,80003) ivtnum ! 104: if (iczero) 40010, 21, 40010 ! 105: 40010 if (ivtnum - 1) 20010, 10010, 20010 ! 106: 10010 ivpass=ivpass+1 ! 107: write (i02,80001) ivtnum ! 108: go to 21 ! 109: 20010 ivfail=ivfail+1 ! 110: ivcomp=ivtnum ! 111: ivcorr=1 ! 112: write (i02,80004) ivtnum, ivcomp, ivcorr ! 113: 21 continue ! 114: c ! 115: c **** test 002 **** ! 116: c test - 002 force fail code to be executed ! 117: c ! 118: if (iczero) 30020,20,30020 ! 119: 20 continue ! 120: ivtnum=2 ! 121: go to 40020 ! 122: 30020 ivdele=ivdele+1 ! 123: write (i02,80003) ivtnum ! 124: if (iczero) 40020,31,40020 ! 125: 40020 if (ivtnum-1) 20020, 10020, 20020 ! 126: 10020 ivpass=ivpass+1 ! 127: write (i02,80001) ivtnum ! 128: go to 31 ! 129: 20020 ivfail=ivfail+1 ! 130: ivcomp=ivtnum ! 131: ivcorr=2 ! 132: write (i02,80004) ivtnum, ivcomp, ivcorr ! 133: 31 continue ! 134: c ! 135: c **** test 003 **** ! 136: c test 003 - delete procedure tested ! 137: c ! 138: if (iczero) 30030,30,30030 ! 139: 30 continue ! 140: c ivtnum=5000 ! 141: c go to 40030 ! 142: 30030 ivdele=ivdele+1 ! 143: ivtnum=3 ! 144: write (i02,80003) ivtnum ! 145: if (iczero) 40030,99999,40030 ! 146: 40030 if (ivtnum - 5000) 20030,10030,20030 ! 147: 10030 ivpass=ivpass +1 ! 148: write (i02,80001) ivtnum ! 149: go to 99999 ! 150: 20030 ivfail=ivfail+1 ! 151: ivcomp=ivtnum ! 152: ivcorr=5000 ! 153: write (i02,80004) ivtnum, ivcomp, ivcorr ! 154: c ! 155: c write page footings and run summaries ! 156: 99999 continue ! 157: write (i02,90002) ! 158: write (i02,90006) ! 159: write (i02,90002) ! 160: write (i02,90002) ! 161: write (i02,90007) ! 162: write (i02,90002) ! 163: write (i02,90008) ivfail ! 164: write (i02,90009) ivpass ! 165: write (i02,90010) ivdele ! 166: c ! 167: c ! 168: c special output statements for this routine ! 169: write (i02,90000) ! 170: write (i02,90002) ! 171: write (i02,80031) ! 172: write (i02,90002) ! 173: write (i02,80010) ! 174: write (i02,80020) ! 175: write (i02,80030) ! 176: write (i02,80032) ! 177: c ! 178: c terminate routine execution ! 179: stop ! 180: c ! 181: c format statements for page headers ! 182: 90000 format (1h1) ! 183: 90002 format (1h ) ! 184: 90001 format (1h ,10x,34hfortran compiler validation system) ! 185: 90003 format (1h ,21x,11hversion 1.0) ! 186: 90004 format (1h ,10x,38hfor official use only - copyright 1978) ! 187: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect) ! 188: 90006 format (1h ,5x,46h----------------------------------------------) ! 189: 90011 format (1h ,18x,17hsubset level test) ! 190: c ! 191: c format statements for run summaries ! 192: 90008 format (1h ,15x,i5,19h errors encountered) ! 193: 90009 format (1h ,15x,i5,13h tests passed) ! 194: 90010 format (1h ,15x,i5,14h tests deleted) ! 195: c ! 196: c format statements for test results ! 197: 80001 format (1h ,4x,i5,7x,4hpass) ! 198: 80002 format (1h ,4x,i5,7x,4hfail) ! 199: 80003 format (1h ,4x,i5,7x,7hdeleted) ! 200: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6) ! 201: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5) ! 202: c ! 203: c formats for current routine ! 204: 80031 format (1h ,10x,39hthe program fm001 executed correctly if) ! 205: 80010 format (1h ,15x,13htest 1 passed) ! 206: 80020 format (1h ,15x,42htest 2 failed with computed and correct =2) ! 207: 80030 format (1h ,15x,18htest 3 was deleted) ! 208: 80032 format (1h ,15x,34hthe run summary totals all equal 1) ! 209: 90007 format (1h ,20x,20hend of program fm001) ! 210: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.