|
|
1.1 ! root 1: PROGRAM FM718 00010718 ! 2: C DATE***82/08/02*18.33.46 ! 3: C OWNER PRE/850703/TC-85- -410/ /FSTC/278FCVS*F78UBP20/ ! 4: C AUDIT FCVS78 V2.0 ! 5: C 00020718 ! 6: C THIS ROUTINE TESTS LOGICAL EXPRESSIONS AND ANS REF. 00030718 ! 7: C USE OF THE LOGICAL OPERATORS .NOT., .AND., .OR., 6.4, 6.4.2, 00040718 ! 8: C .EQV., AND .NEQV. 6.4.3, 6.4.400050718 ! 9: C 00060718 ! 10: CBB** ********************** BBCCOMNT **********************************00070718 ! 11: C**** 00080718 ! 12: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00090718 ! 13: C**** VERSION 2.0 00100718 ! 14: C**** 00110718 ! 15: C**** 00120718 ! 16: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00130718 ! 17: C**** GENERAL SERVICES ADMINISTRATION 00140718 ! 18: C**** FEDERAL SOFTWARE TESTING CENTER 00150718 ! 19: C**** 5203 LEESBURG PIKE, SUITE 1100 00160718 ! 20: C**** FALLS CHURCH, VA. 22041 00170718 ! 21: C**** 00180718 ! 22: C**** (703) 756-6153 00190718 ! 23: C**** 00200718 ! 24: CBE** ********************** BBCCOMNT **********************************00210718 ! 25: IMPLICIT DOUBLE PRECISION (D), COMPLEX (Z), LOGICAL (L) 00220718 ! 26: IMPLICIT CHARACTER*27 (C) 00230718 ! 27: CBB** ********************** BBCINITA **********************************00240718 ! 28: C**** SPECIFICATION STATEMENTS 00250718 ! 29: C**** 00260718 ! 30: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00270718 ! 31: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00280718 ! 32: CBE** ********************** BBCINITA **********************************00290718 ! 33: C 00300718 ! 34: LOGICAL LPN001, LPN002, LPN003, LPN004 00310718 ! 35: LOGICAL LVCOMP, LVCORR, LVN001 00320718 ! 36: PARAMETER (LPN001 = .TRUE., LPN002 = .FALSE., 00330718 ! 37: 1 LPN003 = .TRUE., LPN004 = .FALSE.) 00340718 ! 38: C 00350718 ! 39: C 00360718 ! 40: CBB** ********************** BBCINITB **********************************00370718 ! 41: C**** INITIALIZE SECTION 00380718 ! 42: DATA ZVERS, ZVERSD, ZDATE 00390718 ! 43: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00400718 ! 44: DATA ZCOMPL, ZNAME, ZTAPE 00410718 ! 45: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00420718 ! 46: DATA ZPROJ, ZTAPED, ZPROG 00430718 ! 47: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00440718 ! 48: DATA REMRKS /' '/ 00450718 ! 49: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00460718 ! 50: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00470718 ! 51: C**** 00480718 ! 52: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00490718 ! 53: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00500718 ! 54: CZ03 ZPROG = 'PROGRAM NAME' 00510718 ! 55: ZDATE = '07-Nov-85 ' *RP ! 56: ZCOMPL = 'CCI 5.2 ' *RP ! 57: ZPROJ = 'TC-85- -410' *RP ! 58: ZNAME = ' ' *RP ! 59: ZTAPE = ' ' *RP ! 60: ZTAPED = '850703 ' *RP ! 61: C 00580718 ! 62: IVPASS = 0 00590718 ! 63: IVFAIL = 0 00600718 ! 64: IVDELE = 0 00610718 ! 65: IVINSP = 0 00620718 ! 66: IVTOTL = 0 00630718 ! 67: IVTOTN = 0 00640718 ! 68: ICZERO = 0 00650718 ! 69: C 00660718 ! 70: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00670718 ! 71: I01 = 05 00680718 ! 72: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00690718 ! 73: I02 = 06 00700718 ! 74: C 00710718 ! 75: I01 = 5 00720718 ! 76: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00730718 ! 77: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00740718 ! 78: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00750718 ! 79: C 00760718 ! 80: I02 = 6 00770718 ! 81: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00780718 ! 82: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00790718 ! 83: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00800718 ! 84: C 00810718 ! 85: CBE** ********************** BBCINITB **********************************00820718 ! 86: ZPROG='FM718' 00830718 ! 87: IVTOTL = 29 00840718 ! 88: CBB** ********************** BBCHED0A **********************************00850718 ! 89: C**** 00860718 ! 90: C**** WRITE REPORT TITLE 00870718 ! 91: C**** 00880718 ! 92: WRITE (I02, 90002) 00890718 ! 93: WRITE (I02, 90006) 00900718 ! 94: WRITE (I02, 90007) 00910718 ! 95: WRITE (I02, 90008) ZVERS, ZVERSD 00920718 ! 96: WRITE (I02, 90009) ZPROG, ZPROG 00930718 ! 97: WRITE (I02, 90010) ZDATE, ZCOMPL 00940718 ! 98: CBE** ********************** BBCHED0A **********************************00950718 ! 99: CBB** ********************** BBCHED0B **********************************00960718 ! 100: C**** WRITE DETAIL REPORT HEADERS 00970718 ! 101: C**** 00980718 ! 102: WRITE (I02,90004) 00990718 ! 103: WRITE (I02,90004) 01000718 ! 104: WRITE (I02,90013) 01010718 ! 105: WRITE (I02,90014) 01020718 ! 106: WRITE (I02,90015) IVTOTL 01030718 ! 107: CBE** ********************** BBCHED0B **********************************01040718 ! 108: C 01050718 ! 109: CT001* TEST 001 **** FCVS PROGRAM 718 **** 01060718 ! 110: C 01070718 ! 111: C LOGICAL EXPRESSION CONTAINING SYMBOLIC NAME OF A LOGICAL CONSTANT 01080718 ! 112: C 01090718 ! 113: IVTNUM = 1 01100718 ! 114: LVCORR = .TRUE. 01110718 ! 115: LVCOMP = LPN001 01120718 ! 116: IVCOMP = 0 01130718 ! 117: IF (LVCOMP) IVCOMP = 1 01140718 ! 118: IF (IVCOMP - 1) 20010, 10010, 20010 01150718 ! 119: 10010 IVPASS = IVPASS + 1 01160718 ! 120: WRITE (I02,80002) IVTNUM 01170718 ! 121: GO TO 0011 01180718 ! 122: 20010 IVFAIL = IVFAIL + 1 01190718 ! 123: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01200718 ! 124: 0011 CONTINUE 01210718 ! 125: C 01220718 ! 126: C TESTS 2-3 - TEST LOGICAL EXPRESSIONS INVOLVING .NOT. 01230718 ! 127: C 01240718 ! 128: C 01250718 ! 129: CT002* TEST 002 **** FCVS PROGRAM 718 **** 01260718 ! 130: C 01270718 ! 131: C 01280718 ! 132: IVTNUM = 2 01290718 ! 133: LVCORR = .TRUE. 01300718 ! 134: LVCOMP = .NOT..FALSE. 01310718 ! 135: IVCOMP = 0 01320718 ! 136: IF (LVCOMP) IVCOMP = 1 01330718 ! 137: IF (IVCOMP - 1) 20020, 10020, 20020 01340718 ! 138: 10020 IVPASS = IVPASS + 1 01350718 ! 139: WRITE (I02,80002) IVTNUM 01360718 ! 140: GO TO 0021 01370718 ! 141: 20020 IVFAIL = IVFAIL + 1 01380718 ! 142: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01390718 ! 143: 0021 CONTINUE 01400718 ! 144: C 01410718 ! 145: CT003* TEST 003 **** FCVS PROGRAM 718 **** 01420718 ! 146: C 01430718 ! 147: C 01440718 ! 148: IVTNUM = 3 01450718 ! 149: IVCORR = 1 01460718 ! 150: IVCOMP = 0 01470718 ! 151: IF (.NOT. LPN002) IVCOMP = 1 01480718 ! 152: 40030 IF (IVCOMP - 1) 20030, 10030, 20030 01490718 ! 153: 10030 IVPASS = IVPASS + 1 01500718 ! 154: WRITE (I02,80002) IVTNUM 01510718 ! 155: GO TO 0031 01520718 ! 156: 20030 IVFAIL = IVFAIL + 1 01530718 ! 157: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01540718 ! 158: 0031 CONTINUE 01550718 ! 159: C 01560718 ! 160: C TESTS 4-5 - TEST LOGICAL EXPRESSIONS INVOLVING .AND. 01570718 ! 161: C 01580718 ! 162: C 01590718 ! 163: CT004* TEST 004 **** FCVS PROGRAM 718 **** 01600718 ! 164: C 01610718 ! 165: C 01620718 ! 166: IVTNUM = 4 01630718 ! 167: LVCORR = .TRUE. 01640718 ! 168: LVCOMP = .TRUE..AND.LPN003 01650718 ! 169: IVCOMP = 0 01660718 ! 170: IF (LVCOMP) IVCOMP = 1 01670718 ! 171: IF (IVCOMP - 1) 20040, 10040, 20040 01680718 ! 172: 10040 IVPASS = IVPASS + 1 01690718 ! 173: WRITE (I02,80002) IVTNUM 01700718 ! 174: GO TO 0041 01710718 ! 175: 20040 IVFAIL = IVFAIL + 1 01720718 ! 176: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01730718 ! 177: 0041 CONTINUE 01740718 ! 178: C 01750718 ! 179: CT005* TEST 005 **** FCVS PROGRAM 718 **** 01760718 ! 180: C 01770718 ! 181: C 01780718 ! 182: IVTNUM = 5 01790718 ! 183: IVCORR = 1 01800718 ! 184: IVCOMP = 0 01810718 ! 185: IF (LPN003.AND..TRUE.) IVCOMP = 1 01820718 ! 186: 40050 IF (IVCOMP - 1) 20050, 10050, 20050 01830718 ! 187: 10050 IVPASS = IVPASS + 1 01840718 ! 188: WRITE (I02,80002) IVTNUM 01850718 ! 189: GO TO 0051 01860718 ! 190: 20050 IVFAIL = IVFAIL + 1 01870718 ! 191: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01880718 ! 192: 0051 CONTINUE 01890718 ! 193: C 01900718 ! 194: C TESTS 6-7 - TEST LOGICAL EXPRESSIONS INVOLVING .OR. 01910718 ! 195: C 01920718 ! 196: C 01930718 ! 197: CT006* TEST 006 **** FCVS PROGRAM 718 **** 01940718 ! 198: C 01950718 ! 199: C 01960718 ! 200: IVTNUM = 6 01970718 ! 201: LVCORR = .TRUE. 01980718 ! 202: LVCOMP = .TRUE..OR.LPN004 01990718 ! 203: IVCOMP = 0 02000718 ! 204: IF (LVCOMP) IVCOMP = 1 02010718 ! 205: IF (IVCOMP - 1) 20060, 10060, 20060 02020718 ! 206: 10060 IVPASS = IVPASS + 1 02030718 ! 207: WRITE (I02,80002) IVTNUM 02040718 ! 208: GO TO 0061 02050718 ! 209: 20060 IVFAIL = IVFAIL + 1 02060718 ! 210: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02070718 ! 211: 0061 CONTINUE 02080718 ! 212: C 02090718 ! 213: CT007* TEST 007 **** FCVS PROGRAM 718 **** 02100718 ! 214: C 02110718 ! 215: C 02120718 ! 216: IVTNUM = 7 02130718 ! 217: IVCORR = 1 02140718 ! 218: IVCOMP = 0 02150718 ! 219: IF (LPN001.OR..FALSE.) IVCOMP = 1 02160718 ! 220: 40070 IF (IVCOMP - 1) 20070, 10070, 20070 02170718 ! 221: 10070 IVPASS = IVPASS + 1 02180718 ! 222: WRITE (I02,80002) IVTNUM 02190718 ! 223: GO TO 0071 02200718 ! 224: 20070 IVFAIL = IVFAIL + 1 02210718 ! 225: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02220718 ! 226: 0071 CONTINUE 02230718 ! 227: C 02240718 ! 228: C TESTS 8-9 - TEST LOGICAL EXPRESSIONS INVOLVING .EQV. 02250718 ! 229: C 02260718 ! 230: C 02270718 ! 231: CT008* TEST 008 **** FCVS PROGRAM 718 **** 02280718 ! 232: C 02290718 ! 233: C 02300718 ! 234: IVTNUM = 8 02310718 ! 235: LVCORR = .TRUE. 02320718 ! 236: LVCOMP = .FALSE..EQV.LPN002 02330718 ! 237: IVCOMP = 0 02340718 ! 238: IF (LVCOMP) IVCOMP = 1 02350718 ! 239: IF (IVCOMP - 1) 20080, 10080, 20080 02360718 ! 240: 10080 IVPASS = IVPASS + 1 02370718 ! 241: WRITE (I02,80002) IVTNUM 02380718 ! 242: GO TO 0081 02390718 ! 243: 20080 IVFAIL = IVFAIL + 1 02400718 ! 244: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02410718 ! 245: 0081 CONTINUE 02420718 ! 246: C 02430718 ! 247: CT009* TEST 009 **** FCVS PROGRAM 718 **** 02440718 ! 248: C 02450718 ! 249: C 02460718 ! 250: IVTNUM = 9 02470718 ! 251: IVCORR = 1 02480718 ! 252: IVCOMP = 0 02490718 ! 253: IF (LPN003.EQV..TRUE.) IVCOMP = 1 02500718 ! 254: 40090 IF (IVCOMP - 1) 20090, 10090, 20090 02510718 ! 255: 10090 IVPASS = IVPASS + 1 02520718 ! 256: WRITE (I02,80002) IVTNUM 02530718 ! 257: GO TO 0091 02540718 ! 258: 20090 IVFAIL = IVFAIL + 1 02550718 ! 259: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02560718 ! 260: 0091 CONTINUE 02570718 ! 261: C 02580718 ! 262: C TESTS 10-11 - TEST LOGICAL EXPRESSIONS INVOLVING .NEQV. 02590718 ! 263: C 02600718 ! 264: C 02610718 ! 265: CT010* TEST 010 **** FCVS PROGRAM 718 **** 02620718 ! 266: C 02630718 ! 267: C 02640718 ! 268: IVTNUM = 10 02650718 ! 269: LVCORR = .TRUE. 02660718 ! 270: LVCOMP = .FALSE..NEQV.LPN001 02670718 ! 271: IVCOMP = 0 02680718 ! 272: IF (LVCOMP) IVCOMP = 1 02690718 ! 273: IF (IVCOMP - 1) 20100, 10100, 20100 02700718 ! 274: 10100 IVPASS = IVPASS + 1 02710718 ! 275: WRITE (I02,80002) IVTNUM 02720718 ! 276: GO TO 0101 02730718 ! 277: 20100 IVFAIL = IVFAIL + 1 02740718 ! 278: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02750718 ! 279: 0101 CONTINUE 02760718 ! 280: C 02770718 ! 281: CT011* TEST 011 **** FCVS PROGRAM 718 **** 02780718 ! 282: C 02790718 ! 283: C 02800718 ! 284: IVTNUM = 11 02810718 ! 285: IVCORR = 1 02820718 ! 286: IVCOMP = 0 02830718 ! 287: IF (LPN003.NEQV..FALSE.) IVCOMP = 1 02840718 ! 288: 40110 IF (IVCOMP - 1) 20110, 10110, 20110 02850718 ! 289: 10110 IVPASS = IVPASS + 1 02860718 ! 290: WRITE (I02,80002) IVTNUM 02870718 ! 291: GO TO 0111 02880718 ! 292: 20110 IVFAIL = IVFAIL + 1 02890718 ! 293: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02900718 ! 294: 0111 CONTINUE 02910718 ! 295: C 02920718 ! 296: C TESTS 12-17 - TEST LOGICAL EXPRESSIONS INVOLVING VARIOUS COMBINA- 02930718 ! 297: C TIONS OF LOGICAL OPERATORS AND ALSO TEST PRECEDENCE AMONG THE 02940718 ! 298: C LOGICAL OPERATORS WITH OR WITHOUT PARENTHESES 02950718 ! 299: C 02960718 ! 300: C 02970718 ! 301: CT012* TEST 012 **** FCVS PROGRAM 718 **** 02980718 ! 302: C 02990718 ! 303: C 03000718 ! 304: IVTNUM = 12 03010718 ! 305: LVCORR = .TRUE. 03020718 ! 306: LVN001 = .TRUE. 03030718 ! 307: LVCOMP = LVN001.EQV.LPN002.AND..TRUE..NEQV.LPN003 03040718 ! 308: IVCOMP = 0 03050718 ! 309: IF (LVCOMP) IVCOMP = 1 03060718 ! 310: IF (IVCOMP - 1) 20120, 10120, 20120 03070718 ! 311: 10120 IVPASS = IVPASS + 1 03080718 ! 312: WRITE (I02,80002) IVTNUM 03090718 ! 313: GO TO 0121 03100718 ! 314: 20120 IVFAIL = IVFAIL + 1 03110718 ! 315: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03120718 ! 316: 0121 CONTINUE 03130718 ! 317: C 03140718 ! 318: CT013* TEST 013 **** FCVS PROGRAM 718 **** 03150718 ! 319: C 03160718 ! 320: C 03170718 ! 321: IVTNUM = 13 03180718 ! 322: LVCORR = .FALSE. 03190718 ! 323: LVCOMP = (.TRUE..EQV..FALSE.).AND.(LVN001.NEQV.LPN003) 03200718 ! 324: IVCOMP = 0 03210718 ! 325: IF (LVCOMP) IVCOMP = 1 03220718 ! 326: IF (IVCOMP - 0) 20130, 10130, 20130 03230718 ! 327: 10130 IVPASS = IVPASS + 1 03240718 ! 328: WRITE (I02,80002) IVTNUM 03250718 ! 329: GO TO 0131 03260718 ! 330: 20130 IVFAIL = IVFAIL + 1 03270718 ! 331: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03280718 ! 332: 0131 CONTINUE 03290718 ! 333: C 03300718 ! 334: CT014* TEST 014 **** FCVS PROGRAM 718 **** 03310718 ! 335: C 03320718 ! 336: C 03330718 ! 337: IVTNUM = 14 03340718 ! 338: LVCORR = .TRUE. 03350718 ! 339: LVN001 = .FALSE. 03360718 ! 340: LVCOMP = LVN001.EQV.LPN002.AND..NOT.LPN001.OR..FALSE. 03370718 ! 341: IVCOMP = 0 03380718 ! 342: IF (LVCOMP) IVCOMP = 1 03390718 ! 343: IF (IVCOMP - 1) 20140, 10140, 20140 03400718 ! 344: 10140 IVPASS = IVPASS + 1 03410718 ! 345: WRITE (I02,80002) IVTNUM 03420718 ! 346: GO TO 0141 03430718 ! 347: 20140 IVFAIL = IVFAIL + 1 03440718 ! 348: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03450718 ! 349: 0141 CONTINUE 03460718 ! 350: C 03470718 ! 351: CT015* TEST 015 **** FCVS PROGRAM 718 **** 03480718 ! 352: C 03490718 ! 353: C 03500718 ! 354: IVTNUM = 15 03510718 ! 355: LVCORR = .FALSE. 03520718 ! 356: LVCOMP = (LVN001.EQV.LPN002).AND.(.NOT.LPN001.OR..FALSE.) 03530718 ! 357: IVCOMP = 0 03540718 ! 358: IF (LVCOMP) IVCOMP = 1 03550718 ! 359: IF (IVCOMP - 0) 20150, 10150, 20150 03560718 ! 360: 10150 IVPASS = IVPASS + 1 03570718 ! 361: WRITE (I02,80002) IVTNUM 03580718 ! 362: GO TO 0151 03590718 ! 363: 20150 IVFAIL = IVFAIL + 1 03600718 ! 364: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03610718 ! 365: 0151 CONTINUE 03620718 ! 366: C 03630718 ! 367: CT016* TEST 016 **** FCVS PROGRAM 718 **** 03640718 ! 368: C 03650718 ! 369: C 03660718 ! 370: IVTNUM = 16 03670718 ! 371: LVCORR = .TRUE. 03680718 ! 372: LVCOMP = LPN001.EQV.LVN001.OR..NOT.LPN003.NEQV..TRUE. 03690718 ! 373: IVCOMP = 0 03700718 ! 374: IF (LVCOMP) IVCOMP = 1 03710718 ! 375: IF (IVCOMP - 1) 20160, 10160, 20160 03720718 ! 376: 10160 IVPASS = IVPASS + 1 03730718 ! 377: WRITE (I02,80002) IVTNUM 03740718 ! 378: GO TO 0161 03750718 ! 379: 20160 IVFAIL = IVFAIL + 1 03760718 ! 380: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03770718 ! 381: 0161 CONTINUE 03780718 ! 382: C 03790718 ! 383: CT017* TEST 017 **** FCVS PROGRAM 718 **** 03800718 ! 384: C 03810718 ! 385: C 03820718 ! 386: IVTNUM = 17 03830718 ! 387: LVCORR = .TRUE. 03840718 ! 388: LVCOMP = LPN001.AND.(LVN001.OR..NOT.(LPN002.EQV.(LPN003.NEQV. 03850718 ! 389: 1 LPN004))) 03860718 ! 390: IVCOMP = 0 03870718 ! 391: IF (LVCOMP) IVCOMP = 1 03880718 ! 392: IF (IVCOMP - 1) 20170, 10170, 20170 03890718 ! 393: 10170 IVPASS = IVPASS + 1 03900718 ! 394: WRITE (I02,80002) IVTNUM 03910718 ! 395: GO TO 0171 03920718 ! 396: 20170 IVFAIL = IVFAIL + 1 03930718 ! 397: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03940718 ! 398: 0171 CONTINUE 03950718 ! 399: C 03960718 ! 400: C TESTS 18-21 - TEST LOGICAL EXPRESSIONS INVOLOVING .EQV. 03970718 ! 401: C 03980718 ! 402: C 03990718 ! 403: CT018* TEST 018 **** FCVS PROGRAM 718 **** 04000718 ! 404: C 04010718 ! 405: C 04020718 ! 406: IVTNUM = 18 04030718 ! 407: LVCORR = .TRUE. 04040718 ! 408: LVCOMP = LPN001.EQV.LPN003 04050718 ! 409: IVCOMP = 0 04060718 ! 410: IF (LVCOMP) IVCOMP = 1 04070718 ! 411: IF (IVCOMP - 1) 20180, 10180, 20180 04080718 ! 412: 10180 IVPASS = IVPASS + 1 04090718 ! 413: WRITE (I02,80002) IVTNUM 04100718 ! 414: GO TO 0181 04110718 ! 415: 20180 IVFAIL = IVFAIL + 1 04120718 ! 416: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04130718 ! 417: 0181 CONTINUE 04140718 ! 418: C 04150718 ! 419: CT019* TEST 019 **** FCVS PROGRAM 718 **** 04160718 ! 420: C 04170718 ! 421: C 04180718 ! 422: IVTNUM = 19 04190718 ! 423: LVCORR = .FALSE. 04200718 ! 424: LVCOMP = LPN001.EQV.LPN002 04210718 ! 425: IVCOMP = 0 04220718 ! 426: IF (LVCOMP) IVCOMP = 1 04230718 ! 427: IF (IVCOMP - 0) 20190, 10190, 20190 04240718 ! 428: 10190 IVPASS = IVPASS + 1 04250718 ! 429: WRITE (I02,80002) IVTNUM 04260718 ! 430: GO TO 0191 04270718 ! 431: 20190 IVFAIL = IVFAIL + 1 04280718 ! 432: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04290718 ! 433: 0191 CONTINUE 04300718 ! 434: C 04310718 ! 435: CT020* TEST 020 **** FCVS PROGRAM 718 **** 04320718 ! 436: C 04330718 ! 437: C 04340718 ! 438: IVTNUM = 20 04350718 ! 439: LVCORR = .FALSE. 04360718 ! 440: LVCOMP = LPN002.EQV.LPN003 04370718 ! 441: IVCOMP = 0 04380718 ! 442: IF (LVCOMP) IVCOMP = 1 04390718 ! 443: IF (IVCOMP - 0) 20200, 10200, 20200 04400718 ! 444: 10200 IVPASS = IVPASS + 1 04410718 ! 445: WRITE (I02,80002) IVTNUM 04420718 ! 446: GO TO 0201 04430718 ! 447: 20200 IVFAIL = IVFAIL + 1 04440718 ! 448: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04450718 ! 449: 0201 CONTINUE 04460718 ! 450: C 04470718 ! 451: CT021* TEST 021 **** FCVS PROGRAM 718 **** 04480718 ! 452: C 04490718 ! 453: C 04500718 ! 454: IVTNUM = 21 04510718 ! 455: LVCORR = .TRUE. 04520718 ! 456: LVCOMP = LPN002.EQV.LPN004 04530718 ! 457: IVCOMP = 0 04540718 ! 458: IF (LVCOMP) IVCOMP = 1 04550718 ! 459: IF (IVCOMP - 1) 20210, 10210, 20210 04560718 ! 460: 10210 IVPASS = IVPASS + 1 04570718 ! 461: WRITE (I02,80002) IVTNUM 04580718 ! 462: GO TO 0211 04590718 ! 463: 20210 IVFAIL = IVFAIL + 1 04600718 ! 464: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04610718 ! 465: 0211 CONTINUE 04620718 ! 466: C 04630718 ! 467: C TESTS 22-25 - TEST LOGICAL EXPRESSIONS INVOLVING .NEQV. 04640718 ! 468: C 04650718 ! 469: C 04660718 ! 470: CT022* TEST 022 **** FCVS PROGRAM 718 **** 04670718 ! 471: C 04680718 ! 472: C 04690718 ! 473: IVTNUM = 22 04700718 ! 474: LVCORR = .FALSE. 04710718 ! 475: LVCOMP = LPN001.NEQV.LPN003 04720718 ! 476: IVCOMP = 0 04730718 ! 477: IF (LVCOMP) IVCOMP = 1 04740718 ! 478: IF (IVCOMP - 0) 20220, 10220, 20220 04750718 ! 479: 10220 IVPASS = IVPASS + 1 04760718 ! 480: WRITE (I02,80002) IVTNUM 04770718 ! 481: GO TO 0221 04780718 ! 482: 20220 IVFAIL = IVFAIL + 1 04790718 ! 483: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04800718 ! 484: 0221 CONTINUE 04810718 ! 485: C 04820718 ! 486: CT023* TEST 023 **** FCVS PROGRAM 718 **** 04830718 ! 487: C 04840718 ! 488: C 04850718 ! 489: IVTNUM = 23 04860718 ! 490: LVCORR = .TRUE. 04870718 ! 491: LVCOMP = LPN001.NEQV.LPN002 04880718 ! 492: IVCOMP = 0 04890718 ! 493: IF (LVCOMP) IVCOMP = 1 04900718 ! 494: IF (IVCOMP - 1) 20230, 10230, 20230 04910718 ! 495: 10230 IVPASS = IVPASS + 1 04920718 ! 496: WRITE (I02,80002) IVTNUM 04930718 ! 497: GO TO 0231 04940718 ! 498: 20230 IVFAIL = IVFAIL + 1 04950718 ! 499: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04960718 ! 500: 0231 CONTINUE 04970718 ! 501: C 04980718 ! 502: CT024* TEST 024 **** FCVS PROGRAM 718 **** 04990718 ! 503: C 05000718 ! 504: C 05010718 ! 505: IVTNUM = 24 05020718 ! 506: LVCORR = .TRUE. 05030718 ! 507: LVCOMP = LPN002.NEQV.LPN003 05040718 ! 508: IVCOMP = 0 05050718 ! 509: IF (LVCOMP) IVCOMP = 1 05060718 ! 510: IF (IVCOMP - 1) 20240, 10240, 20240 05070718 ! 511: 10240 IVPASS = IVPASS + 1 05080718 ! 512: WRITE (I02,80002) IVTNUM 05090718 ! 513: GO TO 0241 05100718 ! 514: 20240 IVFAIL = IVFAIL + 1 05110718 ! 515: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05120718 ! 516: 0241 CONTINUE 05130718 ! 517: C 05140718 ! 518: CT025* TEST 025 **** FCVS PROGRAM 718 **** 05150718 ! 519: C 05160718 ! 520: C 05170718 ! 521: IVTNUM = 25 05180718 ! 522: LVCORR = .FALSE. 05190718 ! 523: LVCOMP = LPN002.NEQV.LPN004 05200718 ! 524: IVCOMP = 0 05210718 ! 525: IF (LVCOMP) IVCOMP = 1 05220718 ! 526: IF (IVCOMP - 0) 20250, 10250, 20250 05230718 ! 527: 10250 IVPASS = IVPASS + 1 05240718 ! 528: WRITE (I02,80002) IVTNUM 05250718 ! 529: GO TO 0251 05260718 ! 530: 20250 IVFAIL = IVFAIL + 1 05270718 ! 531: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05280718 ! 532: 0251 CONTINUE 05290718 ! 533: C 05300718 ! 534: C TESTS 26-29 TEST LOGICAL CONSTANT EXPRESSIONS USING SYMBOLIC NAMES 05310718 ! 535: C OF LOGICAL CONSTANTS 05320718 ! 536: C 05330718 ! 537: C 05340718 ! 538: CT026* TEST 026 **** FCVS PROGRAM 718 **** 05350718 ! 539: C 05360718 ! 540: C 05370718 ! 541: IVTNUM = 26 05380718 ! 542: LVCORR = .FALSE. 05390718 ! 543: LVCOMP = LPN001.EQV.LPN002.NEQV.LPN004 05400718 ! 544: IVCOMP = 0 05410718 ! 545: IF (LVCOMP) IVCOMP = 1 05420718 ! 546: IF (IVCOMP - 0) 20260, 10260, 20260 05430718 ! 547: 10260 IVPASS = IVPASS + 1 05440718 ! 548: WRITE (I02,80002) IVTNUM 05450718 ! 549: GO TO 0261 05460718 ! 550: 20260 IVFAIL = IVFAIL + 1 05470718 ! 551: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05480718 ! 552: 0261 CONTINUE 05490718 ! 553: C 05500718 ! 554: CT027* TEST 027 **** FCVS PROGRAM 718 **** 05510718 ! 555: C 05520718 ! 556: C 05530718 ! 557: IVTNUM = 27 05540718 ! 558: LVCORR = .TRUE. 05550718 ! 559: LVCOMP = LPN003.NEQV.LPN001.AND.LPN002 05560718 ! 560: IVCOMP = 0 05570718 ! 561: IF (LVCOMP) IVCOMP = 1 05580718 ! 562: IF (IVCOMP - 1) 20270, 10270, 20270 05590718 ! 563: 10270 IVPASS = IVPASS + 1 05600718 ! 564: WRITE (I02,80002) IVTNUM 05610718 ! 565: GO TO 0271 05620718 ! 566: 20270 IVFAIL = IVFAIL + 1 05630718 ! 567: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05640718 ! 568: 0271 CONTINUE 05650718 ! 569: C 05660718 ! 570: CT028* TEST 028 **** FCVS PROGRAM 718 **** 05670718 ! 571: C 05680718 ! 572: C 05690718 ! 573: IVTNUM = 28 05700718 ! 574: LVCORR = .FALSE. 05710718 ! 575: LVCOMP = (LPN003.NEQV.LPN001).AND.LPN002 05720718 ! 576: IVCOMP = 0 05730718 ! 577: IF (LVCOMP) IVCOMP = 1 05740718 ! 578: IF (IVCOMP - 0) 20280, 10280, 20280 05750718 ! 579: 10280 IVPASS = IVPASS + 1 05760718 ! 580: WRITE (I02,80002) IVTNUM 05770718 ! 581: GO TO 0281 05780718 ! 582: 20280 IVFAIL = IVFAIL + 1 05790718 ! 583: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05800718 ! 584: 0281 CONTINUE 05810718 ! 585: C 05820718 ! 586: CT029* TEST 029 **** FCVS PROGRAM 718 **** 05830718 ! 587: C 05840718 ! 588: C 05850718 ! 589: IVTNUM = 29 05860718 ! 590: LVCORR = .TRUE. 05870718 ! 591: LVCOMP = .NOT.(LPN002.EQV.LPN004.AND.LPN001.OR.LPN003) 05880718 ! 592: IVCOMP = 0 05890718 ! 593: IF (LVCOMP) IVCOMP = 1 05900718 ! 594: IF (IVCOMP - 1) 20290, 10290, 20290 05910718 ! 595: 10290 IVPASS = IVPASS + 1 05920718 ! 596: WRITE (I02,80002) IVTNUM 05930718 ! 597: GO TO 0291 05940718 ! 598: 20290 IVFAIL = IVFAIL + 1 05950718 ! 599: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05960718 ! 600: 0291 CONTINUE 05970718 ! 601: C 05980718 ! 602: CBB** ********************** BBCSUM0 **********************************05990718 ! 603: C**** WRITE OUT TEST SUMMARY 06000718 ! 604: C**** 06010718 ! 605: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 06020718 ! 606: WRITE (I02, 90004) 06030718 ! 607: WRITE (I02, 90014) 06040718 ! 608: WRITE (I02, 90004) 06050718 ! 609: WRITE (I02, 90020) IVPASS 06060718 ! 610: WRITE (I02, 90022) IVFAIL 06070718 ! 611: WRITE (I02, 90024) IVDELE 06080718 ! 612: WRITE (I02, 90026) IVINSP 06090718 ! 613: WRITE (I02, 90028) IVTOTN, IVTOTL 06100718 ! 614: CBE** ********************** BBCSUM0 **********************************06110718 ! 615: CBB** ********************** BBCFOOT0 **********************************06120718 ! 616: C**** WRITE OUT REPORT FOOTINGS 06130718 ! 617: C**** 06140718 ! 618: WRITE (I02,90016) ZPROG, ZPROG 06150718 ! 619: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 06160718 ! 620: WRITE (I02,90019) 06170718 ! 621: CBE** ********************** BBCFOOT0 **********************************06180718 ! 622: 90001 FORMAT (1H ,56X,5HFM718) 06190718 ! 623: 90000 FORMAT (1H ,50X,20HEND OF PROGRAM FM718) 06200718 ! 624: CBB** ********************** BBCFMT0A **********************************06210718 ! 625: C**** FORMATS FOR TEST DETAIL LINES 06220718 ! 626: C**** 06230718 ! 627: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 06240718 ! 628: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 06250718 ! 629: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 06260718 ! 630: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 06270718 ! 631: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 06280718 ! 632: 1I6,/,1H ,15X,10HCORRECT= ,I6) 06290718 ! 633: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 06300718 ! 634: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 06310718 ! 635: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 06320718 ! 636: 1A21,/,1H ,16X,10HCORRECT= ,A21) 06330718 ! 637: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 06340718 ! 638: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 06350718 ! 639: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 06360718 ! 640: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 06370718 ! 641: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 06380718 ! 642: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 06390718 ! 643: 80050 FORMAT (1H ,48X,A31) 06400718 ! 644: CBE** ********************** BBCFMT0A **********************************06410718 ! 645: CBB** ********************** BBCFMAT1 **********************************06420718 ! 646: C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 06430718 ! 647: C**** 06440718 ! 648: 80031 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 06450718 ! 649: 1D17.10,/,1H ,16X,10HCORRECT= ,D17.10) 06460718 ! 650: 80033 FORMAT (1H ,16X,10HCOMPUTED= ,D17.10,10X,A31) 06470718 ! 651: 80035 FORMAT (1H ,16X,10HCORRECT= ,D17.10,10X,A31) 06480718 ! 652: 80037 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 06490718 ! 653: 80039 FORMAT (1H ,16X,10HCORRECT= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 06500718 ! 654: 80041 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 06510718 ! 655: 80043 FORMAT (1H ,16X,10HCORRECT= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 06520718 ! 656: 80045 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 06530718 ! 657: 11H(,F12.5,2H, ,F12.5,1H)/,1H ,16X,10HCORRECT= , 06540718 ! 658: 21H(,F12.5,2H, ,F12.5,1H)) 06550718 ! 659: CBE** ********************** BBCFMAT1 **********************************06560718 ! 660: CBB** ********************** BBCFMT0B **********************************06570718 ! 661: C**** FORMAT STATEMENTS FOR PAGE HEADERS 06580718 ! 662: C**** 06590718 ! 663: 90002 FORMAT (1H1) 06600718 ! 664: 90004 FORMAT (1H ) 06610718 ! 665: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 06620718 ! 666: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 06630718 ! 667: 90008 FORMAT (1H ,21X,A13,A17) 06640718 ! 668: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 06650718 ! 669: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 06660718 ! 670: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 06670718 ! 671: 1 7X,7HREMARKS,24X) 06680718 ! 672: 90014 FORMAT (1H ,46H----------------------------------------------, 06690718 ! 673: 1 33H---------------------------------) 06700718 ! 674: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 06710718 ! 675: C**** 06720718 ! 676: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 06730718 ! 677: C**** 06740718 ! 678: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 06750718 ! 679: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 06760718 ! 680: 1 A13) 06770718 ! 681: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 06780718 ! 682: C**** 06790718 ! 683: C**** FORMAT STATEMENTS FOR RUN SUMMARY 06800718 ! 684: C**** 06810718 ! 685: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 06820718 ! 686: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 06830718 ! 687: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 06840718 ! 688: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 06850718 ! 689: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 06860718 ! 690: CBE** ********************** BBCFMT0B **********************************06870718 ! 691: END 06880718
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.