. ********************************************************
.TN FORT77          FORT77: FORTRAN 77+ Compiler
.TN FORT77_         FORT77: FORTRAN 77+ Compiler
.TN FORT77_FORT77   FORT77: FORTRAN 77+ Compiler

Syntax
------

   $EXECUTE FORT77 


Description
-----------

All FORT77 compiler options can be specified in a
$OPTION statement using job control.  Some options
can be specified or changed within a program using the FORTRAN
77+ OPTION directive (refer to the FORTRAN 77+ Reference
Manual or the applicable option notes).

The options are:

       1    2    3    4    5    6    7    8    9
      10   11   12   13   14   15   16   17   18
      19   20   50   51   52   53   54   55   56
      57

Select TABLE for the list of logical file codes (LFCs)
associated with the FORTRAN 77+ compiler.

Select EXAMPLE for an example of the JCL needed to
compile and catalog a FORTRAN 77+ program on MPX-32.

.KW EXAMPLE         FORT77_EX          
.KW TABLE           FORT77_TAB
.KW 1               FORT77_1      
.KW 2               FORT77_2           
.KW 3               FORT77_3
.KW 4               FORT77_4
.KW 5               FORT77_5      
.KW 6               FORT77_6
.KW 7               FORT77_7
.KW 8               FORT77_8
.KW 9               FORT77_9     
.KW 10              FORT77_10     
.KW 11              FORT77_11     
.KW 12              FORT77_12     
.KW 13              FORT77_13     
.KW 14              FORT77_14    
.KW 15              FORT77_15     
.KW 16              FORT77_16     
.KW 17              FORT77_17     
.KW 18              FORT77_18     
.KW 19              FORT77_19          
.KW 20              FORT77_20
.KW 50              FORT77_50
.KW 51              FORT77_51
.KW 52              FORT77_52     
.KW 53              FORT77_53
.KW 54              FORT77_54    
.KW 55              FORT77_55
.KW 56              FORT77_56
.KW 57              FORT77_57
. ****************************************************
.TN FORT77_TAB        FORT77: Table of logical file codes

The following table contains the logical file codes (LFCs)
and their default assignments.

 LFC                Default                      Function
 ___               _________                    ___________     

 BO   $AS BO TO SBO                        binary object output 
 GO   $AS GO TO SGO                        binary object output
 GO*  $AS GO* TO TEMP SIZE=500             temporary utility file
 LO   $AS LO TO SLO                        listed output
 LO*  $AS LO* TO TEMP SIZE=500             temporary utility file
 SI   $AS SI TO SYC                        source input
*U1   $AS *U1 TO TEMP SIZE=250 BLOC=Y      temporary utility file
*U2   $AS *U2 TO TEMP SIZE=250 BLOC=Y      temporary utility file
*U3   $AS *U3 TO TEMP SIZE=250 BLOC=N      temporary utility file
                                           (for cross reference)
*U4   dynamically allocated by FORTRAN77+  input for INCLUDE dir-
                                            ective files
*U5   $AS *U5 TO TEMP SIZE=100 BLOC=Y      temporary utility file
                                           (for task code manage-
					    ment)

. ***************************************************
.TN FORT77_EX           FORT77: Example

The following example compiles source file FILE.SI, then 
catalogs and executes load module PROG.  The listed output
will go to FILE.LO.

   $JOB COMP
   $VOLMGR
   CREATE FILE.LO REPL=T
   EXIT
   $AS LO TO FILE.LO
   $AS SI TO FILE.SI
   $OPTION 2 5 19
   $EXECUTE FORT77
   $CATALOG
   BUILD PROG NOM
   $PROG
   $EOJ
   $$

. *******************************************************
.TN FORT77_1           FORT77: Specifying Option 1

Specify option 1 to suppress listed output on logical file
code LO.

See Notes N1 and N2.

.KW LO                 FORT77_TAB
.KW N1                 FORT77_N1
.KW N2                 FORT77_N2
. *****************************************************
.TN FORT77_2           FORT77: Specifying Option 2

Specify option 2 to suppress binary output to SBO file and
logical file code BO.

See Notes N1 and N3.

.KW BO               FORT77_TAB    
.KW N1               FORT77_N1
.KW N3               FORT77_N3
. **************************************************
.TN FORT77_3         FORT77: Specifying Option 3

Specify option 3 to suppress storage dictionary on logical
file code LO.

See Notes N1 and N4.

.KW LO               FORT77_TAB    
.KW N1               FORT77_N1
.KW N4               FORT77_N4
. ***************************************************
.TN FORT77_4        FORT77: Specifying Option 4

