diff --git a/Fortran/UnitTests/fcvs21_f95/CMakeLists.txt b/Fortran/UnitTests/fcvs21_f95/CMakeLists.txt --- a/Fortran/UnitTests/fcvs21_f95/CMakeLists.txt +++ b/Fortran/UnitTests/fcvs21_f95/CMakeLists.txt @@ -25,7 +25,11 @@ # # Tests make use of arithmetic IF which is now a deleted feature # in Fortran 2008 -# +# +# Test 509 has been removed because it requires the -std=legacy flag +# which flang does not support and does not intend to support. +# (gfortran does have this flag and does compile the test successfully) +# # Note that the NIST license allows redistribution but requires # explicit acknowledgement of what has been changed. Please # amend README file if you modify the tests. @@ -33,12 +37,6 @@ # clean-up fort.* files otherwise one of the tests will fail llvm_test_prepare(rm -f %S/fort.*) -# Test 509 requires this flag in more recent versions of GCC -check_fortran_compiler_flag("-std=legacy" SUPPORTS_LEGACY) -if (SUPPORTS_LEGACY) - add_compile_options(-std=legacy) -endif () - set(FP_TOLERANCE 1.0e-11) # set by the most sensitive numerical test llvm_singlesource() diff --git a/Fortran/UnitTests/fcvs21_f95/FM509.f b/Fortran/UnitTests/fcvs21_f95/FM509.f deleted file mode 100644 --- a/Fortran/UnitTests/fcvs21_f95/FM509.f +++ /dev/null @@ -1,569 +0,0 @@ - PROGRAM FM509 00010509 -C 00020509 -C THIS ROUTINE TESTS SUBROUTINE SUBPROGRAMS AND ANS REF. 00030509 -C FUNCTION SUBPROGRAMS WITH MULTIPLE ENTRIES. 15.6.1 00040509 -C THIS ROUTINE ALSO TESTS THE USE OF SYMBOLIC 15.7, 15.7.1 00050509 -C NAMES OF CONSTANTS, SUBSTRINGS NAMES, AND 15.9.2 00060509 -C ARRAY ELEMENT SUBSTRINGS AS ARGUMENTS. 15.9.3.2 00070509 -C 15.9.3.3 00080509 -C THIS ROUTINE USES THE SUBROUTINE SUBPROGRAMS SN510, 00090509 -C SN511, AND SN512, AND THE FUNCTION SUBPROGRAM RF513. 00100509 -C 00110509 -CBB** ********************** BBCCOMNT **********************************00120509 -C**** 00130509 -C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00140509 -C**** VERSION 2.1 00150509 -C**** 00160509 -C**** 00170509 -C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00180509 -C**** NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00190509 -C**** SOFTWARE STANDARDS VALIDATION GROUP 00200509 -C**** BUILDING 225 RM A266 00210509 -C**** GAITHERSBURG, MD 20899 00220509 -C**** 00230509 -C**** 00240509 -C**** 00250509 -CBE** ********************** BBCCOMNT **********************************00260509 - IMPLICIT DOUBLE PRECISION (D), COMPLEX (Z), LOGICAL (L) 00270509 - IMPLICIT CHARACTER*27 (C) 00280509 -CBB** ********************** BBCINITA **********************************00290509 -C**** SPECIFICATION STATEMENTS 00300509 -C**** 00310509 - CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00320509 - 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00330509 -CBE** ********************** BBCINITA **********************************00340509 -C 00350509 - INTEGER I2N001(2,2) 00360509 - CHARACTER CVCOMP*12,CVCORR*12,CVN001*30 00370509 - CHARACTER C1N001(6)*10 00380509 - PARAMETER (IPN001=31) 00390509 - COMMON IVC001, IVC002, IVC003 00400509 - EXTERNAL RF513 00410509 - DATA I2N001 /1, 3, 5, 7/ 00420509 - DATA CVN001 /'REDORANGEYELLOWGREENBLUEVIOLET'/ 00430509 - DATA C1N001 /'FIRST-AID:','SECONDRATE','THIRD-TERM', 00440509 - 1 'FOURTH-DAY','FIFTHROUND','SIXTHMONTH'/ 00450509 -C 00460509 -C 00470509 -CBB** ********************** BBCINITB **********************************00480509 -C**** INITIALIZE SECTION 00490509 - DATA ZVERS, ZVERSD, ZDATE 00500509 - 1 /'VERSION 2.1 ', '93/10/21*21.02.00', '*NO DATE*TIME'/ 00510509 - DATA ZCOMPL, ZNAME, ZTAPE 00520509 - 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00530509 - DATA ZPROJ, ZTAPED, ZPROG 00540509 - 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00550509 - DATA REMRKS /' '/ 00560509 -C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00570509 -C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00580509 -C**** 00590509 -CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00600509 -CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00610509 -CZ03 ZPROG = 'PROGRAM NAME' 00620509 -CZ04 ZDATE = 'DATE OF TEST' 00630509 -CZ05 ZCOMPL = 'COMPILER IDENTIFICATION' 00640509 -CZ06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00650509 -CZ07 ZNAME = 'NAME OF USER' 00660509 -CZ08 ZTAPE = 'TAPE OWNER/ID' 00670509 -CZ09 ZTAPED = 'DATE TAPE COPIED' 00680509 -C 00690509 - IVPASS = 0 00700509 - IVFAIL = 0 00710509 - IVDELE = 0 00720509 - IVINSP = 0 00730509 - IVTOTL = 0 00740509 - IVTOTN = 0 00750509 - ICZERO = 0 00760509 -C 00770509 -C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00780509 - I01 = 05 00790509 -C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00800509 - I02 = 06 00810509 -C 00820509 -CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 00830509 -C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00840509 -CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00850509 -C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00860509 -C 00870509 -CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). 00880509 -C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00890509 -CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00900509 -C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00910509 -C 00920509 -CBE** ********************** BBCINITB **********************************00930509 - ZPROG = 'FM509' 00940509 - IVTOTL = 16 00950509 -CBB** ********************** BBCHED0A **********************************00960509 -C**** 00970509 -C**** WRITE REPORT TITLE 00980509 -C**** 00990509 - WRITE (I02, 90002) 01000509 - WRITE (I02, 90006) 01010509 - WRITE (I02, 90007) 01020509 - WRITE (I02, 90008) ZVERS, ZVERSD 01030509 - WRITE (I02, 90009) ZPROG, ZPROG 01040509 - WRITE (I02, 90010) ZDATE, ZCOMPL 01050509 -CBE** ********************** BBCHED0A **********************************01060509 -CBB** ********************** BBCHED0B **********************************01070509 -C**** WRITE DETAIL REPORT HEADERS 01080509 -C**** 01090509 - WRITE (I02,90004) 01100509 - WRITE (I02,90004) 01110509 - WRITE (I02,90013) 01120509 - WRITE (I02,90014) 01130509 - WRITE (I02,90015) IVTOTL 01140509 -CBE** ********************** BBCHED0B **********************************01150509 -C 01160509 -CT001* TEST 001 **** FCVS PROGRAM 509 **** 01170509 -C SUBROUTINE WITH MULTIPLE ENTRIES 01180509 -C 01190509 - IVTNUM = 1 01200509 - IVCOMP = 0 01210509 - IVCORR = 25 01220509 - IVD020=3 01220509 - CALL SN510(IVD020,IVN001) 01230509 - CALL EN851(IVN001,IVCOMP) 01240509 -40010 IF (IVCOMP - 25) 20010, 10010, 20010 01250509 -10010 IVPASS = IVPASS + 1 01260509 - WRITE (I02,80002) IVTNUM 01270509 - GO TO 0011 01280509 -20010 IVFAIL = IVFAIL + 1 01290509 - WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01300509 - 0011 CONTINUE 01310509 -C 01320509 -CT002* TEST 002 **** FCVS PROGRAM 509 **** 01330509 -C ENTRY WITH ONE ARGUMENT 01340509 -C 01350509 - IVTNUM = 2 01360509 - IVCOMP = 0 01370509 - IVCORR = 137 01380509 - IVN001 = 37 01390509 - CALL EN852(IVN001) 01400509 - IVCOMP = IVN001 01410509 -40020 IF (IVCOMP - 137) 20020, 10020, 20020 01420509 -10020 IVPASS = IVPASS + 1 01430509 - WRITE (I02,80002) IVTNUM 01440509 - GO TO 0021 01450509 -20020 IVFAIL = IVFAIL + 1 01460509 - WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01470509 - 0021 CONTINUE 01480509 -C 01490509 -CT003* TEST 003 **** FCVS PROGRAM 509 **** 01500509 -C ENTRY WITH TWO ARGUMENT 01510509 -C 01520509 - IVTNUM = 3 01530509 - IVCOMP = 0 01540509 - IVCORR = -51 01550509 - CALL EN853(-9,IVCOMP) 01560509 -40030 IF (IVCOMP + 51) 20030, 10030, 20030 01570509 -10030 IVPASS = IVPASS + 1 01580509 - WRITE (I02,80002) IVTNUM 01590509 - GO TO 0031 01600509 -20030 IVFAIL = IVFAIL + 1 01610509 - WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01620509 - 0031 CONTINUE 01630509 -C 01640509 -CT004* TEST 004 **** FCVS PROGRAM 509 **** 01650509 -C ENTRY WITH THREE ARGUMENTS 01660509 -C 01670509 - IVTNUM = 4 01680509 - IVCOMP = 0 01690509 - IVCORR = -71 01700509 - CALL EN854(275,147,IVCOMP) 01710509 -40040 IF (IVCOMP + 71) 20040, 10040, 20040 01720509 -10040 IVPASS = IVPASS + 1 01730509 - WRITE (I02,80002) IVTNUM 01740509 - GO TO 0041 01750509 -20040 IVFAIL = IVFAIL + 1 01760509 - WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01770509 - 0041 CONTINUE 01780509 -C 01790509 -CT005* TEST 005 **** FCVS PROGRAM 509 **** 01800509 -C ENTRY WITH FOUR ARGUMENTS 01810509 -C 01820509 - IVTNUM = 5 01830509 - IVCOMP = 0 01840509 - IVCORR = 567 01850509 - CALL EN855(12,-15,63,IVCOMP) 01860509 -40050 IF (IVCOMP - 567) 20050, 10050, 20050 01870509 -10050 IVPASS = IVPASS + 1 01880509 - WRITE (I02,80002) IVTNUM 01890509 - GO TO 0051 01900509 -20050 IVFAIL = IVFAIL + 1 01910509 - WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01920509 - 0051 CONTINUE 01930509 -C 01940509 -CT006* TEST 006 **** FCVS PROGRAM 509 **** 01950509 -C ENTRY WITH ARRAY AS DUMMY ARGUMENT 01960509 -C 01970509 - IVTNUM = 6 01980509 - IVCOMP = 0 01990509 - IVCORR = 16 02000509 - IVN001 = 2 02010509 - CALL EN856(IVN001,I2N001,IVCOMP) 02020509 -40060 IF (IVCOMP - 16) 20060, 10060, 20060 02030509 -10060 IVPASS = IVPASS + 1 02040509 - WRITE (I02,80002) IVTNUM 02050509 - GO TO 0061 02060509 -20060 IVFAIL = IVFAIL + 1 02070509 - WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02080509 - 0061 CONTINUE 02090509 -C 02100509 -CT007* TEST 007 **** FCVS PROGRAM 509 **** 02110509 -C ENTRY WITH PROCEDURE AS DUMMY ARGUMENT 02120509 -C 02130509 - IVTNUM = 7 02140509 - RVCOMP = 0.0 02150509 - RVCORR = 2.25 02160509 - CALL EN857(1.5,RVCOMP,RF513) 02170509 - IF (RVCOMP - 0.22498E+01) 20070, 10070, 40070 02180509 -40070 IF (RVCOMP - 0.22502E+01) 10070, 10070, 20070 02190509 -10070 IVPASS = IVPASS + 1 02200509 - WRITE (I02,80002) IVTNUM 02210509 - GO TO 0071 02220509 -20070 IVFAIL = IVFAIL + 1 02230509 - WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 02240509 - 0071 CONTINUE 02250509 -C 02260509 -CT008* TEST 008 **** FCVS PROGRAM 509 **** 02270509 -C ENTRY WITH ASTERISK AS DUMMY ARGUMENT 02280509 -C 02290509 - IVTNUM = 8 02300509 - IVCOMP = 0 02310509 - IVCORR = 19 02320509 - IVN001 = 2 02330509 - CALL EN858(IVN001,*0082,*0083) 02340509 -0082 IVCOMP = 5 02350509 - GO TO 0084 02360509 -0083 IVCOMP = 19 02370509 -0084 CONTINUE 02380509 -40080 IF (IVCOMP - 19) 20080, 10080, 20080 02390509 -10080 IVPASS = IVPASS + 1 02400509 - WRITE (I02,80002) IVTNUM 02410509 - GO TO 0081 02420509 -20080 IVFAIL = IVFAIL + 1 02430509 - WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02440509 - 0081 CONTINUE 02450509 -C 02460509 -C TESTS 9 AND 10 TEST ENTRY WITHOUT ARGUMENTS 02470509 -C 02480509 -CT009* TEST 009 **** FCVS PROGRAM 509 **** 02490509 -C 02500509 - IVTNUM = 9 02510509 - IVCOMP = 0 02520509 - IVCORR = 88 02530509 - IVC002 = 65 02540509 - IVC003 = 23 02550509 - CALL EN859( ) 02560509 - IVCOMP = IVC001 02570509 -40090 IF (IVCOMP - 88) 20090, 10090, 20090 02580509 -10090 IVPASS = IVPASS + 1 02590509 - WRITE (I02,80002) IVTNUM 02600509 - GO TO 0091 02610509 -20090 IVFAIL = IVFAIL + 1 02620509 - WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02630509 - 0091 CONTINUE 02640509 -C 02650509 -CT010* TEST 010 **** FCVS PROGRAM 509 **** 02660509 -C 02670509 - IVTNUM = 10 02680509 - IVCOMP = 0 02690509 - IVCORR = -13 02700509 - IVC001 = 4 02710509 - IVC002 = -17 02720509 - CALL EN860 02730509 - IVCOMP = IVC003 02740509 -40100 IF (IVCOMP + 13) 20100, 10100, 20100 02750509 -10100 IVPASS = IVPASS + 1 02760509 - WRITE (I02,80002) IVTNUM 02770509 - GO TO 0101 02780509 -20100 IVFAIL = IVFAIL + 1 02790509 - WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02800509 - 0101 CONTINUE 02810509 -C 02820509 -CT011* TEST 011 **** FCVS PROGRAM 509 **** 02830509 -C FUNCTION SUBPROGRAM WITH MULTIPLE ENTRIES 02840509 -C 02850509 - IVTNUM = 11 02860509 - RVCOMP = 0.0 02870509 - RVCORR = 3.675E-3 02880509 - RVN001 = RF513(3.5E-2) 02890509 - RVCOMP = EF852(RVN001) 02900509 - IF (RVCOMP - 0.36748E-02) 20110, 10110, 40110 02910509 -40110 IF (RVCOMP - 0.36752E-02) 10110, 10110, 20110 02920509 -10110 IVPASS = IVPASS + 1 02930509 - WRITE (I02,80002) IVTNUM 02940509 - GO TO 0111 02950509 -20110 IVFAIL = IVFAIL + 1 02960509 - WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 02970509 - 0111 CONTINUE 02980509 -C 02990509 -CT012* TEST 012 **** FCVS PROGRAM 509 **** 03000509 -C SYMBOLIC NAME OF A CONSTANT AS AN ACTUAL ARGUMENT 03010509 -C 03020509 - IVTNUM = 12 03030509 - IVCOMP = 0 03040509 - IVCORR = 34 03050509 - CALL SN510(IPN001,IVCOMP) 03060509 -40120 IF (IVCOMP - 34) 20120, 10120, 20120 03070509 -10120 IVPASS = IVPASS + 1 03080509 - WRITE (I02,80002) IVTNUM 03090509 - GO TO 0121 03100509 -20120 IVFAIL = IVFAIL + 1 03110509 - WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03120509 - 0121 CONTINUE 03130509 -C 03140509 -C TESTS 13 AND 14 TEST THE USE OF A SUBSTRING AS AN ACTUAL ARGUMENT 03150509 -C WHICH IS ASSOCIATED WITH A DUMMY ARGUMENT THAT IS A VARIABLE 03160509 -C 03170509 -C 03180509 -CT013* TEST 013 **** FCVS PROGRAM 509 **** 03190509 -C 03200509 - IVTNUM = 13 03210509 - CVCOMP = ' ' 03220509 - CVCORR = 'COLOR=YELLOW ' 03230509 - CALL SN511(CVN001(10:15),CVCOMP) 03240509 - IVCOMP = 0 03250509 - IF (CVCOMP.EQ.'COLOR=YELLOW ') IVCOMP = 1 03260509 -40130 IF (IVCOMP - 1) 20130, 10130, 20130 03270509 -10130 IVPASS = IVPASS + 1 03280509 - WRITE (I02,80002) IVTNUM 03290509 - GO TO 0131 03300509 -20130 IVFAIL = IVFAIL + 1 03310509 - WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03320509 - 0131 CONTINUE 03330509 -C 03340509 -CT014* TEST 014 **** FCVS PROGRAM 509 **** 03350509 -C 03360509 - IVTNUM = 14 03370509 - CVCOMP = ' ' 03380509 - CVCORR = 'COLOR=VIOLET ' 03390509 - CALL SN511(CVN001(25:30),CVCOMP) 03400509 - IVCOMP = 0 03410509 - IF (CVCOMP.EQ.'COLOR=VIOLET ') IVCOMP = 1 03420509 -40140 IF (IVCOMP - 1) 20140, 10140, 20140 03430509 -10140 IVPASS = IVPASS + 1 03440509 - WRITE (I02,80002) IVTNUM 03450509 - GO TO 0141 03460509 -20140 IVFAIL = IVFAIL + 1 03470509 - WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03480509 - 0141 CONTINUE 03490509 -C 03500509 -C TESTS 15 AND 16 TEST THE USE OF AN ARRAY ELEMENT SUBSTRING AS AN 03510509 -C ACTUAL ARGUMENT WHICH IS ASSOCIATED WITH A DUMMY ARGUMENT THAT 03520509 -C IS AN ARRAY 03530509 -C 03540509 -C 03550509 -CT015* TEST 015 **** FCVS PROGRAM 509 **** 03560509 -C 03570509 - IVTNUM = 15 03580509 - CVCOMP = ' ' 03590509 - CVCORR = 'RST-AID: ' 03600509 - CALL SN512(C1N001(1)(3:10),CVCOMP) 03610509 - IVCOMP = 0 03620509 - IF (CVCOMP.EQ.'RST-AID: ') IVCOMP = 1 03630509 -40150 IF (IVCOMP - 1) 20150, 10150, 20150 03640509 -10150 IVPASS = IVPASS + 1 03650509 - WRITE (I02,80002) IVTNUM 03660509 - GO TO 0151 03670509 -20150 IVFAIL = IVFAIL + 1 03680509 - WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03690509 - 0151 CONTINUE 03700509 -C 03710509 -CT016* TEST 016 **** FCVS PROGRAM 509 **** 03720509 -C 03730509 - IVTNUM = 16 03740509 - CVCOMP = ' ' 03750509 - CVCORR = 'IFTHROUN ' 03760509 - CALL SN512(C1N001(5)(2:9),CVCOMP) 03770509 - IVCOMP = 0 03780509 - IF (CVCOMP.EQ.'IFTHROUN ') IVCOMP = 1 03790509 -40160 IF (IVCOMP - 1) 20160, 10160, 20160 03800509 -10160 IVPASS = IVPASS + 1 03810509 - WRITE (I02,80002) IVTNUM 03820509 - GO TO 0161 03830509 -20160 IVFAIL = IVFAIL + 1 03840509 - WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03850509 - 0161 CONTINUE 03860509 -C 03870509 -CBB** ********************** BBCSUM0 **********************************03880509 -C**** WRITE OUT TEST SUMMARY 03890509 -C**** 03900509 - IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 03910509 - WRITE (I02, 90004) 03920509 - WRITE (I02, 90014) 03930509 - WRITE (I02, 90004) 03940509 - WRITE (I02, 90020) IVPASS 03950509 - WRITE (I02, 90022) IVFAIL 03960509 - WRITE (I02, 90024) IVDELE 03970509 - WRITE (I02, 90026) IVINSP 03980509 - WRITE (I02, 90028) IVTOTN, IVTOTL 03990509 -CBE** ********************** BBCSUM0 **********************************04000509 -CBB** ********************** BBCFOOT0 **********************************04010509 -C**** WRITE OUT REPORT FOOTINGS 04020509 -C**** 04030509 - WRITE (I02,90016) ZPROG, ZPROG 04040509 - WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 04050509 - WRITE (I02,90019) 04060509 -CBE** ********************** BBCFOOT0 **********************************04070509 -90001 FORMAT (" ",56X,"FM509") 04080509 -90000 FORMAT (" ",50X,"END OF PROGRAM FM509" ) 04090509 -CBB** ********************** BBCFMT0A **********************************04100509 -C**** FORMATS FOR TEST DETAIL LINES 04110509 -C**** 04120509 -80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31) 04130509 -80002 FORMAT (" ",2X,I3,4X," PASS ",32X,A31) 04140509 -80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31) 04150509 -80008 FORMAT (" ",2X,I3,4X," FAIL ",32X,A31) 04160509 -80010 FORMAT (" ",2X,I3,4X," FAIL ",/," ",15X,"COMPUTED= " , 04170509 - 1I6,/," ",15X,"CORRECT= " ,I6) 04180509 -80012 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04190509 - 1E12.5,/," ",16X,"CORRECT= " ,E12.5) 04200509 -80018 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04210509 - 1A21,/," ",16X,"CORRECT= " ,A21) 04220509 -80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31) 04230509 -80022 FORMAT (" ",16X,"CORRECT= " ,A21,1X,A31) 04240509 -80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31) 04250509 -80026 FORMAT (" ",16X,"CORRECT= " ,I6,16X,A31) 04260509 -80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31) 04270509 -80030 FORMAT (" ",16X,"CORRECT= " ,E12.5,10X,A31) 04280509 -80050 FORMAT (" ",48X,A31) 04290509 -CBE** ********************** BBCFMT0A **********************************04300509 -CBB** ********************** BBCFMAT1 **********************************04310509 -C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 04320509 -C**** 04330509 -80031 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04340509 - 1D17.10,/," ",16X,"CORRECT= " ,D17.10) 04350509 -80033 FORMAT (" ",16X,"COMPUTED= " ,D17.10,10X,A31) 04360509 -80035 FORMAT (" ",16X,"CORRECT= " ,D17.10,10X,A31) 04370509 -80037 FORMAT (" ",16X,"COMPUTED= " ,"(",E12.5,", ",E12.5,")",6X,A31) 04380509 -80039 FORMAT (" ",16X,"CORRECT= " ,"(",E12.5,", ",E12.5,")",6X,A31) 04390509 -80041 FORMAT (" ",16X,"COMPUTED= " ,"(",F12.5,", ",F12.5,")",6X,A31) 04400509 -80043 FORMAT (" ",16X,"CORRECT= " ,"(",F12.5,", ",F12.5,")",6X,A31) 04410509 -80045 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04420509 - 1"(",F12.5,", ",F12.5,")"/," ",16X,"CORRECT= " , 04430509 - 2"(",F12.5,", ",F12.5,")") 04440509 -CBE** ********************** BBCFMAT1 **********************************04450509 -CBB** ********************** BBCFMT0B **********************************04460509 -C**** FORMAT STATEMENTS FOR PAGE HEADERS 04470509 -C**** 04480509 -90002 FORMAT ("1") 04490509 -90004 FORMAT (" ") 04500509 -90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )04510509 -90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 04520509 -90008 FORMAT (" ",21X,A13,A17) 04530509 -90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/) 04540509 -90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17," - COMPILER= " ,A20) 04550509 -90013 FORMAT (" "," TEST ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" , 04560509 - 1 7X,"REMARKS",24X) 04570509 -90014 FORMAT (" ","----------------------------------------------" , 04580509 - 1 "---------------------------------" ) 04590509 -90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/) 04600509 -C**** 04610509 -C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 04620509 -C**** 04630509 -90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/) 04640509 -90018 FORMAT (" ",A13,13X,A20," * ",A10,"/", 04650509 - 1 A13) 04660509 -90019 FORMAT (" ","FOR OFFICIAL USE ONLY " ,35X,"COPYRIGHT 1982" ) 04670509 -C**** 04680509 -C**** FORMAT STATEMENTS FOR RUN SUMMARY 04690509 -C**** 04700509 -90020 FORMAT (" ",21X,I5," TESTS PASSED" ) 04710509 -90022 FORMAT (" ",21X,I5," TESTS FAILED" ) 04720509 -90024 FORMAT (" ",21X,I5," TESTS DELETED" ) 04730509 -90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" ) 04740509 -90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" ) 04750509 -CBE** ********************** BBCFMT0B **********************************04760509 - STOP 04770509 - END 04780509 - -C 00010510 -C THIS ROUTINE IS TO BE RUN WITH ROUTINE 509. 00020510 -C 00030510 -C THIS SUBROUTINE IS CALLED IN THE MAIN PROGRAM TO TEST IF 00040510 -C MULTIPLE ENTRIES ARE PERMITTED IN A SUBROUTINE SUBPROGRAM. 00050510 -C 00060510 - SUBROUTINE SN510(IVD021,IVD002) 00070510 - INTEGER I2D001(2,2) 00080510 - COMMON IVC001, IVC002, IVC003 00090510 - IVD001 = IVD021 00090510 - DO 70010 IVN001 = 1, 3 00100510 - IVD001 = IVD001 + 1 00110510 -70010 CONTINUE 00120510 - IVD002 = IVD001 00130510 - RETURN 00140510 - ENTRY EN851(IVD003,IVD004) 00150510 - IVD004 = 3*IVD003 + 7 00160510 - RETURN 00170510 - ENTRY EN852(IVD005) 00180510 - IVD005 = IVD005 + 100 00190510 - RETURN 00200510 - ENTRY EN853(IVD006,IVD007) 00210510 - IVD007 = 5*(IVD006 + 2) - 16 00220510 - RETURN 00230510 - ENTRY EN854(IVD008,IVD009,IVD010) 00240510 - IVD010 = 4*(IVD008 - 2*IVD009) + 5 00250510 - RETURN 00260510 - ENTRY EN855(IVD011, IVD012, IVD013, IVD014) 00270510 - IVD014 = IVD013*(2*IVD011 + IVD012) 00280510 - RETURN 00290510 - ENTRY EN856(IVD015,I2D001,IVD016) 00300510 - IVD016 = 0 00310510 - DO 70020 IVN001 = 1, IVD015 00320510 - DO 70020 IVN002 = 1, IVD015 00330510 -70020 IVD016 = IVD016 + I2D001(IVN001,IVN002) 00340510 - RETURN 00350510 - ENTRY EN857(RVD017,RVD018,RFD001) 00360510 - RVD018 = RFD001(RVD017) 00370510 - RETURN 00380510 - ENTRY EN858(IVD019,*,*) 00390510 - RETURN IVD019 00400510 - ENTRY EN859( ) 00410510 - IVC001 = IVC002 + IVC003 00420510 - RETURN 00430510 - ENTRY EN860 00440510 - IVC003 = IVC001 + IVC002 00450510 - RETURN 00460510 - END 00470510 -C 00480510 - -C 00010511 -C THIS ROUTINE IS TO BE RUN WITH ROUTINE 509. 00020511 -C 00030511 -C THIS SUBROUTINE IS CALLED IN THE MAIN PROGRAM TO TEST THE USE 00040511 -C OF A SUBSTRING NAME AS AN ACTUAL ARGUMENT WHICH IS 00050511 -C ASSOCIATED WITH A DUMMY ARGUMENT THAT IS A VARIBLE 00060511 -C 00070511 - SUBROUTINE SN511(CVD001,CVD002) 00080511 - CHARACTER CVD001*6, CVD002*12 00090511 - CVD002 = 'COLOR='//CVD001 00100511 - RETURN 00110511 - END 00120511 - -C 00010512 -C THIS ROUTINE IS TO BE RUN WIHT ROUTINE 509. 00020512 -C 00030512 -C THIS SUBROUTINE IS CALLED IN THE MAIN PROGRAM TO TEST THE USE OF 00040512 -C AN ARRAY ELEMENT SUBSTRING AS AN ACTUAL ARGUMENT WHICH 00050512 -C IS ASSOCIATED WITH A DUMMY ARGUMENT THAT IS AN ARRAY. 00060512 -C 00070512 - SUBROUTINE SN512(C1D001,CVD001) 00080512 - CHARACTER C1D001(6)*8,CVD001*8 00090512 - CVD001 = C1D001(1) 00100512 - RETURN 00110512 - END 00120512 - -C 00010513 -C THIS FUNCTION IS TO BE RUN WITH ROUTINE 509. 00020513 -C 00030513 -C THIS FUNCTION IS REFERENCED IN THE MAIN PROGRAM TO TEST IF 00040513 -C MULTIPLE ENTRIES ARE PERMITTED IN A FUNCTION SUBPROGRAM. 00050513 -C 00060513 - FUNCTION RF513(RVD001) 00070513 - RF513 = RVD001**2 00080513 - RETURN 00090513 - ENTRY EF852(RVD002) 00100513 - EF852 = 3*RVD002 00110513 - RETURN 00120513 - END 00130513 diff --git a/Fortran/UnitTests/fcvs21_f95/FM509.reference_output b/Fortran/UnitTests/fcvs21_f95/FM509.reference_output deleted file mode 100644 --- a/Fortran/UnitTests/fcvs21_f95/FM509.reference_output +++ /dev/null @@ -1,44 +0,0 @@ -1 - NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY - FORTRAN COMPILER VALIDATION SYSTEM - VERSION 2.1 93/10/21*21.02.00 - - *FM509BEGIN* TEST RESULTS - FM509 - - TEST DATE*TIME= *NO DATE*TIME - COMPILER= *NONE SPECIFIED* - - - TEST PASS/FAIL DISPLAYED RESULTS REMARKS - ------------------------------------------------------------------------------- - THIS PROGRAM HAS 16 TESTS - - 1 PASS - 2 PASS - 3 PASS - 4 PASS - 5 PASS - 6 PASS - 7 PASS - 8 PASS - 9 PASS - 10 PASS - 11 PASS - 12 PASS - 13 PASS - 14 PASS - 15 PASS - 16 PASS - - ------------------------------------------------------------------------------- - - 16 TESTS PASSED - 0 TESTS FAILED - 0 TESTS DELETED - 0 TESTS REQUIRE INSPECTION - 16 OF 16 TESTS EXECUTED - - *FM509END* END OF TEST - FM509 - - *NO PROJECT* *NO COMPANY NAME* * *NO TAPE* /*NO TAPE DATE - FOR OFFICIAL USE ONLY COPYRIGHT 1982 -exit 0