1 . \" Definitions of F, L and LR for the benefit of systems
2 . \" whose -man lacks them...
12 .if t \%\&\f(CW\\$1\fR
18 .if t \%\&\f(CW\\$1\fR\\$2
24 f\^2c \(mi Convert Fortran 77 to C or C++
33 converts Fortran 77 source code in
39 to C (or C++) source files in the
40 current directory, with
47 If no Fortran files are named,
49 reads Fortran from standard input and
50 writes C on standard output.
56 are taken to be prototype
57 files, as produced by option
61 The following options have the same meaning as in
65 Compile code to check that subscripts are within declared array bounds.
68 Render INTEGER and LOGICAL as short,
69 INTEGER\(**4 as long int. Assume the default \fIlibF77\fR
70 and \fIlibI77\fR: allow only INTEGER\(**4 (and no LOGICAL)
71 variables in INQUIREs. Option
73 confirms the default rendering of INTEGER as long int.
76 Compile DO loops that are performed at least once if reached.
77 (Fortran 77 DO loops are not performed at all if the upper limit is smaller than the lower limit.)
80 Honor the case of variable and external names. Fortran keywords must be in
86 Make the default type of a variable `undefined' rather than using the default Fortran rules.
89 Suppress all warning messages.
92 only Fortran 66 compatibility warnings are suppressed.
94 The following options are peculiar to
101 Default is old-style C.
104 Make local variables automatic rather than static
105 unless they appear in a
106 .SM "DATA, EQUIVALENCE, NAMELIST,"
115 Include original Fortran source as comments.
118 Declare uninitialized
122 (overridably defined in
130 blocks in separate files:
136 bundles the separate files
137 into the output file, with comments that give an unbundling
147 Include original Fortran line numbers as comments.
150 Try to align character strings on word (or, if the option is
152 on double-word) boundaries.
157 but assume a modified
167 variables may be assigned by
169 and array lengths are stored in short ints.
172 Use temporary values to enforce Fortran expression evaluation
173 where K&R (first edition) parenthesization rules allow rearrangement.
176 use double precision temporaries even for single-precision operands.
181 of ANSI (or C++) prototypes
182 for procedures defined in each input
186 When reading Fortran from standard input, write prototypes
187 at the beginning of standard output.
196 and gives exit status 4 if rerunning
198 may change prototypes or declarations.
201 Supply preprocessor definitions to make common-block members
202 look like local variables.
207 functions and operations to
208 .SM DOUBLE PRECISION.
211 confirms the default, which imitates
215 Cast values of REAL functions (including intrinsics) to REAL.
221 .SM DOUBLE PRECISION, COMPLEX
226 Put temporary files in directory
230 Suppress warnings when
234 forces odd-word alignment of doubles.
239 characters/word (default 4)
240 when initializing numeric variables with character data.
243 Do not implicitly recognize
247 Do not recognize \fIb\fRack\fIs\fRlash escapes
248 (\e", \e', \e0, \e\e, \eb, \ef, \en, \er, \et, \ev) in character strings.
251 Inhibit C output, but produce
261 Don't infer types of untyped
263 procedures from use as parameters to previously defined or prototyped
267 Do not attempt to infer
270 prototypes from usage.
272 The resulting C invokes the support routines of
274 object code should be loaded by
281 .BR "-lF77 -lI77 -lm" .
285 see the reference below.
295 .F ~em/include/fortran/f2c.h
300 `A Portable Fortran 77 Compiler',
301 \fIUNIX Time Sharing System Programmer's Manual\fR,
302 Tenth Edition, Volume 2, AT&T Bell Laboratories, 1990.
304 The diagnostics produced by
309 Floating-point constant expressions are simplified in
310 the floating-point arithmetic of the machine running
312 so they are typically accurate to at most 16 or 17 decimal places.
316 functions are declared