BSD 4_3_Tahoe development
[unix-history] / usr / man / cat1 / f77.0
F77(1) UNIX Programmer's Manual F77(1)
N\bNA\bAM\bME\bE
f77 - Fortran 77 compiler
S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
f\bf7\b77\b7 [ option ] ... file ...
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
_\bF_\b7_\b7 is the UNIX Fortran 77 compiler. It accepts several
types of arguments:
Arguments whose names end with `.f' are taken to be Fortran
77 source programs; they are compiled, and each object pro-
gram is left on the file in the current directory whose name
is that of the source with `.o' substituted for '.f'.
Arguments whose names end with `.F' are also taken to be
Fortran 77 source programs; these are first processed by the
C preprocessor before being compiled by _\bf_\b7_\b7.
Arguments whose names end with `.r' or `.e' are taken to be
Ratfor or EFL source programs respectively; these are first
transformed by the appropriate preprocessor, then compiled
by f77.
Arguments whose names end with `.c' or `.s' are taken to be
C or assembly source programs and are compiled or assembled,
producing a `.o' file.
The following options have the same meaning as in _\bc_\bc(1).
See _\bl_\bd(1) for load-time options.
-\b-c\bc Suppress loading and produce `.o' files for each source
file.
-\b-g\bg Produce additional symbol table information for _\bd_\bb_\bx(1)
and pass the -\b-l\blg\bg flag to _\bl_\bd(1) so that on abnormal ter-
minations, the memory image is written to file _\bc_\bo_\br_\be.
Incompatible with -\b-O\bO.
-\b-o\bo output
Name the final output file _\bo_\bu_\bt_\bp_\bu_\bt instead of `a.out'.
-\b-p\bp Prepare object files for profiling, see _\bp_\br_\bo_\bf(1).
-\b-p\bpg\bg Causes the compiler to produce counting code in the
manner of -\b-p\bp,\b, but invokes a run-time recording mechan-
ism that keeps more extensive statistics and produces a
_\bg_\bm_\bo_\bn._\bo_\bu_\bt file at normal termination. An execution pro-
file can then be generated by use of _\bg_\bp_\br_\bo_\bf(1).
-\b-w\bw Suppress all warning messages. If the option is
`-w66', only Fortran 66 compatibility warnings are
Printed 7/9/88 May 5, 1986 1
F77(1) UNIX Programmer's Manual F77(1)
suppressed.
-\b-D\bD_\bn_\ba_\bm_\be=_\bd_\be_\bf
-\b-D\bD_\bn_\ba_\bm_\be
Define the _\bn_\ba_\bm_\be to the C preprocessor, as if by
`#define'. If no definition is given, the name is
defined as "1". (`.F' suffix files only).
-\b-I\bI_\bd_\bi_\br
`#include' files whose names do not begin with `/' are
always sought first in the directory of the _\bf_\bi_\bl_\be argu-
ment, then in directories named in -\b-I\bI options, then in
directories on a standard list. (`.F' suffix files
only).
-\b-O\bO Invoke an object-code optimizer. Incompatible with -\b-g\bg.
-\b-S\bS Compile the named programs, and leave the assembler-
language output on corresponding files suffixed `.s'.
(No `.o' is created.).
The following options are peculiar to _\bf_\b7_\b7.
-\b-d\bd Used for debugging the compiler.
-\b-i\bi2\b2 On machines which support short integers, make the
default integer constants and variables short. (-\b-i\bi4\b4 is
the standard value of this option). All logical quanti-
ties will be short.
-\b-q\bq Suppress printing of file names and program unit names
during compilation.
-\b-m\bm Apply the M4 preprocessor to each `.r' file before
transforming it with the Ratfor or EFL preprocessor.
-\b-o\bon\bne\bet\btr\bri\bip\bp
-\b-1\b1 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.)
-\b-r\br8\b8 Treat all floating point variables, constants, func-
tions and intrinsics as double precision and all com-
plex quantities as double complex.
-\b-u\bu Make the default type of a variable `undefined' rather
than using the default Fortran rules.
-\b-v\bv Print the version number of the compiler, and the name
of each pass as it executes.
Printed 7/9/88 May 5, 1986 2
F77(1) UNIX Programmer's Manual F77(1)
-\b-C\bC Compile code to check that subscripts are within
declared array bounds. For multi-dimensional arrays,
only the equivalent linear subscript is checked.
-\b-F\bF Apply the C preprocessor to `.F' files, and the EFL, or
Ratfor preprocessors to `.e' and `.r' files, put the
result in the file with the suffix changed to `.f', but
do not compile.
-\b-E\bE_\bx Use the string _\bx as an EFL option in processing `.e'
files.
-\b-R\bR_\bx Use the string _\bx as a Ratfor option in processing `.r'
files.
-\b-N\bN[q\bqx\bxs\bsc\bcn\bn]_\bn_\bn_\bn
Make static tables in the compiler bigger. The compiler
will complain if it overflows its tables and suggest
you apply one or more of these flags. These flags have
the following meanings:
q\bq Maximum number of equivalenced variables. Default
is 150.
x\bx Maximum number of external names (common block
names, subroutine and function names). Default is
200.
s\bs Maximum number of statement numbers. Default is
401.
c\bc Maximum depth of nesting for control statements
(e.g. DO loops). Default is 20.
n\bn Maximum number of identifiers. Default is 1009.
-\b-U\bU Do not convert upper case letters to lower case. The
default is to convert Fortran programs to lower case
except within character string constants.
Other arguments are taken to be either loader option argu-
ments, or F77-compatible object programs, typically produced
by an earlier run, or perhaps libraries of F77-compatible
routines. These programs, together with the results of any
compilations specified, are loaded (in the order given) to
produce an executable program with name `a.out'.
Programs compiled with _\bf_\b7_\b7 produce memory dumps in file _\bc_\bo_\br_\be
upon abnormal termination if the -\b-g\bg flag was specified dur-
ing loading. If the environment variable _\bf_\b7_\b7__\bd_\bu_\bm_\bp__\bf_\bl_\ba_\bg is
set to a value beginning with y\by or n\bn, dumps for abnormal
terminations are respectively forced or suppressed.
Printed 7/9/88 May 5, 1986 3
F77(1) UNIX Programmer's Manual F77(1)
F\bFI\bIL\bLE\bES\bS
file.[fFresc] input file
file.o object file
a.out loaded output
/usr/lib/f77pass1 compiler
/lib/f1 pass 2
/lib/c2 optional optimizer
/lib/cpp C preprocessor
/usr/lib/libF77.a intrinsic function library
/usr/lib/libI77.a Fortran I/O library
/usr/lib/libU77.a UNIX interface library
/usr/lib/libm.a math library
/lib/libc.a C library, see section 3
/usr/lib/libF77_p.a profiling intrinsic function library
/usr/lib/libI77_p.a profiling Fortran I/O library
/usr/lib/libU77_p.a profiling UNIX interface library
/usr/lib/libm_p.a profiling math library
/usr/lib/libc_p.a profiling C library, see section 3
mon.out file produced for analysis by prof(1).
gmon.out file produced for analysis by gprof(1).
S\bSE\bEE\bE A\bAL\bLS\bSO\bO
S. I. Feldman, P. J. Weinberger, J. Berkman, _\bA _\bP_\bo_\br_\bt_\ba_\bb_\bl_\be _\bF_\bo_\br_\b-
_\bt_\br_\ba_\bn _\b7_\b7 _\bC_\bo_\bm_\bp_\bi_\bl_\be_\br
D. L. Wasley, J. Berkman, _\bI_\bn_\bt_\br_\bo_\bd_\bu_\bc_\bt_\bi_\bo_\bn _\bt_\bo _\bt_\bh_\be _\bf_\b7_\b7 _\bI/_\bO
_\bL_\bi_\bb_\br_\ba_\br_\by
fpr(1), fsplit(1), ld(1), ar(1), ranlib(1), dbx(1),
intro(3f)
efl(1), ratfor(1), struct(1), prof(1), gprof(1), cc(1)
D\bDI\bIA\bAG\bGN\bNO\bOS\bST\bTI\bIC\bCS\bS
The diagnostics produced by _\bf_\b7_\b7 itself are intended to be
self-explanatory. Occasional messages may be produced by
the loader.
B\bBU\bUG\bGS\bS
Files longer than about 50,000 lines must be split up to be
compiled.
Printed 7/9/88 May 5, 1986 4