.\"	$Id: f77.1,v 1.2 2008/12/24 17:40:41 sgk Exp $
.\"
.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\"
.\" Redistributions of source code and documentation must retain the above
.\" copyright notice, this list of conditions and the following disclaimer.
.\" Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditionsand the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" 	This product includes software developed or owned by Caldera
.\"	International, Inc.
.\" Neither the name of Caldera International, Inc. nor the names of other
.\" contributors may be used to endorse or promote products derived from
.\" this software without specific prior written permission.
.\"
.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED.  IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE
.\" FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT,
.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.TH F77 1
.SH NAME
f77 \- Fortran 77 compiler
.SH SYNOPSIS
.B f77
[ option ] ... file ...
.SH DESCRIPTION
.I F77
is the UNIX Fortran 77 compiler.
It accepts several types of arguments:
.PP
Arguments whose names end with `.f' are taken to be
Fortran 77 source programs;
they are compiled, and
each object program is left on the file in the current directory
whose name is that of the source with `.o' substituted
for '.f'.
.PP
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.
.PP
In the same way,
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.
.PP
The following options have the same meaning as in
.IR cc (1).
See
.IR ld (1)
for load-time options.
.TP
.B \-c
Suppress loading and produce `.o' files for each source 
file.
.TP
.B \-p
Prepare object files for profiling, see
.IR  prof (1).
.TP
.SM
.B \-O
Invoke an
object-code optimizer.
.TP
.SM
.B \-S
Compile the named programs, and leave the
assembler-language output on corresponding files suffixed `.s'.
(No `.o' is created.).
.TP
.B \-f
Use a floating point interpreter (for PDP11's that lack
11/70-style floating point).
.TP
.BR \-o " output"
Name the final output file
.I output
instead of `a.out'.
.PP
The following options are peculiar to
.IR f77 .
.TP
.SM
.BR \-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.)
.TP
.BR \-u
Make the default type of a variable `undefined' rather than using the default Fortran rules.
.TP
.BR \-q
Suppress printing of procedure names during compilation.
.TP
.BR \-C
Compile code to check that subscripts are within declared array bounds.
.TP
.BR \-w
Suppress all warning messages.
If the option is `\-w66', only Fortran 66 compatibility warnings are suppressed.
.TP
.BR \-F
Apply EFL and Ratfor preprocessor to relevant files, put the result in the file
with the suffix changed to `.f', but do not compile.
.TP
.BR \-m
Apply the M4 preprocessor to each `.r' or `.e' file before transforming
it with the Ratfor or EFL preprocessor.
.TP
.TP
.BI \-E x
Use the string
.I x
as an EFL option in processing `.e' files.
.TP
.BI \-R x
Use the string 
.I x
as a Ratfor option in processing `.r' files.
.PP
Other arguments
are taken
to be either loader option arguments, 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'.
.SH FILES
.nf
.ta \w'/usr/lib/libF77.a   'u
file.[fresc]	input file
file.o	object file
a.out	loaded output
./fort[pid].?	temporary
/usr/lib/f77pass1	compiler
/lib/f1	pass 2
/lib/c2	optional optimizer
/usr/lib/libF77.a	intrinsic function library
/usr/lib/libI77.a	Fortran I/O library
/lib/libc.a	C library, see section 3
.fi
.SH "SEE ALSO"
S. I. Feldman,
P. J. Weinberger,
.I
A Portable Fortran 77 Compiler
.br
prof(1), cc(1), ld(1)
.SH DIAGNOSTICS
The diagnostics produced by
.I f77
itself are intended to be
self-explanatory.
Occasional messages may be produced by the loader.
.SH BUGS
The Fortran 66 subset of the language has been
exercised extensively;
the newer features have not.