Specify option 4 to suppress symbol cross reference on
logical file code LO.

See Notes N1 and N2.

.KW LO               FORT77_TAB    
.KW N1               FORT77_N1
.KW N2               FORT77_N2
. *********************************************************
.TN FORT77_5        FORT77: Specifying Option 5

Specify option 5 to enable general object output on
logical file code GO.

.KW GO               FORT77_TAB    
. ****************************************************
.TN FORT77_6        FORT77: Specifying Option 6

Specify option 6 to list generated code on logical file
code LO.

See Notes N2 and N5.

.KW LO               FORT77_TAB    
.KW N2               FORT77_N2
.KW N5               FORT77_N5
. ****************************************************
.TN FORT77_7        FORT77: Specifying Option 7

Specify option 7 to allow mismatched argument lists when
passing arguments to subprograms.  This option causes
arguments to be processed using F.PR or F.PN instead of
being processed inline.  

See Notes N6 and N7.

.KW N6               FORT77_N6
.KW N7               FORT77_N7
. **************************************************
.TN FORT77_8        FORT77: Specifying Option 8

Specify option 8 to suppress the flagging of duplicate
type declarations as errors.

See Note N6.

.KW N6               FORT77_N6
. **********************************************************
.TN FORT77_9        FORT77: Specifying Option 9

Specify option 9 to compile source records containing a Y
in column 1 as if the Y were a blank.  If this option is
not set, these records are treated as comments.

See Notes N2 and N8.

.KW N2               FORT77_N2
.KW N8               FORT77_N8
. ******************************************************
.TN FORT77_10       FORT77: Specifying Option 10

Specify option 10 to treat character constant actual
arguments as Hollerith constants when passed to a
subprogram.

See Notes N2 and N5.


.KW N2               FORT77_N2
.KW N5               FORT77_N5
. ****************************************************
.TN FORT77_11       FORT77: Specifying Option 11

Specify option 11 to generate code for all DO loops to be
executed at least once.

See Note N6.

.KW N6               FORT77_N6
. ********************************************
.TN FORT77_12       FORT77: Specifying Option 12

Reserved.

. *************************************************
.TN FORT77_13       FORT77: Specifying Option 13

Reserved.

. ************************************************
.TN FORT77_14       FORT77: Specifying Option 14

Specify option 14 to use the CONCEPT 32/67 Scientific
Accelerator for math intrinsic functions ALOG, ALOG10,
ATAN, COS, EXP, SIN, and SQRT.

. ****************************************************
.TN FORT77_15       FORT77: Specifying Option 15

Reserved.

. ******************************************************
.TN FORT77_16       FORT77: Specifying Option 16

Reserved.

. ***********************************************************
.TN FORT77_17       FORT77: Specifying Option 17

Reserved.

. **************************************************
.TN FORT77_18       FORT77: Specifying Option 18

Specify option 18 to produce optimized code for logical IFs, 
DO WHILEs and DO UNTILs by not completely evaluating
logical expressions.

. **************************************************
.TN FORT77_19       FORT77: Specifying Option 19

Specify option 19 to output symbolic table information for
use by the symbolic debugger.

See Note N4.

.KW N4                FORT77_N4 
. *******************************************************
.TN FORT77_20       FORT77: Specifying Option 20

Specify option 20 to compile source records containing an
X in column 1 as if the X were a blank.  If this option is
not set, these records are treated as comments.

See Notes N2 and N8.

.KW N2                FORT77_N2 
.KW N8                FORT77_N8 
. ******************************************************
.TN FORT77_50       FORT77: Specifying Option 50

Specify option 50 to enable error messages for arrays with
no subscript as arguments to intrinsic functions.

See Note N5.

.KW N5                FORT77_N5 
. ******************************************************
.TN FORT77_51       FORT77: Specifying Option 51

Specify option 51 to enable task source level debugging.
If set, option 19 will automatically be in effect.

See Note N10.

.KW 19                FORT77_19
.KW N10               FORT77_N10
. *********************************************************
.TN FORT77_52       FORT77: Specifying Option 52

Specify option 52 to include comments in the object output
generated by the compiler for source level debugging.  If set,
options 19 and 51 will automatically be in effect.

See Note N10.

.KW 19                FORT77_19 
.KW 51                FORT77_51
.KW N10               FORT77_N10
. ********************************************************
.TN FORT77_53       FORT77: Specifying Option 53

Specify option 53 to cause the compiler to generate IEEE
floating point conversion instructions inline.  This
option should only be used when targeting 32/20XX
processors.

