1 .\" Copyright (c) 1995, 1996, 1997, Free Software Foundation -*-Text-*-
2 .\" See section COPYING for conditions for redistribution
3 .\" FIXME: no info here on predefines. Should there be? extra for F77...
4 .TH G77 1 "1999-02-14" "GNU Tools" "GNU Tools"
11 g77 \- GNU project Fortran Compiler (v0.5.24)
14 .IR option " | " "filename " ].\|.\|.
16 The information in this man page is an extract from the full
17 documentation of the GNU Fortran compiler (version 0.5.24),
18 and is limited to the meaning of some of the options.
20 This man page is not up to date, since no volunteers want to
21 maintain it. If you find a discrepancy between the man page and the
22 software, please check the Info file, which is the authoritative
25 .\" The version of GNU Fortran documented by the Info file is 0.5.24,
26 .\" which includes substantial improvements and changes since 0.5.24,
27 .\" the version documented in this man page.
29 If we find that the things in this man page that are out of date cause
30 significant confusion or complaints, we will stop distributing the man
31 page. The alternative, updating the man page when we update the Info
32 file, is impractical because the rest of the work of maintaining GNU Fortran
33 leaves us no time for that. The GNU project regards man pages as
34 obsolete and should not let them take time away from other things.
36 For complete and current documentation, refer to the Info file `\|\c
40 Using and Porting GNU Fortran (for version 0.5.24)\c
41 \&. Both are made from the Texinfo source file
44 If your system has the `\|\c
46 \&\|' command installed, the command `\|\c
48 \&\|' should work, unless
50 has not been properly installed.
51 If your system lacks `\|\c
53 \&\|', or you wish to avoid using it for now,
55 .B more /usr/info/g77.info*\c
56 \&\|' should work, unless
58 has not been properly installed.
62 has not been properly installed, so that you
63 cannot easily access the Info file for it,
64 ask your system administrator, or the installer
67 (if you know who that is) to fix the problem.
69 The C and F77 compilers are integrated;
73 with options to recognize programs written in Fortran (ANSI FORTRAN 77,
77 through one or more of four stages: preprocessing, compilation,
78 assembly, and linking. This man page contains full descriptions for
80 F77-specific aspects of the compiler, though it also contains
81 summaries of some general-purpose options. For a fuller explanation
85 For complete documentation on GNU Fortran, type `\|\c
89 F77 source files use the suffix `\|\c
95 \&\|'; F77 files to be preprocessed by
103 \&\|'; Ratfor source files use the suffix `\|\c
107 itself is not supplied as part of
111 There are many command-line options, including options to control
112 details of optimization, warnings, and code generation, which are
117 \&. For full information on all options, see
120 Options must be separate: `\|\c
122 \&\|' is quite different from `\|\c
130 \&\|' options have two contrary forms:
138 \&). Only the non-default forms are shown here.
142 Compile or assemble the source files, but do not link. The compiler
143 output is an object file corresponding to each source file.
148 \& with the string `\|\c
150 \&\|' as its definition.
160 Stop after the preprocessing stage; do not run the compiler proper. The
161 output is preprocessed source code, which is sent to the
165 Produce debugging information in the operating system's native format
166 (for DBX or SDB or DWARF). GDB also can work with this debugging
167 information. On most systems that use DBX format, `\|\c
170 of extra debugging information that only GDB can use.
172 Unlike most other Fortran compilers, GNU Fortran allows you to use `\|\c
177 \&\|'. The shortcuts taken by optimized code may occasionally
178 produce surprising results: some variables you declared may not exist
179 at all; flow of control may briefly move where you did not expect it;
180 some statements may not be executed because they compute constant
181 results or their values were already at hand; some statements may
182 execute in different places because they were moved out of loops.
184 Nevertheless it proves possible to debug optimized output. This makes
185 it reasonable to use the optimizer for programs that might have bugs.
191 \& to the list of directories searched for include files.
197 \& to the list of directories to be searched
204 Use the library named \c
209 Do not search the standard system directories for header files. Only
210 the directories you have specified with
212 options (and the current directory, if appropriate) are searched.
215 Optimize. Optimizing compilation takes somewhat more time, and a lot
216 more memory for a large function. See the GCC documentation for
217 further optimisation options. Loop unrolling, in particular, may be
218 worth investigating for typical numerical Fortran programs.
222 Place output in file \c
227 Stop after the stage of compilation proper; do not assemble. The output
228 is an assembler code file for each non-assembler input
237 Print (on standard error output) the commands executed to run the
238 stages of compilation. Also print the version number of the compiler
239 driver program and of the preprocessor and the compiler proper. The
240 version numbers of g77 itself and the GCC distribution on which it is
244 Issue warnings for conditions which pertain to usage that we recommend
245 avoiding and that we believe is easy to avoid, even in conjunction
250 .ta \w'LIBDIR/g77\-include 'u
251 file.h C header (preprocessor) file
253 file.f Fortran source file
255 file.for Fortran source file
257 file.FOR Fortran source file
259 file.F preprocessed Fortran source file
261 file.fpp preprocessed Fortran source file
263 file.FPP preprocessed Fortran source file
265 file.r Ratfor source file (ratfor not included)
267 file.s assembly language file
271 a.out link edited output
273 \fITMPDIR\fR/cc\(** temporary files
275 \fILIBDIR\fR/cpp preprocessor
277 \fILIBDIR\fR/f771 compiler
279 \fILIBDIR\fR/libg2c.a Fortran run-time library
281 \fILIBDIR\fR/libgcc.a GCC subroutine library
283 /lib/crt[01n].o start-up routine
285 /lib/libc.a standard C library, see
288 /usr/include standard directory for
292 \fILIBDIR\fR/include standard gcc directory for
300 .IR machine / version .
303 comes from the environment variable
311 gcc(1), cpp(1), as(1), ld(1), gdb(1), adb(1), dbx(1), sdb(1).
313 .RB "`\|" g77 "\|', `\|" gcc "\|', `\|" cpp "\|',"
314 .RB "`\|" as "\|', `\|" ld "\|',"
322 Using and Porting GNU Fortran (for version 0.5.24)\c
323 , James Craig Burley;
325 Using and Porting GNU CC (for version 2.0)\c
326 , Richard M. Stallman;
329 , Richard M. Stallman;
331 Debugging with GDB: the GNU Source-Level Debugger\c
332 , Richard M. Stallman and Roland H. Pesch;
334 Using as: the GNU Assembler\c
335 , Dean Elsner, Jay Fenlason & friends;
337 gld: the GNU linker\c
338 , Steve Chamberlain and Roland Pesch.
341 For instructions on how to report bugs, type `\|\c
342 .B info g77 -n Bugs\c
346 Copyright (c) 1991-1998 Free Software Foundation, Inc.
348 Permission is granted to make and distribute verbatim copies of
349 this manual provided the copyright notice and this permission notice
350 are preserved on all copies.
352 Permission is granted to copy and distribute modified versions of this
353 manual under the conditions for verbatim copying, provided that the
354 entire resulting derived work is distributed under the terms of a
355 permission notice identical to this one.
357 Permission is granted to copy and distribute translations of this
358 manual into another language, under the above conditions for modified
359 versions, except that this permission notice may be included in
360 translations approved by the Free Software Foundation instead of in
361 the original English.
363 See the GNU CC Manual for the contributors to GNU CC.
364 See the GNU Fortran Manual for the contributors to