1 03/03/89  fortran, ft
  2 
  3 Syntax as a command:  ft path {-control_args}
  4 
  5 
  6 Function: invokes the FORTRAN compiler.
  7 
  8 
  9 Arguments:
 10 path
 11    is the pathname of a FORTRAN source program; you need not give the
 12    fortran suffix. The archive component pathname convention is
 13    allowed.
 14 
 15 
 16 Control arguments:
 17 -ansi66
 18    interprets the program according to the 1966 standard for FORTRAN,
 19    with Multics FORTRAN extensions.  (Default)
 20 -ansi77
 21    interprets the program according to the 1977 standard for FORTRAN,
 22    with Multics FORTRAN extensions.
 23 -auto
 24    indicates that all local variables are allocated automatic storage
 25    in the stack frame.  Ignored in any program unit in which a save
 26    or automatic statement appears.  (Default)
 27 
 28 
 29 -auto_zero
 30    initializes to zero, when allocated, automatic storage for local
 31    variables.  (Default)
 32 -binary_floating_point, -bfp
 33    makes the internal representation of floating point numbers be 2 **
 34    exponent * mantissa.  (Default)
 35 -brief, -bf
 36    writes error messages in short form.
 37 
 38 
 39 -brief_table, -bftb
 40    generates partial symbol table giving correspondence between source
 41    line numbers and object locations.
 42 -card
 43    specifies that the source segment is in card-image format.
 44 -check, -ck
 45    checks the source segment for syntactic and semantic errors.  Code
 46    generation is skipped; no object segment is produced.
 47 -check_multiply, -ckmpy
 48    produces code that checks for integer multiplication overflow.
 49    (Default, if you supply -ansi77 but not -optimize)
 50 -debug_io, -dbio
 51    establish a new command level after a runtime I/O error.
 52 
 53 
 54 -default_full, -dff
 55    sets the default optimizer to "full_optimize" (see -optimize).
 56    (Default)
 57 -default_safe, -dfs
 58    sets the default optimizer to "safe_optimize" (see -optimize).
 59 -fold
 60    maps uppercase letters to lowercase form.
 61 -full_optimize, -full_ot
 62    invokes the full optimizer to speed up program execution and reduce
 63    its size.
 64 -free
 65    specifies that the source segment is in free-form format.  (Default)
 66 
 67 
 68 -hexadecimal_floating_point, -hfp
 69    allows the use of HFP numbers.  Real, complex, and double-precision
 70    numbers can have four times more magnitude in HFP mode at the
 71    expense of some precision.  Compilations using -hfp and execution of
 72    any such programs require rw access to
 73    >sc1>admin_acs>Fortran_hfp.acs.  This feature is only supported on
 74    the DPS8 hardware.  Your site may disallow the use of HFP code by
 75    not creating the above access control segment or by denying access
 76    to it.
 77 
 78 
 79 -la_auto
 80    is used when more automatic storage is required by a program than
 81    would fit in stackframes/linkage sections.  Individual arrays must
 82    not exceed 255K words.  (See -very_large_array.)
 83 -la_static
 84    is used when more static storage is required by a program than
 85    would fit in stackframes/linkage sections.  Individual arrays must
 86    not exceed 255K words.  (See -very_large_array.)
 87 -large_array, -la
 88    is used when more automatic or static storage is required by a
 89    program than would fit in stackframes/linkage sections.  Individual
 90    arrays and common blocks must not exceed 255K words.  (See
 91    -very_large_array.)  It implies -la_auto and -la_static.
 92 
 93 
 94 -line_numbers, -ln
 95    gives a source segment with line numbers.
 96 -list, -ls
 97    produces complete source program listing plus an assembly-like
 98    listing.
 99 -long, -lg
