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.