See Note N9.

.KW N9                FORT77_N9 
. ***********************************************************
.TN FORT77_54        FORT77: Specifying Option 54

Specify option 54 to force the compiler to call the SRTL
to do the IEEE floating point conversions.

See Note N9.

.KW N9               FORT77_N9
. ******************************************
.TN FORT77_55        FORT77:Specifying Option 55 

Specify Option 55 to cause the compiler to generate IEEE 754
formatted floating point data. 

See Note N11.

.KW N11              FORT77_N11
. ******************************************
.TN FORT77_56        FORT77:Specifying Option 56 

Specify Option 56 to prevent the compiler from putting the
PARAMETER symbols into the object code.  Use Option 56 to
reduce load module size when Option 19 is set.  If Option 19
is not set, Option 56 has no effect and is ignored.
     
.KW 19                FORT77_19 
. ******************************************
.TN FORT77_57        FORT77:Specifying Option 57 

Specify Option 57 to  prevent the compiler from setting the
abort flag when warning errors, but no terminal errors, are
present in the source program.  
. *************************************************************
.TN FORT77_N1        FORT77: Note 1

May be changed within a program only if it has not been
set in a $OPTION job control statement.  This applies to
options 1, 2, 3, and 4.


.KW 1                   FORT77_1 
.KW 2                   FORT77_2 
.KW 3                   FORT77_3 
.KW 4                   FORT77_4 
. *****************************************************
.TN FORT77_N2       FORT77: Note 2

Changes to this option will take effect at the point in
the program where the option directive occurs and will remain in effect
until changed by another OPTION directive.  This applies
to options 1, 4, 6, 9, 10, and 20.

.KW 1                   FORT77_1 
.KW 4                   FORT77_4 
.KW 6                   FORT77_6 
.KW 9                   FORT77_9 
.KW 10                  FORT77_10
.KW 20                  FORT77_20
. ***************************************************
.TN FORT77_N3       FORT77: Note 3

Option 2 may be changed before or after a BLOCK DATA,
FUNCTION, PROGRAM, or SUBROUTINE statement but must be
changed before declarations and executable statements in a
program unit.

.KW 2                  FORT77_2
. ***************************************************
.TN FORT77_N4       FORT77: Note 4

This option will be considered on or off for an entire
program unit according to the last OPTION directive or
$OPTION job control statement seen before the end of the
program unit.  This applies to options 3 and 19.

.KW 3                   FORT77_3
.KW 19                  FORT77_19
. **********************************************************
.TN FORT77_N5        FORT77: Note 5

May be changed within a program regardless of having been
set or not set in a $OPTION job control statement.
This applies to options 6, 10, and 50.

.KW 6                   FORT77_6 
.KW 10                  FORT77_10
.KW 50                  FORT77_50
. ****************************************************
.TN FORT77_N6        FORT77: Note 6

May not be changed within a program.  This applies to
options 7, 8, and 11.

.KW 7                   FORT77_7 
.KW 8                   FORT77_8
.KW 11                  FORT77_11
. *****************************************************
.TN FORT77_N7        FORT77: Note 7

If passing any argument lists of variable lengths, option
7 must be set.

.KW 7                   FORT77_7 
. ***************************************************
.TN FORT77_N8        FORT77: Note 8

May be changed within a program only if it has been set in
a $OPTION job control statement.  This applies to options
9 and 20.

.KW 9                   FORT77_9
.KW 20                  FORT77_20
. *******************************************************
.TN FORT77_N9        FORT77: Note 9

If neither option 53 nor 54 are set, or both 53 and 54 are
set, the compiler will determine how the conversions will
be done.  This depends on the machine type at compilation.
When compiling on a 32/20XX processor, the inline
instructions will be generated.  For all other CPU types,
a CALL to the SRTL will be generated.

.KW 53                  FORT77_53
.KW 54                  FORT77_54
. *******************************************************
.TN FORT77_N10       FORT77: Note 10

If options 51 and/or 52 are set, option 5 should also be
specified to enable output from logical file code GO.

.KW 5                   FORT77_5
.KW 51                  FORT77_51
.KW 52                  FORT77_52
. *******************************************************
.TN FORT77_N11       FORT77: Note 11

Option 55 can only be set with the SH compiler on a RISC processor.
If it is set with the NH compiler, a fatal error will occur and the
compiler will abort.  If it is set and the SH compiler is not
running on a RISC processor, a warning will be issued, the option
will be turned off, and the Excess 64 floating point data will be
generated.  

