FM111 Program

**********00010111 * FORTRAN 77 00020111 FM111 IOFMTS - (353) 00030111 * 00040111 **********00050111 GENERAL PURPOSE SUBSET REFS00060111 * TO TEST ADDITIONAL FEATURES OF READ AND WRITE 12.8 00070111 STATEMENTS, FORMATTED RECORDS AND FORMAT STATEMENTS 12.1.1 00080111 * FOR INTEGER AND REAL DATA TYPES 00090111 TO TEST CHARACTER CONSTANTS AS FORMAT SPECIFIERS. 13.1.2 00100111 * RESTRICTIONS OBSERVED 00110111 * H AND X DESCRIPTORS ARE NEVER REPEATED 13.2.1 00120111 * * FOR W.D DESCRIPTORS, D IS ALWAYS SPECIFIED AND 00130111 W IS EQUAL TO OR GREATER THAN D 00140111 * * FIELD WIDTH IS NEVER ZERO 00150111 * IF AN I/O LIST SPECIFIES AT LEAST ONE ITEM 13.3 00160111 * AT LEAST ONE REPEATABLE EDIT DESCRIPTOR MUST EXIST 00170111 IN THE FORMAT SPECIFICATION 00180111 * * ITEMS IN I/O LIST CORRESPOND TO EDIT DESCRIPTORS 00190111 * NEGATIVE OUTPUT VALUES ARE SIGNED 13.5.9 00200111 * * AN H EDIT DESCRIPTOR IS NEVER USED ON INPUT 13.5.2 00210111 * IN THE INPUT FIELD, FOR THE IW EDIT DESCRIPTOR 13.5.9.1 00220111 * THE CHARACTER STRING MUST BE AN OPTIONALLY SIGNED 00230111 INTEGER CONSTANT 00240111 * GENERAL COMMENTS 00250111 PLUS SIGNS FOR INPUT FIELDS ARE USUALLY OMITTED 13.5.9 00260111 INPUT DATA TO THIS SEGMENT CONSISTS OF 8 CARD IMAGES IN COL. 1 - 39 00270111 OL. 1-------------------------------------------46 00280111 ARD 1 111 2 2 3 3. 3E-1 44 5 5 6 . 67 . 78 8. 8E-1 00290111 ARD 2 9 9 00300111 ARD 3 2345 1 34512 45123 51234 00310111 ARD 4 2345 1 34512 45123 51234 00320111 ARD 5 00330111 ARD 6 246801357912345678901234 00340111 ARD 7 .10203040506070809010E+0233.33 00350111 ARD 8 1 2 3 4 5 6 00360111 * 00370111 S P E C I F I C A T I O N S SEGMENT 353 00380111 * 00390111 THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00750111 FOR IDENTIFYING THE TEST ENVIRONMENT 00760111 00770111 Z01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00780111 Z02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00790111 Z03 ZPROG = 'PROGRAM NAME' 00800111 Z04 ZDATE = 'DATE OF TEST' 00810111 Z05 ZCOMPL = 'COMPILER IDENTIFICATION' 00820111 Z06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00830111 Z07 ZNAME = 'NAME OF USER' 00840111 Z08 ZTAPE = 'TAPE OWNER/ID' 00850111 Z09 ZTAPED = 'DATE TAPE COPIED' 00860111 00870111 * TOTAL NUMBER OF EXPECTED TEST 01140111 01180111 WRITE REPORT TITLE 01190111 01200111 * HEADER FORMAT STATEMENT 01280111 WRITE DETAIL REPORT HEADERS 01340111 01350111 01420111 ******** 01430111 TO DELETE A TEST USED CODE SHOWN IN TEST 1 * 01440111 REPLACE THE DELETE COMMENT WITH DELETE CODE * 01450111 ******* 01460111 T001 TEST 1 01470111 * TEST VARIOUS COMBINATION OF BZ AND BN EDIT 13.5.8 01480111 DESCRIPTORS, INCLUDING USING EACH AS A LEADING 13.5.9(1)01490111 * DESCRIPTOR, AND PRECEDING IW, EW.D, AND FW.D DESCRIPTORS. 01500111 BN AND BZ HAVE NO EFFECT ON OUTPUT. 13.5.8 01510111 * CARDS 1-2 01520111 01530111 TO DELETE TEST 1 - CARDS 1 THRU 5 MUST BE BYPASS 01550111 USE THE FOLLOWING CODE: 01560111 IVDELE=IVDELE+1 01570111 WRITE (NUVI,80000) IVTNUM 01580111 DO 0031 IPASS=1,5 01590111 0011 FORMAT (A80) 01600111 READ (IRVI,0011) IDATA 01610111 0031 CONTINUE 01620111 COMMENT OUT OUT FOLLOWING LINES UNTIL NEXT TEST 01630111 *** 01640111 *****TEST 1 *** 01720111 CARDS 3-4 01790111 ********* 01830111 CARD 5 01920111 ******** 01960111 * 02030111 T002 TEST 2 02040111 TEST CASES WHERE THE NUMBER OF CHARACTERS TO BE 13.5.9(3) 02050111 * OUTPUT EXCEEDS THE SPECIFIED OUTPUT FIELD WIDTH, 02060111 OR AN EXPONENT EXCEEDS ITS SPECIFIED LENGTH. 02070111 ***** 02080111 SEE NOTES TEST 1 TO DELETE TEST (NO READS REQUIRED) 02100111 ******** 02140111 * 02230111 - TEST THAT FW.D AND EW.D MAY HAVE MORE DIGITS 13.5.9(2) 02240111 * ON INPUT THAN THE PROCESSOR CAN USE. 02250111 - READ IN AN ARRAY USING AN IMPLIED DO-LOOP, AND 12.8.2.3 02260111 * AND TEST VALUE OF THE IMPLIED DO-PARAMETER. 11.10 02270111 - USE AS A FORMAT AN INTEGER VARIABLE WHOSE VALUE 10.3 02280111 * IS ASSIGNED USING AN ASSIGNMENT STATEMENT. 12.4(2) 02290111 - TEST THAT ON INPUT, THE X-EDIT DESCRIPTOR MAY 13.5.3 02300111 * SPECIFY A POSITION BEYOND COLUMN 80 IF THERE ARE 02310111 NO MORE ITEMS IN THE I/O LIST. 02320111 * 02330111 CARDS 6-7 02350111 * SEE NOTES TEST 1 TO DELETE TEST 02360111 CARDS 6 & 7 MUST BE BYPASSED 02370111 ********* 02430111 02500111 T004 TEST 4 02510111 * - TEST NESTING OF 3 LEVELS OF PARENTHESES WITHIN A 02520111 FORMAT STATEMENT. 02530111 * - TEST DIFFERENT FORMS OF CHARACTER CONSTANTS USED 12.4(2)02540111 AS A FORMAT SPECIFIER, INCLUDING BLANKS BEFORE 13.1.2 02550111 * THE FIRST PARENTHESIS, AND CHARCTERS AFTER THE 02560111 LAST PARENTHESIS. 02570111 * - 2 CONSECUTIVE APOSTROPHES IN A H-EDIT DESCRIPTOR 13.5.2 02580111 CARD 8 02590111 * SEE NOTES TEST 1 TO DELETE TEST 02610111 NO READS REQUIRED 02620111 ******* 02670111 * 02780111 END OF TEST SEGMENT 353 02800111 BB *** BBCSUM0 ******02810111 WRITE OUT TEST SUMMARY 02820111 02830111 WRITE OUT REPORT FOOTINGS 02950111 02960111 FORMATS FOR TEST DETAIL LINES 03020111 03030111 FORMAT STATEMENTS FOR PAGE HEADERS 03230111 03240111 03370111 FORMAT STATEMENTS FOR REPORT FOOTINGS 03380111 03390111 03440111 FORMAT STATEMENTS FOR RUN SUMMARY 03450111 ** 03460111


