g77 Manual Page

       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

       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 com-
       mand `info g77' should work, unless g77 has not been prop-
       erly  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 admin-
       istrator, 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:  prepro-
       cessing,  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

       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  suf-
       fix  `.r' (though ratfor itself is not supplied as part of

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

       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 corre-
              sponding to each source file.

              Define macro macro with the string `1' as its defi-

              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 sys-
              tem'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

              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  opti-
              mizer 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 `-l'.

               Use the library named library when linking.

              Do  not  search the standard system directories for
              header files.  Only the directories you have speci-
              fied 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 func-
              tion.  See the GCC documentation for further  opti-
              misation  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 exe-
              cuted 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 dis-
              tribution 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

       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),
       `g77',  `gcc',  `cpp',  `as',  `ld',  and `gdb' entries in
       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. Stall-
       man;  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

       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 ver-
       sions 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 con-
       ditions for modified versions, except that this permission
       notice may be included in  translations  approved  by  the
       Free  Software  Foundation  instead  of  in  the  original

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