PROGRAM FM514 00010514 C 00020514 C THIS ROUTINE TESTS SUBROUTINE STATEMENT WITH ANS REF. 00030514 C ASTERISK DUMMY ARGUMENTS AND TEST ALTERNATE 15.6.1 00040514 C RETURN SPECIFIER AS AN ACTUAL ARGUMENT. 15.9.3.5 00050514 C 15.6.2.3 00060514 C THIS ROUTINE USES SUBROUTINE SUBPROGRAMS SN515 AND 00070514 C SN516. 00080514 C 00090514 CBB** ********************** BBCCOMNT **********************************00100514 C**** 00110514 C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00120514 C**** VERSION 2.1 00130514 C**** 00140514 C**** 00150514 C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00160514 C**** NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00170514 C**** SOFTWARE STANDARDS VALIDATION GROUP 00180514 C**** BUILDING 225 RM A266 00190514 C**** GAITHERSBURG, MD 20899 00200514 C**** 00210514 C**** 00220514 C**** 00230514 CBE** ********************** BBCCOMNT **********************************00240514 IMPLICIT DOUBLE PRECISION (D), COMPLEX (Z), LOGICAL (L) 00250514 IMPLICIT CHARACTER*27 (C) 00260514 CBB** ********************** BBCINITA **********************************00270514 C**** SPECIFICATION STATEMENTS 00280514 C**** 00290514 CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00300514 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00310514 CBE** ********************** BBCINITA **********************************00320514 C 00330514 CBB** ********************** BBCINITB **********************************00340514 C**** INITIALIZE SECTION 00350514 DATA ZVERS, ZVERSD, ZDATE 00360514 1 /'VERSION 2.1 ', '93/10/21*21.02.00', '*NO DATE*TIME'/ 00370514 DATA ZCOMPL, ZNAME, ZTAPE 00380514 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00390514 DATA ZPROJ, ZTAPED, ZPROG 00400514 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00410514 DATA REMRKS /' '/ 00420514 C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00430514 C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00440514 C**** 00450514 CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00460514 CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00470514 CZ03 ZPROG = 'PROGRAM NAME' 00480514 CZ04 ZDATE = 'DATE OF TEST' 00490514 CZ05 ZCOMPL = 'COMPILER IDENTIFICATION' 00500514 CZ06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00510514 CZ07 ZNAME = 'NAME OF USER' 00520514 CZ08 ZTAPE = 'TAPE OWNER/ID' 00530514 CZ09 ZTAPED = 'DATE TAPE COPIED' 00540514 C 00550514 IVPASS = 0 00560514 IVFAIL = 0 00570514 IVDELE = 0 00580514 IVINSP = 0 00590514 IVTOTL = 0 00600514 IVTOTN = 0 00610514 ICZERO = 0 00620514 C 00630514 C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00640514 I01 = 05 00650514 C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00660514 I02 = 06 00670514 C 00680514 CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 00690514 C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00700514 CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00710514 C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00720514 C 00730514 CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). 00740514 C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00750514 CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00760514 C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00770514 C 00780514 CBE** ********************** BBCINITB **********************************00790514 ZPROG = 'FM514' 00800514 IVTOTL = 2 00810514 CBB** ********************** BBCHED0A **********************************00820514 C**** 00830514 C**** WRITE REPORT TITLE 00840514 C**** 00850514 WRITE (I02, 90002) 00860514 WRITE (I02, 90006) 00870514 WRITE (I02, 90007) 00880514 WRITE (I02, 90008) ZVERS, ZVERSD 00890514 WRITE (I02, 90009) ZPROG, ZPROG 00900514 WRITE (I02, 90010) ZDATE, ZCOMPL 00910514 CBE** ********************** BBCHED0A **********************************00920514 CBB** ********************** BBCHED0B **********************************00930514 C**** WRITE DETAIL REPORT HEADERS 00940514 C**** 00950514 WRITE (I02,90004) 00960514 WRITE (I02,90004) 00970514 WRITE (I02,90013) 00980514 WRITE (I02,90014) 00990514 WRITE (I02,90015) IVTOTL 01000514 CBE** ********************** BBCHED0B **********************************01010514 C 01020514 CT001* TEST 001 **** FCVS PROGRAM 514 **** 01030514 C TEST 001 TEST SUBROUTINE STATEMENT WITH ASTERISK DUMMY ARGUMENTS 01040514 C 01050514 IVTNUM = 1 01060514 IVCOMP = 0 01070514 IVCORR = 3 01080514 IVN001 = 1 01090514 0012 CALL SN515(IVN001,*0013,*0014) 01100514 IVCOMP = 10 01110514 0013 CONTINUE 01120514 IVCOMP = IVCOMP + IVN001 01130514 IVN001 = 2 01140514 GO TO 0012 01150514 0014 CONTINUE 01160514 IVCOMP = IVCOMP + IVN001 01170514 40010 IF (IVCOMP - 3) 20010, 10010, 20010 01180514 10010 IVPASS = IVPASS + 1 01190514 WRITE (I02,80002) IVTNUM 01200514 GO TO 0011 01210514 20010 IVFAIL = IVFAIL + 1 01220514 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01230514 0011 CONTINUE 01240514 C 01250514 CT002* TEST 002 **** FCVS PROGRAM 514 **** 01260514 C TEST 002 TESTS THE USE OF AN ALTERNATE RETURN SPECIFIER 01270514 C AS AN ACTUAL ARGUMENT 01280514 C 01290514 IVTNUM = 2 01300514 IVCOMP = 0 01310514 IVCORR = 0 01320514 CALL SN516(5,IVN001,*0024) 01330514 0022 IVCOMP = IVCOMP - IVN001 01340514 GO TO 0025 01350514 0023 CONTINUE 01360514 IVCOMP = IVCOMP - IVN001 01370514 CALL SN516(4,IVN001,*0022) 01380514 IVCOMP = IVCOMP + IVN001 01390514 0024 CONTINUE 01400514 IVCOMP = IVCOMP + IVN001 01410514 CALL SN516(3,IVN001,*0023) 01420514 IVCOMP = IVCOMP + IVN001 01430514 0025 CONTINUE 01440514 40020 IF (IVCOMP - 0) 20020, 10020, 20020 01450514 10020 IVPASS = IVPASS + 1 01460514 WRITE (I02,80002) IVTNUM 01470514 GO TO 0021 01480514 20020 IVFAIL = IVFAIL + 1 01490514 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01500514 0021 CONTINUE 01510514 C 01520514 CBB** ********************** BBCSUM0 **********************************01530514 C**** WRITE OUT TEST SUMMARY 01540514 C**** 01550514 IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 01560514 WRITE (I02, 90004) 01570514 WRITE (I02, 90014) 01580514 WRITE (I02, 90004) 01590514 WRITE (I02, 90020) IVPASS 01600514 WRITE (I02, 90022) IVFAIL 01610514 WRITE (I02, 90024) IVDELE 01620514 WRITE (I02, 90026) IVINSP 01630514 WRITE (I02, 90028) IVTOTN, IVTOTL 01640514 CBE** ********************** BBCSUM0 **********************************01650514 CBB** ********************** BBCFOOT0 **********************************01660514 C**** WRITE OUT REPORT FOOTINGS 01670514 C**** 01680514 WRITE (I02,90016) ZPROG, ZPROG 01690514 WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 01700514 WRITE (I02,90019) 01710514 CBE** ********************** BBCFOOT0 **********************************01720514 90001 FORMAT (" ",56X,"FM514") 01730514 90000 FORMAT (" ",50X,"END OF PROGRAM FM514" ) 01740514 CBB** ********************** BBCFMT0A **********************************01750514 C**** FORMATS FOR TEST DETAIL LINES 01760514 C**** 01770514 80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31) 01780514 80002 FORMAT (" ",2X,I3,4X," PASS ",32X,A31) 01790514 80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31) 01800514 80008 FORMAT (" ",2X,I3,4X," FAIL ",32X,A31) 01810514 80010 FORMAT (" ",2X,I3,4X," FAIL ",/," ",15X,"COMPUTED= " , 01820514 1I6,/," ",15X,"CORRECT= " ,I6) 01830514 80012 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 01840514 1E12.5,/," ",16X,"CORRECT= " ,E12.5) 01850514 80018 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 01860514 1A21,/," ",16X,"CORRECT= " ,A21) 01870514 80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31) 01880514 80022 FORMAT (" ",16X,"CORRECT= " ,A21,1X,A31) 01890514 80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31) 01900514 80026 FORMAT (" ",16X,"CORRECT= " ,I6,16X,A31) 01910514 80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31) 01920514 80030 FORMAT (" ",16X,"CORRECT= " ,E12.5,10X,A31) 01930514 80050 FORMAT (" ",48X,A31) 01940514 CBE** ********************** BBCFMT0A **********************************01950514 CBB** ********************** BBCFMAT1 **********************************01960514 C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 01970514 C**** 01980514 80031 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 01990514 1D17.10,/," ",16X,"CORRECT= " ,D17.10) 02000514 80033 FORMAT (" ",16X,"COMPUTED= " ,D17.10,10X,A31) 02010514 80035 FORMAT (" ",16X,"CORRECT= " ,D17.10,10X,A31) 02020514 80037 FORMAT (" ",16X,"COMPUTED= " ,"(",E12.5,", ",E12.5,")",6X,A31) 02030514 80039 FORMAT (" ",16X,"CORRECT= " ,"(",E12.5,", ",E12.5,")",6X,A31) 02040514 80041 FORMAT (" ",16X,"COMPUTED= " ,"(",F12.5,", ",F12.5,")",6X,A31) 02050514 80043 FORMAT (" ",16X,"CORRECT= " ,"(",F12.5,", ",F12.5,")",6X,A31) 02060514 80045 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 02070514 1"(",F12.5,", ",F12.5,")"/," ",16X,"CORRECT= " , 02080514 2"(",F12.5,", ",F12.5,")") 02090514 CBE** ********************** BBCFMAT1 **********************************02100514 CBB** ********************** BBCFMT0B **********************************02110514 C**** FORMAT STATEMENTS FOR PAGE HEADERS 02120514 C**** 02130514 90002 FORMAT ("1") 02140514 90004 FORMAT (" ") 02150514 90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )02160514 90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 02170514 90008 FORMAT (" ",21X,A13,A17) 02180514 90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/) 02190514 90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17," - COMPILER= " ,A20) 02200514 90013 FORMAT (" "," TEST ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" , 02210514 1 7X,"REMARKS",24X) 02220514 90014 FORMAT (" ","----------------------------------------------" , 02230514 1 "---------------------------------" ) 02240514 90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/) 02250514 C**** 02260514 C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 02270514 C**** 02280514 90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/) 02290514 90018 FORMAT (" ",A13,13X,A20," * ",A10,"/", 02300514 1 A13) 02310514 90019 FORMAT (" ","FOR OFFICIAL USE ONLY " ,35X,"COPYRIGHT 1982" ) 02320514 C**** 02330514 C**** FORMAT STATEMENTS FOR RUN SUMMARY 02340514 C**** 02350514 90020 FORMAT (" ",21X,I5," TESTS PASSED" ) 02360514 90022 FORMAT (" ",21X,I5," TESTS FAILED" ) 02370514 90024 FORMAT (" ",21X,I5," TESTS DELETED" ) 02380514 90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" ) 02390514 90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" ) 02400514 CBE** ********************** BBCFMT0B **********************************02410514 STOP 02420514 END 02430514 C 00010515 C THIS ROUTINE IS TO BE RUN WITH ROUTINE 514 00020515 C 00030515 C THIS SUBROUTINE IS USED TO TEST SUBROUTINE STATEMENT WITH 00040515 C ASTERISK DUMMY ARGUMENTS 00050515 C 00060515 SUBROUTINE SN515(IVD001,*,*) 00070515 RETURN IVD001 00080515 END 00090515 C THIS ROUTINE IS TO BE RUN WITH ROUTINE 514. 00010516 C 00020516 C THIS SUBROUTINE IS CALLED TO TEST THE USE OF AN ALTERNATE 00030516 C RETURN SPECIFIER AS AN ACTUAL ARGUMENT 00040516 C 00050516 SUBROUTINE SN516(IVD001,IVD002,*) 00060516 IVD002 = IVD001**2 00070516 RETURN 1 00080516 END 00090516