date: May 8, 1987 to: DECUS RT-11 users from: Dennis V. Jensen 258H Development Ames Laboratory ISU/USDOE Ames, IA 50011 515/294-7909 Subject: First release of F77.IND, version 6.0 The F77.IND command file was written by John Beyer and Dennis Jensen of the Ames Laboratory at Iowa State Univer- sity as part of U.S. Department of Energy contract W-7405-ENG-82. The right to use this software release is allowed in the public domain. The au- thors, Ames Laboratory, and USDOE as- sume no responsibility as to the correctness of the code nor the appropriateness for such use as it may be applied. Any comments about F77.IND may be directed to Dennis Jensen at 258H Development, Ames La- boratory, Ames, Iowa 50011-3020. F77.IND RT-11 SIG DECUS Release 1 Spring 1987 1.0 GENERAL OVERVIEW F77.IND provides command level control of the RT-11 Fortran 77 compiler. It implements all of the RT-11 Fortran DCL options currently available and some of the switches specific to For- tran 77. On our system Fortran IV is the default Fortran (SY:FORTRA.SAV), invoked by the FORTRAN DCL command. We use the F77 command to invoke Fortran 77. This allows program development using either compiler; both are resident on the same system disk. F77.IND can either be used as a stand alone command procedure or with the /F77 switch of FLECS.IND . The /F77 switch nests to the SY:F77.IND command file. (See the FLXIND.DSK on this RT-11 SIG tape for additional information on using F77 as the compiler invoked by the Flecs command.) 2.0 INSTALLATION 2.1 FILES There are 4 files included with this release of F77IND.DSK . They are: F77.IND, F77IND.RNO, README.1ST (the Bonner Lab Runoff document generated from F77ind.rno) and DISPLA.IND . To use F77.IND, copy the 2 files F77.IND, and DISPLA.IND to SY: . You should determine from your Fortran 77 installation which compiler is correct for your system, either F77.SAV or F77XM.Sav . The default F77 compiler for your system must be copied to SY:F77DEF.SAV . We avoid using the name F77.SAV be- cause of a conflict which may arise when using UCL to invoke the complier. We recommend that if you do have F77.Sav on your system disk and you are running RT-11, then RENAME SY:F77.SAV to be SY:F77FB.SAV . To maintain a separation between Fortran IV and Fortran 77 files, we have implemented F77.Ind to look for source files with the extension of .F77 . This is the default. Explicit extensions will be required if you wish to compile .FOR source code. Or you may modify F77.IND if this does not suit your installation. If you want to install both FLECS.IND and F77.IND then see the installation instructions provided in FLXIND.DSK . -1- F77.IND RT-11 SIG DECUS Release 1 Spring 1987 2.2 UCL Define the following command to simplify invocation of the command procedure. F77 :== IND SY:F77.IND ^ Note that for F77 to be recognized as a command using standard RT UCL, you will need to remove F77.SAV from the system disk. (Remember that RT UCL means User Commands Last; the save im- age on the system disk would be invoked before UCL is searched.) UCL will say F77 is an invalid command if you have a save image by the same name on the system disk. Under TSX-plus and some RT UCLs, the command options may fol- low either the command or the file name. For standard RT UCL, the option switches must follow the file name. If you do not have UCL then do the following: .COPY SY:F77.IND DK:F77.COM -- put F77.COM in your default disk. .@F77 -- for any user with SET KMON IND or .IND F77 -- for any user with SET KMON NOIND . 2.3 WORK FILES You will need to make a logical assignment for WF: . There are several scratch files created on WF:, such as WF:filename.WRK . Currently the default size for the Fortran 77 workfile is 128 blocks, so this represents the approximate minimum space which should be available. The recommended lo- cation for WF: is VM:, as in "Assign VM: WF:". Any disk with available space will do, but VM will be faster. 2.4 HELP AVAILABLE To display F77.IND online help, type "F77 HELP" or "F77 ?". If you need to compile a F77 file named Help, use the explicit extension name, as in "F77 Help.f77". -2- F77.IND RT-11 SIG DECUS Release 1 Spring 1987 2.5 PRINTING There are 2 switches available to print listing files. For example, if LP: is defined as your line printer then either the /Assemblylist=LP: or /List=LP: switch will generate a printed listing. 2.6 COMMAND OPTION SWITCHES There are currently 17 command options available. These switches are designed to simulate the basic FORTRAN KMON com- mand plus add several options available only to F77. Here is a listing of all of the F77 command options currently avail- able. Up to seventeen switches may be specified at one time, using the format: .F77 [:][.][/sw1[=]][/sw2[=]]... or: .F77[/sw1[=]][/sw2[=]]... [:][.] /A*ssemblylist[=] -- Same as /L but includes a listing of assembly code. /B*ounds -- Checks for array references out of bounds. /C*ontinue=n -- Sets the maximum number of continuation lines. /D*ebug -- Lines with D in column 1 are compiled. /E*xtendlines -- Compiler interprets source text in columns 73-132. /F*ulltrace -- Generates very detailed traceback (see Trace). /L*ist[=] -- Creates a list file containing source listing, program section summary, and storage map. /NOS*wap -- Inhibits swapping of USR routines over the program. /NOO*bject -- Suppresses creation of an object file. /O*bject= -- Change the default device, name, and/or extension of the object file. /R*ecordlength=n -- Specifies the maximum record length (in bytes) for run time I/O (4 < n < 4095). /S*tatistics -- Produces a stat report at the end of each module. /T*race -- Generates extra code for OTS error traceback. /U*nits=n -- Sets the number of logical units available. /WA*rnings -- Enables printing of W-class warning diagnostics. /WI*demap -- Produces a 132-column map listing (instead of 80). /WO*rkfile=n -- Sets the length of the workfile in disk blocks. -3- F77.IND RT-11 SIG DECUS Release 1 Spring 1987 Option Switches Notes: -- Only those characters appearing before the "*", plus any parameters, need be entered on a command line. -- The ordering of the switches is not significant. -- Invalid switches are ignored. -- There should be NO spaces between "=" and the parameter. -- The parameter n in all cases is an OCTAL integer unless it is specified to be decimal (by a decimal point). Example: "/U=14" is equivalent to "/U=12.". -- The filespec parameter is used to specify file specifications for object and listing files that are different from defaults. -- In a filespec, a device name must be followed by a colon, and an extension must be preceeded by a period. -- The filespecs in /A and /L are optional. -- /Assemblylist has precedence over /List. -- /Noobject has precedence over /Object= . -- /Fulltrace has precedence over /Trace. The following examples show a file named TEST.F77 being com- piled with a few of the many switch combinations that are pos- sible. Examples: .F77 TEST/Debug/Bounds/Wide/List=.LIS .F77/Debug/Bounds/Wide/List=TEST1.LST TEST.F77 .F77 TEST/d/wi/t/a=DY0: .F77/t/d/a=.ASL/wi TEST .F77 TEST.F77 .F77 Wk:Test.For ! Compile F4 version w/F77. -4-