MAN page from Old RedHat 5.X f2c-19970805-2.i386.rpm
F2C
Section: User Commands (1)
Index NAME
f2c - Convert Fortran 77 to C or C++
SYNOPSIS
f2c[
option ...]
file ... DESCRIPTION
F2cconverts Fortran 77 source code in
fileswith names ending inorto C (or C++) source files in thecurrent directory, withsubstitutedfor the finalor`.F'.If no Fortran files are named,
f2creads Fortran from standard input andwrites C on standard output.
Filenames that end withorare taken to be prototypefiles, as produced by option`-P',and are read first.
The following options have the same meaning as inf77(1).
- -C
- Compile code to check that subscripts are within declared array bounds.
- -I2
- Render INTEGER and LOGICAL as short,INTEGER*4 as long int. Assume the default libF77and libI77: allow only INTEGER*4 (and no LOGICAL)variables in INQUIREs. Optionconfirms the default rendering of INTEGER as long int.
- -Idir
- Look for a non-absolute include file first in the directory of thecurrent input file, then in directories specified by -Ioptions (one directory per option). Options-I2 and -I4have precedence, so, e.g., a directory named 2should be specified by -I./2 .
- -onetrip
- Compile DO loops that are performed at least once if reached.(Fortran 77 DO loops are not performed at all if the upper limit is smaller than the lower limit.)
- -U
- Honor the case of variable and external names. Fortran keywords must be inlowercase.
- -u
- Make the default type of a variable `undefined' rather than using the default Fortran rules.
- -w
- Suppress all warning messages, or, if the option is`-w66',just Fortran 66 compatibility warnings.
The following options are peculiar tof2c.
- -A
- ProduceANSIC.Default is old-style C.
- -a
- Make local variables automatic rather than staticunless they appear in aDATA, EQUIVALENCE, NAMELIST,orSAVEstatement.
- -C++
- Output C++ code.
- -c
- Include original Fortran source as comments.
- -cd
- Do not recognize cdabs, cdcos, cdexp, cdlog, cdsin, and cdsqrtas synonyms for the double complex intrinsicszabs, zcos, zexp, zlog, zsin, and zsqrt, respectively.
- -ddir
- Writefiles in directorydirinstead of the current directory.
- -E
- Declare uninitializedCOMMONto beExtern(overridably defined inasextern).
- -ec
- Place uninitializedCOMMONblocks in separate files:COMMON /ABC/appears in fileabc_com.c.Option`-e1c'bundles the separate filesinto the output file, with comments that give an unbundlingsed(1)script.
- -ext
- Complain aboutf77(1)extensions.
- -f
- Assume free-format input: accept text after column 72 and do notpad fixed-format lines shorter than 72 characters with blanks.
- -72
- Treat text appearing after column 72 as an error.
- -g
- Include original Fortran line numbers in #line lines.
- -h
- Emulate Fortran 66's treatment of Hollerith: try to align character strings onword (or, if the option is`-hd',on double-word) boundaries.
- -i2
- Similar to-I2,but assume a modifiedlibF77andlibI77(compiled with-Df2c_i2),soINTEGERandLOGICALvariables may be assigned byINQUIREand array lengths are stored in short ints.
- -i90
- Do not recognize the Fortran 90 bit-manipulation intrinsicsbtest, iand, ibclr, ibits, ibset, ieor, ior, ishft, and ishftc.
- -kr
- Use temporary values to enforce Fortran expression evaluationwhere K&R (first edition) parenthesization rules allow rearrangement.If the option is`-krd',use double precision temporaries even for single-precision operands.
- -P
- Write afile.Pof ANSI (or C++) prototypesfor definitions in each inputfile.forfile.F.When reading Fortran from standard input, write prototypesat the beginning of standard output. Option-Psimplies-Pand gives exit status 4 if rerunningf2cmay change prototypes or declarations.
- -p
- Supply preprocessor definitions to make common-block memberslook like local variables.
- -R
- Do not promoteREALfunctions and operations toDOUBLE PRECISION.Optionconfirms the default, which imitatesf77.
- -r
- Cast values of REAL functions (including intrinsics) to REAL.
- -r8
- PromoteREALtoDOUBLE PRECISION, COMPLEXtoDOUBLE COMPLEX.
- -s
- Preserve multidimensional subscripts. Suppressed by option.
- -Tdir
- Put temporary files in directorydir.
- -w8
- Suppress warnings whenCOMMONorEQUIVALENCEforces odd-word alignment of doubles.
- -Wn
- Assumencharacters/word (default 4)when initializing numeric variables with character data.
- -z
- Do not implicitly recognizeDOUBLE COMPLEX.
- -!bs
- Do not recognize backslash escapes(\", \', \0, \\, \b, \f, \n, \r, \t, \v) in character strings.
- -!c
- Inhibit C output, but produce-Poutput.
- -!I
- Rejectincludestatements.
- -!i8
- DisallowINTEGER*8.
- -!it
- Don't infer types of untypedEXTERNALprocedures from use as parameters to previously defined or prototypedprocedures.
- -!P
- Do not attempt to inferANSIor C++prototypes from usage.
The resulting C invokes the support routines off77;object code should be loaded byf77or withld(1)orcc(1)options-lF77 -lI77 -lm.Calling conventionsare those off77:see the reference below.
FILES
- file.[fF]input file
- *.c
- output file
- header file
- f2c function library
- C library, see section 3
SEE ALSO
S. I. Feldman andP. J. Weinberger,`A Portable Fortran 77 Compiler',
UNIX Time Sharing System Programmer's Manual,Tenth Edition, Volume 2, AT&T Bell Laboratories, 1990.
DIAGNOSTICS
The diagnostics produced by
f2care intended to beself-explanatory.
BUGS
Floating-point constant expressions are simplified inthe floating-point arithmetic of the machine running
f2c,so they are typically accurate to at most 16 or 17 decimal places.
Untypable
EXTERNALfunctions are declared
int.
Index
- NAME
- SYNOPSIS
- DESCRIPTION
- FILES
- SEE ALSO
- DIAGNOSTICS
- BUGS
This document was created byman2html,using the manual pages.