100    writes error messages in long form.  (Default)
101 -long_profile, -lpf
102    generates extra code to meter execution of individual statements
103    using virtual CPU time and page fault measurements.
104 -map
105    produces complete source program listing.
106 
107 
108 -no_auto_zero
109    does not initialize to zero, when allocated, automatic storage for
110    local variables; that is, initial values of variables are undefined.
111    It is faster than -auto_zero.
112 -no_check_multiply, -nckmpy
113    does not produce code that checks for integer multiplication
114    overflow.  (Default, if you specify -ansi66 or -optimize)
115 -no_debug_io, -ndbio
116    does not establish a new command level after a runtime I/O error.
117    (Default)
118 -no_fold
119    does not map uppercase letters into lowercase form.  (Default)
120 -no_large_array, -nla
121    suppresses -large_array, -la_auto, and -la_static. (Default)
122 
123 
124 -no_line_numbers, -nln
125    does not give a source segment with line numbers.
126 -no_map
127    produces no program listing.  (Default)
128 -no_optimize, -not
129    performs no optimizations.  (Default)
130 -no_stringrange, -nstrg
131    does not produce range-checking code for all substring references.
132    (Default, if you use -ansi66 or -optimize)
133 -no_subscriptrange, -nsubrg
134    does not produce range-checking code for all subscripted array
135    references.  (Default, if you supply -ansi66 or -optimize)
136 
137 
138 -no_table, -ntb
139    does not generate a runtime symbol table.  (Default, if you give
140    -optimize)
141 -no_version
142    does not print out the version of the current compiler.
143 -no_very_large_array, -nvla
144    suppresses -vla, -vla_auto, -vla_static, and -very_large_common.
145    (Default)
146 
147 
148 -no_vla_parm
149    inhibits -vla_parm. (Default)
150 -non_relocatable, -nrlc
151    inhibits generation of relocation information by the compiler.  The
152    resulting object segment cannot be bound.
153 -optimize, -ot
154    invokes an extra compiler phase just before code generation to
155    perform certain optimizations.
156 -profile, -pf
157    generates extra code to meter execution of individual statements.
158 -relocatable, -rlc
159    generates relocation information.  (Default)
160 -round
161    rounds intermediate results of real and double-precision
162    calculations before storing.  (Default)
163 
164 
165 -safe_optimize, -safe_ot
166    like -optimize, but inhibits some code movement.
167 -severityN, -svN, -severity N, -sv N
168    prints only error messages whose severity is N or greater (where N
169    is 1, 2, 3, or 4).  (Default: 1)
170 -static
171    indicates that all local variables are allocated static storage so
172    their values will be retained between invocations.  Ignored in any
173    program unit in which a save or automatic statement appears.
174 
175 
176 -stringrange, -strg
177    produces range-checking code for all substring references.
178    (Default, if you give -ansi77 but not -optimize)
179 -subscriptrange, -subrg
180    produces range-checking code for all subscripted array references.
181    (Default, if you specify -ansi77 but not -optimize)
182 -table, -tb
183    generates full symbol table.  For use with the probe and debug
184    commands.  (Default, unless you use -optimize)
185 
186 
187 -time, -tm
188    prints table giving time (in seconds), number of page faults, and
189    size of temporary area for each phase of the compiler.
190 -time_ot
191    prints out timing information on the subphases of the optimizer.
192 -top_down
193    optimizes loops using a top-down approach.
194 -truncate, -tc
195    truncates intermediate results of real and double-precision
196    computations before storing.
197 -version
198    prints out the version of the FORTRAN compiler before compiling.
199 
200 
201 -very_large_array, -vla
202    is used when arrays or common blocks have sizes exceeding segment
203    size (255K < array size or common block length < 2**24 [16M] words).
204    It implies -large_array, -very_large_common, -vla_auto, -vla_parm,
205    and  -vla_static.
206 -very_large_common, -vlc
207    is used when common blocks have sizes exceeding segment size (255K <
208    common block length < 2**24 [16M] words).  It implies -vla_parm.
209 
210 
211 -vla_auto
212    is used when automatic arrays have sizes exceeding segment size
213    (255K < array size < 2**24 [16M] words).  It implies -la_auto and
214    -vla_parm.
215 -vla_parm
216    is used in subroutines when parameters that are passed to them could
217    come from very-large-array procedures.
218 -vla_static
219    is used when static arrays have sizes exceeding segment size
220    (255K < array size < 2**24 [16M] words).  It implies -la_static and
221    -vla_parm.
222 
223 
224 Notes: Mutually exclusive control arguments are--
225    -ansi66 and -ansi77
226    -card and -line_numbers
227    -long_profile and -profile
228    -optimize, -safe_optimize and -stringrange, -subscriptrange
229    -round and -truncate
230    -very_large_array, -vla_auto, -vla_static and -no_large_array
231 
232 For more information on the FORTRAN compiler and on using FORTRAN on
233 Multics, see the Multics FORTRAN Reference Manual (AT58) and the
234 Multics FORTRAN User's Guide (CC70).