4.3BSD-UWisc/man/cat1/f77.1

Compare this file to the similar file:
Show the results in this format:




F77(1)              UNIX Programmer's Manual               F77(1)



NAME
     f77 - Fortran 77 compiler

SYNOPSIS
     f77 [ option ] ... file ...

DESCRIPTION
     _F_7_7 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 _f_7_7.

     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 _c_c(1).
     See _l_d(1) for load-time options.

     -c   Suppress loading and produce `.o' files for each source
          file.

     -g   Produce additional symbol table information for _d_b_x(1)
          and pass the -lg flag to _l_d(1) so that on abnormal ter-
          minations, the memory image is written to file _c_o_r_e.
          Incompatible with -O.

     -o output
          Name the final output file _o_u_t_p_u_t instead of `a.out'.

     -p   Prepare object files for profiling, see _p_r_o_f(1).

     -pg  Causes the compiler to produce counting code in the
          manner of -p, but invokes a run-time recording mechan-
          ism that keeps more extensive statistics and produces a
          _g_m_o_n._o_u_t file at normal termination. An execution pro-
          file can then be generated by use of _g_p_r_o_f(1).

     -w   Suppress all warning messages.  If the option is
          `-w66', only Fortran 66 compatibility warnings are



Printed 12/27/86           May 5, 1986                          1






F77(1)              UNIX Programmer's Manual               F77(1)



          suppressed.

     -D_n_a_m_e=_d_e_f

     -D_n_a_m_e
          Define the _n_a_m_e to the C preprocessor, as if by
          `#define'. If no definition is given, the name is
          defined as "1". (`.F' suffix files only).

     -I_d_i_r
          `#include' files whose names do not begin with `/' are
          always sought first in the directory of the _f_i_l_e argu-
          ment, then in directories named in -I options, then in
          directories on a standard list. (`.F' suffix files
          only).

     -O   Invoke an object-code optimizer.  Incompatible with -g.

     -S   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 _f_7_7.

     -d   Used for debugging the compiler.

     -i2  On machines which support short integers, make the
          default integer constants and variables short.  (-i4 is
          the standard value of this option). All logical quanti-
          ties will be short.

     -q   Suppress printing of file names and program unit names
          during compilation.

     -m   Apply the M4 preprocessor to each `.r' file before
          transforming it with the Ratfor or EFL preprocessor.

     -onetrip

     -1   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.)

     -r8  Treat all floating point variables, constants, func-
          tions and intrinsics as double precision and all com-
          plex quantities as double complex.

     -u   Make the default type of a variable `undefined' rather
          than using the default Fortran rules.

     -v   Print the version number of the compiler, and the name
          of each pass as it executes.



Printed 12/27/86           May 5, 1986                          2






F77(1)              UNIX Programmer's Manual               F77(1)



     -C   Compile code to check that subscripts are within
          declared array bounds.  For multi-dimensional arrays,
          only the equivalent linear subscript is checked.

     -F   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.

     -E_x  Use the string _x as an EFL option in processing `.e'
          files.

     -R_x  Use the string _x as a Ratfor option in processing `.r'
          files.

     -N[qxscn]_n_n_n
          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    Maximum number of equivalenced variables. Default
               is 150.

          x    Maximum number of external names (common block
               names, subroutine and function names). Default is
               200.

          s    Maximum number of statement numbers. Default is
               401.

          c    Maximum depth of nesting for control statements
               (e.g. DO loops). Default is 20.

          n    Maximum number of identifiers. Default is 1009.

     -U   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 _f_7_7 produce memory dumps in file _c_o_r_e
     upon abnormal termination if the -g flag was specified dur-
     ing loading.  If the environment variable _f_7_7__d_u_m_p__f_l_a_g is
     set to a value beginning with y or n, dumps for abnormal
     terminations are respectively forced or suppressed.



Printed 12/27/86           May 5, 1986                          3






F77(1)              UNIX Programmer's Manual               F77(1)



FILES
     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).

SEE ALSO
     S. I. Feldman, P. J. Weinberger, J. Berkman, _A _P_o_r_t_a_b_l_e _F_o_r_-
     _t_r_a_n _7_7 _C_o_m_p_i_l_e_r
     D. L. Wasley, J. Berkman, _I_n_t_r_o_d_u_c_t_i_o_n _t_o _t_h_e _f_7_7 _I/_O
     _L_i_b_r_a_r_y
     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)

DIAGNOSTICS
     The diagnostics produced by _f_7_7 itself are intended to be
     self-explanatory.  Occasional messages may be produced by
     the loader.

BUGS
     Files longer than about 50,000 lines must be split up to be
     compiled.

















Printed 12/27/86           May 5, 1986                          4