G77(1)                             GNU Tools                            G77(1)

       g77 - GNU project Fortran Compiler (v0.5.24)

       g77 [option | filename ]...

       The information in this man page is an extract from the full
       documentation of the GNU Fortran compiler (version 0.5.24), and is
       limited to the meaning of some of the options.

       This man page is not up to date, since no volunteers want to maintain
       it.  If you find a discrepancy between the man page and the software,
       please check the Info file, which is the authoritative documentation.

       If we find that the things in this man page that are out of date cause
       significant confusion or complaints, we will stop distributing the man
       page.  The alternative, updating the man page when we update the Info
       file, is impractical because the rest of the work of maintaining GNU
       Fortran leaves us no time for that.  The GNU project regards man pages
       as obsolete and should not let them take time away from other things.

       For complete and current documentation, refer to the Info file `g77' or
       the manual Using and Porting GNU Fortran (for version 0.5.24).  Both
       are made from the Texinfo source file g77.texi.

       If your system has the `info' command installed, the command `info g77'
       should work, unless g77 has not been properly installed.  If your
       system lacks `info', or you wish to avoid using it for now, the command
       `more /usr/info/g77.info*' should work, unless g77 has not been
       properly installed.

       If g77 has not been properly installed, so that you cannot easily
       access the Info file for it, ask your system administrator, or the
       installer of g77 (if you know who that is) to fix the problem.

       The C and F77 compilers are integrated; g77 is a program to call gcc
       with options to recognize programs written in Fortran (ANSI FORTRAN 77,
       also called F77).  gcc processes input files through one or more of
       four stages: preprocessing, compilation, assembly, and linking.  This
       man page contains full descriptions for only F77-specific aspects of
       the compiler, though it also contains summaries of some general-purpose
       options.  For a fuller explanation of the compiler, see gcc(1).

       For complete documentation on GNU Fortran, type `info g77'.

       F77 source files use the suffix `.f', `.for', or `.FOR'; F77 files to
       be preprocessed by cpp(1) use the suffix `.F', `.fpp', or `.FPP';
       Ratfor source files use the suffix `.r' (though ratfor itself is not
       supplied as part of g77).

       There are many command-line options, including options to control
       details of optimization, warnings, and code generation, which are
       common to both gcc and g77.  For full information on all options, see

       Options must be separate: `-dr' is quite different from `-d -r '.

       Most `-f' and `-W' options have two contrary forms: -fname and
       -fno-name (or -Wname and -Wno-name). Only the non-default forms are
       shown here.

       -c     Compile or assemble the source files, but do not link.  The
              compiler output is an object file corresponding to each source

              Define macro macro with the string `1' as its definition.

              Define macro macro as defn.

       -E     Stop after the preprocessing stage; do not run the compiler
              proper.  The output is preprocessed source code, which is sent
              to the standard output.

       -g     Produce debugging information in the operating system's native
              format (for DBX or SDB or DWARF).  GDB also can work with this
              debugging information.  On most systems that use DBX format,
              `-g' enables use of extra debugging information that only GDB
              can use.

              Unlike most other Fortran compilers, GNU Fortran allows you to
              use `-g' with `-O'.  The shortcuts taken by optimized code may
              occasionally produce surprising results: some variables you
              declared may not exist at all; flow of control may briefly move
              where you did not expect it; some statements may not be executed
              because they compute constant results or their values were
              already at hand; some statements may execute in different places
              because they were moved out of loops.

              Nevertheless it proves possible to debug optimized output.  This
              makes it reasonable to use the optimizer for programs that might
              have bugs.

       -Idir  Append directory dir to the list of directories searched for
              include files.

       -Ldir  Add directory dir to the list of directories to be searched for

              Use the library named library when linking.

              Do not search the standard system directories for header files.
              Only the directories you have specified with -I options (and the
              current directory, if appropriate) are searched.

       -O     Optimize.  Optimizing compilation takes somewhat more time, and
              a lot more memory for a large function.  See the GCC
              documentation for further optimisation options.  Loop unrolling,
              in particular, may be worth investigating for typical numerical
              Fortran programs.

       -o file
              Place output in file file.

       -S     Stop after the stage of compilation proper; do not assemble.
              The output is an assembler code file for each non-assembler
              input file specified.

              Undefine macro macro.

       -v     Print (on standard error output) the commands executed to run
              the stages of compilation.  Also print the version number of the
              compiler driver program and of the preprocessor and the compiler
              proper.  The version numbers of g77 itself and the GCC
              distribution on which it is based are distinct.

       -Wall  Issue warnings for conditions which pertain to usage that we
              recommend avoiding and that we believe is easy to avoid, even in
              conjunction with macros.

       file.h    C header (preprocessor) file
       file.f    Fortran source file
       file.for  Fortran source file
       file.FOR  Fortran source file
       file.F    preprocessed Fortran source file
       file.fpp  preprocessed Fortran source file
       file.FPP  preprocessed Fortran source file
       file.r    Ratfor source file (ratfor not included)
       file.s    assembly language file
       file.o    object file
       a.out     link edited output
       TMPDIR/cc∗         temporary files
       LIBDIR/cpp         preprocessor
       LIBDIR/f771        compiler
       LIBDIR/libg2c.a    Fortran run-time library
       LIBDIR/libgcc.a    GCC subroutine library
       /lib/crt[01n].o    start-up routine
       /lib/libc.a        standard C library, see intro(3)
       /usr/include       standard directory for #include files
       LIBDIR/include     standard gcc directory for #include

       LIBDIR is usually /usr/local/lib/machine/version.

       TMPDIR comes from the environment variable TMPDIR (default /usr/tmp if
       available, else /tmp).

       gcc(1), cpp(1), as(1), ld(1), gdb(1), adb(1), dbx(1), sdb(1).
       `g77', `gcc', `cpp', `as', `ld', and `gdb' entries in info.
       Using and Porting GNU Fortran (for version 0.5.24), James Craig Burley;
       Using and Porting GNU CC (for version 2.0), Richard M. Stallman; The C
       Preprocessor, Richard M. Stallman; Debugging with GDB: the GNU Source-
       Level Debugger, Richard M. Stallman and Roland H. Pesch; Using as: the
       GNU Assembler, Dean Elsner, Jay Fenlason & friends; gld: the GNU
       linker, Steve Chamberlain and Roland Pesch.

       For instructions on how to report bugs, type `info g77 -n Bugs'.

       Copyright (c) 1991-1998 Free Software Foundation, Inc.

       Permission is granted to make and distribute verbatim copies of this
       manual provided the copyright notice and this permission notice are
       preserved on all copies.

       Permission is granted to copy and distribute modified versions of this
       manual under the conditions for verbatim copying, provided that the
       entire resulting derived work is distributed under the terms of a
       permission notice identical to this one.

       Permission is granted to copy and distribute translations of this
       manual into another language, under the above conditions for modified
       versions, except that this permission notice may be included in
       translations approved by the Free Software Foundation instead of in the
       original English.

       See the GNU CC Manual for the contributors to GNU CC.  See the GNU
       Fortran Manual for the contributors to GNU Fortran.

GNU Tools                         1999-02-14                            G77(1)