C*********************************************************************** C***** FORTRAN 77 C***** FM111 IOFMTS - (353) C***** C*********************************************************************** C***** GENERAL PURPOSE SUBSET REFS C***** TO TEST ADDITIONAL FEATURES OF READ AND WRITE 12.8 C***** STATEMENTS, FORMATTED RECORDS AND FORMAT STATEMENTS 12.1.1 C***** FOR INTEGER AND REAL DATA TYPES C***** TO TEST CHARACTER CONSTANTS AS FORMAT SPECIFIERS. 13.1.2 C***** RESTRICTIONS OBSERVED C***** * H AND X DESCRIPTORS ARE NEVER REPEATED 13.2.1 C***** * FOR W.D DESCRIPTORS, D IS ALWAYS SPECIFIED AND C***** W IS EQUAL TO OR GREATER THAN D C***** * FIELD WIDTH IS NEVER ZERO C***** * IF AN I/O LIST SPECIFIES AT LEAST ONE ITEM 13.3 C***** AT LEAST ONE REPEATABLE EDIT DESCRIPTOR MUST EXIST C***** IN THE FORMAT SPECIFICATION C***** * ITEMS IN I/O LIST CORRESPOND TO EDIT DESCRIPTORS C***** * NEGATIVE OUTPUT VALUES ARE SIGNED 13.5.9 C***** * AN H EDIT DESCRIPTOR IS NEVER USED ON INPUT 13.5.2 C***** * IN THE INPUT FIELD, FOR THE IW EDIT DESCRIPTOR 13.5.9.1 C***** THE CHARACTER STRING MUST BE AN OPTIONALLY SIGNED C***** INTEGER CONSTANT C***** GENERAL COMMENTS C***** PLUS SIGNS FOR INPUT FIELDS ARE USUALLY OMITTED 13.5.9 C INPUT DATA TO THIS SEGMENT CONSISTS OF 8 CARD IMAGES IN COL. 1 - 39 COL. 1-------------------------------------------46 CARD 1 111 2 2 3 3. 3E-1 44 5 5 6 . 67 . 78 8. 8E-1 CARD 2 9 9 CARD 3 2345 1 34512 45123 51234 CARD 4 2345 1 34512 45123 51234 CARD 5 CARD 6 246801357912345678901234 CARD 7 .10203040506070809010E+0233.33 CARD 8 1 2 3 4 5 6 C***** C***** S P E C I F I C A T I O N S SEGMENT 353 C***** INTEGER I2I(2,2), I3I(2,2,2), J3I(1,2,3) REAL A1S(5) CHARACTER*80 IDATA C***** C***** I N P U T - O U T P U T TAPE ASSIGNMENT STATEMENTS CBB** ********************** BBCCOMNT ********************************** C**** C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM C**** VERSION 2.0 C**** C**** C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO C**** GENERAL SERVICES ADMINISTRATION C**** FEDERAL SOFTWARE TESTING CENTER C**** 5203 LEESBURG PIKE, SUITE 1100 C**** FALLS CHURCH, VA. 22041 C**** C**** (703) 756-6153 C**** CBE** ********************** BBCCOMNT ********************************** CBB** ********************** BBCINITA ********************************** C**** SPECIFICATION STATEMENTS C**** CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 CBE** ********************** BBCINITA ********************************** CBB** ********************** BBCINITB ********************************** C**** INITIALIZE SECTION DATA ZVERS, ZVERSD, ZDATE 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ DATA ZCOMPL, ZNAME, ZTAPE 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ DATA ZPROJ, ZTAPED, ZPROG 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ DATA REMRKS /' '/ C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED C**** FOR IDENTIFYING THE TEST ENVIRONMENT C**** CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' CZ03 ZPROG = 'PROGRAM NAME' ZDATE = ' DEC. 1983 ' ZCOMPL = ' ICL VME FORTRAN77 ' ZPROJ = ' LANG. CENTRE' ZNAME = 'ICL ' ZTAPE = 'M999 ' ZTAPED = '831005 ' C IVPASS = 0 IVFAIL = 0 IVDELE = 0 IVINSP = 0 IVTOTL = 0 IVTOTN = 0 ICZERO = 0 C C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. I01 = 05 C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. I02 = 06 C CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. C CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. C CBE** ********************** BBCINITB ********************************** IRVI = I01 NUVI = I02 C***** TOTAL NUMBER OF EXPECTED TEST IVTOTL =4 ZPROG='FM111' CBB** ********************** BBCHED0A ********************************** C**** C**** WRITE REPORT TITLE C**** WRITE (I02, 90002) WRITE (I02, 90006) WRITE (I02, 90007) WRITE (I02, 90008) ZVERS, ZVERSD WRITE (I02, 90009) ZPROG, ZPROG WRITE (I02, 90010) ZDATE, ZCOMPL CBE** ********************** BBCHED0A ********************************** C***** HEADER FORMAT STATEMENT WRITE(NUVI, 35300) 35300 FORMAT(/1X, 35HIOFMTS - (353) ADDITIONAL FORMATTED/16X, 1 14HDATA TRANSFERS,//2X, 2 32HSUBSET REFS 12.9.5.2 13.1 13.5) CBB** ********************** BBCHED0B ********************************** C**** WRITE DETAIL REPORT HEADERS C**** WRITE (I02,90004) WRITE (I02,90004) WRITE (I02,90013) WRITE (I02,90014) WRITE (I02,90015) IVTOTL CBE** ********************** BBCHED0B ********************************** C***** C******************************************************* C**** TO DELETE A TEST USED CODE SHOWN IN TEST 1 * C**** REPLACE THE DELETE COMMENT WITH DELETE CODE * C******************************************************* CT001* TEST 1 C***** TEST VARIOUS COMBINATION OF BZ AND BN EDIT 13.5.8 C***** DESCRIPTORS, INCLUDING USING EACH AS A LEADING 13.5.9(1) C***** DESCRIPTOR, AND PRECEDING IW, EW.D, AND FW.D DESCRIPTORS. C***** BN AND BZ HAVE NO EFFECT ON OUTPUT. 13.5.8 C***** CARDS 1-2 C***** IVTNUM = 1 C**** TO DELETE TEST 1 - CARDS 1 THRU 5 MUST BE BYPASS C**** USE THE FOLLOWING CODE: C**** IVDELE=IVDELE+1 C**** WRITE (NUVI,80000) IVTNUM C**** DO 0031 IPASS=1,5 C0011 FORMAT (A80) C**** READ (IRVI,0011) IDATA C0031 CONTINUE C**** COMMENT OUT OUT FOLLOWING LINES UNTIL NEXT TEST C************************* IVINSP=IVINSP+1 WRITE (NUVI,80004) IVTNUM READ(IRVI, 35301)I2I(1,2), IVI, A1S(3), JVI, KVI, A1S(2), AVS, 1 A1S(1), I2I(1,1) 35301 FORMAT(BZ,(2I4, E10.1, BN, 2I4, F5.2, BZ, F5.2, BN, E10.1)) WRITE(NUVI, 35302)I2I(1,2), IVI, A1S(3), JVI, KVI, A1S(2), AVS, 1 A1S(1), I2I(1,1) C****************************TEST 1 ******************** 35302 FORMAT (1H ,10X,11HCOMPUTED: , 2I5, 1X, E10.5, BN, 2I5, F6.1, 1 BZ, F6.2, BN, 1X, E8.3, I5) 70010 FORMAT (1H ,10X,10HCORRECT: , 1 44H 1110 2020 .30303E-07 44 55 6.6 70.07, 2 14H .888E+01 99) WRITE (NUVI,70010) C***** CARDS 3-4 READ(IRVI, 35303) I3I(1,2,1), A1S(3), AVS, IVI, I2I(1,1), 1 JVI, BVS, A1S(2), (I3I(KVI,1,1), KVI=1,2) 35303 FORMAT(BZ, (I5, F5.0, BN, F5.2, 2I5)) C***************************************************************** WRITE(NUVI, 35304) I3I(1,2,1), A1S(3), AVS, IVI, I2I(1,1), 1 JVI, BVS, A1S(2), I3I(1,1,1), I3I(2,1,1) 35304 FORMAT ( /BN, 11X,11HCOMPUTED: , I5, F7.0, BZ, 1X, F5.2, 1 2(1X,I4),I5, F7.0, BZ, 1X, F5.2, 2(1X, I4)) 70011 FORMAT (1H ,10X,10HCORRECT: , 1 29H 23450 10345. 12.45 1235 1234, 2 28H 2345 1345. 12.45 1235 1234) WRITE (NUVI,70011) C**** CARD 5 CVS = -0.0044 READ(IRVI, 35305) IVI, AVS, A1S(2), JVI, BVS 35305 FORMAT(BZ, I5, F5.1, BN, F5.1, I5, BZ, F5.1, I5) C************************************************************** WRITE(NUVI, 35306) IVI, AVS, A1S(2), JVI, BVS, CVS, CVS 35306 FORMAT (/11X,11HCOMPUTED: , 1 I5, 2(3X, F2.1), I5, 3X, E5.1E1, 3X, F2.1, 3X, E6.1E1) 70012 FORMAT (1H ,10X,10HCORRECT: , 1 43H 0 .0 .0 0 .0E+0 .0 -.4E-2/) WRITE (NUVI,70012) C***** CT002* TEST 2 C***** TEST CASES WHERE THE NUMBER OF CHARACTERS TO BE 13.5.9(3) C***** OUTPUT EXCEEDS THE SPECIFIED OUTPUT FIELD WIDTH, C***** OR AN EXPONENT EXCEEDS ITS SPECIFIED LENGTH. C*************************************** IVTNUM = 2 C***** SEE NOTES TEST 1 TO DELETE TEST (NO READS REQUIRED) IVINSP=IVINSP+1 WRITE (NUVI,80004) IVTNUM AVS = 0.12345E+10 C********************************************************* WRITE(NUVI, 35307) AVS, AVS, AVS, AVS, AVS 35307 FORMAT (1H ,10X,10HCOMPUTED: , 1 E9.5E1, 1X, E10.5E2, 1X, E11.5E3,1X,E11.5E4,1X,E10.5) 70020 FORMAT (1H ,10X,10HCORRECT: , 1 44H********* .12345E+10 .12345E+010 ***********, 2 11H .12345E+10/) WRITE (NUVI,70020) CT003* TEST 3 C***** C***** - TEST THAT FW.D AND EW.D MAY HAVE MORE DIGITS 13.5.9(2) C***** ON INPUT THAN THE PROCESSOR CAN USE. C***** - READ IN AN ARRAY USING AN IMPLIED DO-LOOP, AND 12.8.2.3 C***** AND TEST VALUE OF THE IMPLIED DO-PARAMETER. 11.10 C***** - USE AS A FORMAT AN INTEGER VARIABLE WHOSE VALUE 10.3 C***** IS ASSIGNED USING AN ASSIGNMENT STATEMENT. 12.4(2) C***** - TEST THAT ON INPUT, THE X-EDIT DESCRIPTOR MAY 13.5.3 C***** SPECIFY A POSITION BEYOND COLUMN 80 IF THERE ARE C***** NO MORE ITEMS IN THE I/O LIST. C***** IVTNUM = 3 C***** CARDS 6-7 C***** SEE NOTES TEST 1 TO DELETE TEST C***** CARDS 6 & 7 MUST BE BYPASSED IVINSP=IVINSP+1 WRITE (NUVI,80004) IVTNUM ASSIGN 35308 TO JVI 35308 FORMAT(2F5.2, F14.0 / E25.20, F5.2, 51X) READ(IRVI, JVI) (A1S(IVI), IVI=1,5) C************************************************************* ASSIGN 35309 TO JVI 35309 FORMAT (11X,10HCOMPUTED: ,I5,1X,F5.2) 70030 FORMAT (1H ,10X,10HCORRECT: , 1 11H 6 33.33/) WRITE(NUVI, JVI) IVI, A1S(5) WRITE (NUVI,70030) C***** CT004* TEST 4 C***** - TEST NESTING OF 3 LEVELS OF PARENTHESES WITHIN A C***** FORMAT STATEMENT. C***** - TEST DIFFERENT FORMS OF CHARACTER CONSTANTS USED 12.4(2) C***** AS A FORMAT SPECIFIER, INCLUDING BLANKS BEFORE 13.1.2 C***** THE FIRST PARENTHESIS, AND CHARCTERS AFTER THE C***** LAST PARENTHESIS. C***** - 2 CONSECUTIVE APOSTROPHES IN A H-EDIT DESCRIPTOR 13.5.2 C***** CARD 8 IVTNUM = 4 C***** SEE NOTES TEST 1 TO DELETE TEST C***** NO READS REQUIRED IVINSP=IVINSP+1 WRITE (NUVI,80004) IVTNUM READ(IRVI, ' (3(1(2(I5))))') 1 (((J3I(IVI,JVI,KVI),IVI=1,1),JVI=1,2),KVI=1,3) C*************************************************** WRITE(NUVI, 1 '(/11X, 10HCOMPUTED: ,4(2X, I3) )JUNK') 2 (J3I(1,2,IVI),IVI=1,3) WRITE (NUVI, 1 '(11X,10HCORRECT: , 15H 2 4 6) ') WRITE (NUVI, 1 '(/11X,9HCOMPUTED:,21H ''THAT''S ALL FOR NOW'')') 70040 FORMAT (11X,10HCORRECT: , 1 20H'THAT'S ALL FOR NOW') WRITE (NUVI,70040) C***** 0041 CONTINUE C***** END OF TEST SEGMENT 353 CBB** ********************** BBCSUM0 ********************************** C**** WRITE OUT TEST SUMMARY C**** IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP WRITE (I02, 90004) WRITE (I02, 90014) WRITE (I02, 90004) WRITE (I02, 90020) IVPASS WRITE (I02, 90022) IVFAIL WRITE (I02, 90024) IVDELE WRITE (I02, 90026) IVINSP WRITE (I02, 90028) IVTOTN, IVTOTL CBE** ********************** BBCSUM0 ********************************** CBB** ********************** BBCFOOT0 ********************************** C**** WRITE OUT REPORT FOOTINGS C**** WRITE (I02,90016) ZPROG, ZPROG WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED WRITE (I02,90019) CBE** ********************** BBCFOOT0 ********************************** CBB** ********************** BBCFMT0A ********************************** C**** FORMATS FOR TEST DETAIL LINES C**** 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 1I6,/,1H ,15X,10HCORRECT= ,I6) 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 1A21,/,1H ,16X,10HCORRECT= ,A21) 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 80050 FORMAT (1H ,48X,A31) CBE** ********************** BBCFMT0A ********************************** CBB** ********************** BBCFMT0B ********************************** C**** FORMAT STATEMENTS FOR PAGE HEADERS C**** 90002 FORMAT (1H1) 90004 FORMAT (1H ) 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 90008 FORMAT (1H ,21X,A13,A17) 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 1 7X,7HREMARKS,24X) 90014 FORMAT (1H ,46H----------------------------------------------, 1 33H---------------------------------) 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) C**** C**** FORMAT STATEMENTS FOR REPORT FOOTINGS C**** 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 1 A13) 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) C**** C**** FORMAT STATEMENTS FOR RUN SUMMARY C**** 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) CBE** ********************** BBCFMT0B ********************************** STOP END