| .\" Copyright (c) 1995, 1996, 1997, Free Software Foundation -*-Text-*- |
| .\" See section COPYING for conditions for redistribution |
| .\" FIXME: no info here on predefines. Should there be? extra for F77... |
| .TH G77 1 "1999-02-14" "GNU Tools" "GNU Tools" |
| .de BP |
| .sp |
| .ti \-.2i |
| \(** |
| .. |
| .SH NAME |
| g77 \- GNU project Fortran Compiler (v0.5.24) |
| .SH SYNOPSIS |
| .RB g77 " [" \c |
| .IR option " | " "filename " ].\|.\|. |
| .SH WARNING |
| 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. |
| .PP |
| 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. |
| .\" .PP |
| .\" The version of GNU Fortran documented by the Info file is 0.5.24, |
| .\" which includes substantial improvements and changes since 0.5.24, |
| .\" the version documented in this man page. |
| .PP |
| 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. |
| .PP |
| For complete and current documentation, refer to the Info file `\|\c |
| .B g77\c |
| \&\|' or the manual |
| .I |
| Using and Porting GNU Fortran (for version 0.5.24)\c |
| \&. Both are made from the Texinfo source file |
| .BR g77.texi . |
| .PP |
| If your system has the `\|\c |
| .B info\c |
| \&\|' command installed, the command `\|\c |
| .B info g77\c |
| \&\|' should work, unless |
| .B g77 |
| has not been properly installed. |
| If your system lacks `\|\c |
| .B info\c |
| \&\|', or you wish to avoid using it for now, |
| the command `\|\c |
| .B more /usr/info/g77.info*\c |
| \&\|' should work, unless |
| .B g77 |
| has not been properly installed. |
| .PP |
| If |
| .B 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 |
| .B g77 |
| (if you know who that is) to fix the problem. |
| .SH DESCRIPTION |
| The C and F77 compilers are integrated; |
| .B g77 |
| is a program to call |
| .B gcc |
| with options to recognize programs written in Fortran (ANSI FORTRAN 77, |
| also called F77). |
| .B gcc |
| processes input files |
| through one or more of four stages: preprocessing, compilation, |
| assembly, and linking. This man page contains full descriptions for |
| .I 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 |
| .BR gcc ( 1 ). |
| |
| For complete documentation on GNU Fortran, type `\|\c |
| .B info g77\c |
| \&\|'. |
| |
| F77 source files use the suffix `\|\c |
| .B .f\c |
| \&\|', `\|\c |
| .B .for\c |
| \&\|', or `\|\c |
| .B .FOR\c |
| \&\|'; F77 files to be preprocessed by |
| .BR cpp ( 1 ) |
| use the suffix `\|\c |
| .B .F\c |
| \&\|', `\|\c |
| .B .fpp\c |
| \&\|', or `\|\c |
| .B .FPP\c |
| \&\|'; Ratfor source files use the suffix `\|\c |
| .B .r\c |
| \&\|' (though |
| .B ratfor |
| itself is not supplied as part of |
| .B g77\c |
| \&). |
| .SH OPTIONS |
| There are many command-line options, including options to control |
| details of optimization, warnings, and code generation, which are |
| common to both |
| .B gcc |
| and |
| .B g77\c |
| \&. For full information on all options, see |
| .BR gcc ( 1 ). |
| |
| Options must be separate: `\|\c |
| .B \-dr\c |
| \&\|' is quite different from `\|\c |
| .B \-d \-r |
| \&\|'. |
| |
| Most `\|\c |
| .B \-f\c |
| \&\|' and `\|\c |
| .B \-W\c |
| \&\|' options have two contrary forms: |
| .BI \-f name |
| and |
| .BI \-fno\- name\c |
| \& (or |
| .BI \-W name |
| and |
| .BI \-Wno\- name\c |
| \&). Only the non-default forms are shown here. |
| |
| .TP |
| .B \-c |
| Compile or assemble the source files, but do not link. The compiler |
| output is an object file corresponding to each source file. |
| .TP |
| .BI \-D macro |
| Define macro \c |
| .I macro\c |
| \& with the string `\|\c |
| .B 1\c |
| \&\|' as its definition. |
| .TP |
| .BI \-D macro = defn |
| Define macro \c |
| .I macro\c |
| \& as \c |
| .I defn\c |
| \&. |
| .TP |
| .B \-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. |
| .TP |
| .B \-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, `\|\c |
| .B \-g\c |
| \&\|' enables use |
| of extra debugging information that only GDB can use. |
| |
| Unlike most other Fortran compilers, GNU Fortran allows you to use `\|\c |
| .B \-g\c |
| \&\|' with |
| `\|\c |
| .B \-O\c |
| \&\|'. 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. |
| .TP |
| .BI "\-I" "dir"\c |
| \& |
| Append directory \c |
| .I dir\c |
| \& to the list of directories searched for include files. |
| .TP |
| .BI "\-L" "dir"\c |
| \& |
| Add directory \c |
| .I dir\c |
| \& to the list of directories to be searched |
| for `\|\c |
| .B \-l\c |
| \&\|'. |
| .TP |
| .BI \-l library\c |
| \& |
| Use the library named \c |
| .I library\c |
| \& when linking. |
| .TP |
| .B \-nostdinc |
| Do not search the standard system directories for header files. Only |
| the directories you have specified with |
| .B \-I |
| options (and the current directory, if appropriate) are searched. |
| .TP |
| .B \-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. |
| .TP |
| .BI "\-o " file\c |
| \& |
| Place output in file \c |
| .I file\c |
| \&. |
| .TP |
| .B \-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. |
| .TP |
| .BI \-U macro |
| Undefine macro \c |
| .I macro\c |
| \&. |
| .TP |
| .B \-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. |
| .TP |
| .B \-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. |
| .PP |
| |
| .SH FILES |
| .ta \w'LIBDIR/g77\-include 'u |
| file.h C header (preprocessor) file |
| .br |
| file.f Fortran source file |
| .br |
| file.for Fortran source file |
| .br |
| file.FOR Fortran source file |
| .br |
| file.F preprocessed Fortran source file |
| .br |
| file.fpp preprocessed Fortran source file |
| .br |
| file.FPP preprocessed Fortran source file |
| .br |
| file.r Ratfor source file (ratfor not included) |
| .br |
| file.s assembly language file |
| .br |
| file.o object file |
| .br |
| a.out link edited output |
| .br |
| \fITMPDIR\fR/cc\(** temporary files |
| .br |
| \fILIBDIR\fR/cpp preprocessor |
| .br |
| \fILIBDIR\fR/f771 compiler |
| .br |
| \fILIBDIR\fR/libg2c.a Fortran run-time library |
| .br |
| \fILIBDIR\fR/libgcc.a GCC subroutine library |
| .br |
| /lib/crt[01n].o start-up routine |
| .br |
| /lib/libc.a standard C library, see |
| .IR intro (3) |
| .br |
| /usr/include standard directory for |
| .B #include |
| files |
| .br |
| \fILIBDIR\fR/include standard gcc directory for |
| .B #include |
| .br |
| files. |
| .sp |
| .I LIBDIR |
| is usually |
| .B /usr/local/lib/\c |
| .IR machine / version . |
| .sp |
| .I TMPDIR |
| comes from the environment variable |
| .B TMPDIR |
| (default |
| .B /usr/tmp |
| if available, else |
| .B /tmp\c |
| \&). |
| .SH "SEE ALSO" |
| gcc(1), cpp(1), as(1), ld(1), gdb(1), adb(1), dbx(1), sdb(1). |
| .br |
| .RB "`\|" g77 "\|', `\|" gcc "\|', `\|" cpp "\|'," |
| .RB "`\|" as "\|', `\|" ld "\|'," |
| and |
| .RB "`\|" gdb "\|'" |
| entries in |
| .B info\c |
| \&. |
| .br |
| .I |
| Using and Porting GNU Fortran (for version 0.5.24)\c |
| , James Craig Burley; |
| .I |
| Using and Porting GNU CC (for version 2.0)\c |
| , Richard M. Stallman; |
| .I |
| The C Preprocessor\c |
| , Richard M. Stallman; |
| .I |
| Debugging with GDB: the GNU Source-Level Debugger\c |
| , Richard M. Stallman and Roland H. Pesch; |
| .I |
| Using as: the GNU Assembler\c |
| , Dean Elsner, Jay Fenlason & friends; |
| .I |
| gld: the GNU linker\c |
| , Steve Chamberlain and Roland Pesch. |
| |
| .SH BUGS |
| For instructions on how to report bugs, type `\|\c |
| .B info g77 -n Bugs\c |
| \&\|'. |
| |
| .SH COPYING |
| Copyright (c) 1991-1998 Free Software Foundation, Inc. |
| .PP |
| 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. |
| .PP |
| 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. |
| .PP |
| 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. |
| .SH AUTHORS |
| See the GNU CC Manual for the contributors to GNU CC. |
| See the GNU Fortran Manual for the contributors to |
| GNU Fortran. |