Calls

program~~fm111~~CallsGraph program~fm111 FM111 2 2 program~fm111->2

Contents


Variables

Type AttributesNameInitial
real :: A1S(5)
integer :: I2I(2,2)
integer :: I3I(2,2,2)
character(len=80) :: IDATA

* 00430111 I N P U T - O U T P U T TAPE ASSIGNMENT STATEMENTS 00440111 BB *** BBCCOMNT ******00450111 00460111 1978 FORTRAN COMPILER VALIDATION SYSTEM 00470111 VERSION 2.1 00480111 00490111 00500111 SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00510111 NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00520111 SOFTWARE STANDARDS VALIDATION GROUP 00530111 BUILDING 225 RM A266 00540111 GAITHERSBURG, MD 20899 00550111 00560111 00570111 00580111 BE *** BBCCOMNT ******00590111 BB *** BBCINITA ******00600111 SPECIFICATION STATEMENTS 00610111 *** 00620111

integer :: J3I(1,2,3)
character :: REMRKS*31

*** INITIALIZE SECTION 00670111

character :: ZCOMPL*20

*** INITIALIZE SECTION 00670111

character :: ZDATE*17

*** INITIALIZE SECTION 00670111

character :: ZNAME*20

*** INITIALIZE SECTION 00670111

character :: ZPROG*5

*** INITIALIZE SECTION 00670111

character :: ZPROJ*13

*** INITIALIZE SECTION 00670111

character :: ZTAPE*10

*** INITIALIZE SECTION 00670111

character :: ZTAPED*13

*** INITIALIZE SECTION 00670111

character :: ZVERS*13

*** INITIALIZE SECTION 00670111

character :: ZVERSD*17

*** INITIALIZE SECTION 00670111