|
|
1.1 root 1: .\" Copyright (c) 1980 Regents of the University of California.
2: .\" All rights reserved. The Berkeley software License Agreement
3: .\" specifies the terms and conditions for redistribution.
4: .\"
5: .\" @(#)f77.1 6.4 (Berkeley) 5/5/86
6: .\"
7: .TH F77 1 "May 5, 1986"
8: .UC 4
9: .SH NAME
10: f77 \- Fortran 77 compiler
11: .SH SYNOPSIS
12: .B f77
13: [ option ] ... file ...
14: .SH DESCRIPTION
15: .I F77
16: is the UNIX Fortran 77 compiler.
17: It accepts several types of arguments:
18: .PP
19: Arguments whose names end with `.f' are taken to be
20: Fortran 77 source programs;
21: they are compiled, and
22: each object program is left on the file in the current directory
23: whose name is that of the source with `.o' substituted
24: for '.f'.
25: .PP
26: Arguments whose names end with `.F' are also taken to be Fortran 77 source
27: programs; these are first processed by the C preprocessor before being
28: compiled by
29: .I f77.
30: .PP
31: Arguments whose names end with `.r' or `.e' are taken to be Ratfor
32: or EFL source programs respectively; these are first transformed by the
33: appropriate preprocessor, then compiled by f77.
34: .PP
35: Arguments whose names end with `.c' or `.s' are taken to be C or assembly
36: source programs and are compiled or assembled, producing a `.o' file.
37: .PP
38: The following options have the same meaning as in
39: .IR cc (1).
40: See
41: .IR ld (1)
42: for load-time options.
43: .TP
44: .B \-c
45: Suppress loading and produce `.o' files for each source
46: file.
47: .TP
48: .B \-g
49: Produce additional symbol table information for
50: .IR dbx (1)
51: and pass the
52: .B \-lg
53: flag to
54: .IR ld (1)
55: so that on abnormal terminations, the memory image is written
56: to file \fIcore\fP.
57: Incompatible with
58: .BR \-O .
59: .TP
60: .BR \-o " output"
61: Name the final output file
62: .I output
63: instead of `a.out'.
64: .TP
65: .B \-p
66: Prepare object files for profiling, see
67: .IR prof (1).
68: .TP
69: .B \-pg
70: Causes the compiler to produce counting code in the manner of
71: .B \-p,
72: but invokes a run-time recording mechanism that keeps more extensive
73: statistics and produces a
74: .I gmon.out
75: file at normal termination. An execution profile can then be generated
76: by use of
77: .IR gprof (1).
78: .TP
79: .BR \-w
80: Suppress all warning messages.
81: If the option is `\-w66', only Fortran 66 compatibility warnings are suppressed.
82: .TP
83: .BI \-D name=def
84: .TP
85: .BI \-D name
86: Define the
87: .I name
88: to the C preprocessor, as if by `#define'. If no definition is given, the name
89: is defined as "1". (`.F' suffix files only).
90: .TP
91: .BI \-I dir
92: `#include' files whose names do not begin with `/' are always sought
93: first in the directory of the
94: .I file
95: argument, then in directories named in
96: .B \-I
97: options, then in directories on a standard list. (`.F' suffix files only).
98: .TP
99: .B \-O
100: Invoke an
101: object-code optimizer.
102: Incompatible with
103: .BR \-g .
104: .TP
105: .B \-S
106: Compile the named programs, and leave the
107: assembler-language output on corresponding files suffixed `.s'.
108: (No `.o' is created.).
109: .PP
110: The following options are peculiar to
111: .IR f77 .
112: .TP
113: .B \-d
114: Used for debugging the compiler.
115: .TP
116: .B \-i2
117: On machines which support short integers, make the default integer constants
118: and variables short.
119: .RB ( \-i4
120: is the standard value of this option). All logical quantities will be short.
121: .TP
122: .B \-q
123: Suppress printing of file names and program unit names during compilation.
124: .TP
125: .BR \-m
126: Apply the M4 preprocessor to each `.r' file before transforming
127: it with the Ratfor or EFL preprocessor.
128: .TP
129: .SM
130: .BR \-onetrip
131: .TP
132: .BR \-1
133: Compile DO loops that are performed at least once if reached.
134: (Fortran 77 DO loops are not performed at all if the upper limit is smaller than the lower limit.)
135: .TP
136: .BR \-r8
137: Treat all floating point variables,
138: constants, functions and intrinsics
139: as double precision and all complex
140: quantities as double complex.
141: .TP
142: .BR \-u
143: Make the default type of a variable `undefined' rather than using the default Fortran rules.
144: .TP
145: .BR \-v
146: Print the version number of the compiler, and the name of each pass as it
147: executes.
148: .TP
149: .BR \-C
150: Compile code to check that subscripts are within declared array bounds.
151: For multi-dimensional arrays, only the equivalent linear subscript is checked.
152: .TP
153: .BR \-F
154: Apply the C preprocessor to `.F' files, and the EFL, or Ratfor preprocessors
155: to `.e' and `.r' files, put the
156: result in the file with the suffix changed to `.f', but do not compile.
157: .TP
158: .BI \-E x
159: Use the string
160: .I x
161: as an EFL option in processing `.e' files.
162: .TP
163: .BI \-R x
164: Use the string
165: .I x
166: as a Ratfor option in processing `.r' files.
167: .TP
168: \fB\-N\fR[\fBqxscn\fR]\fInnn
169: Make static tables in the compiler bigger. The compiler will complain
170: if it overflows its tables and suggest you apply one or more of these
171: flags. These flags have the following meanings:
172: .RS
173: .TP
174: .B q
175: Maximum number of equivalenced variables. Default is 150.
176: .TP
177: .B x
178: Maximum number of external names (common block names, subroutine and
179: function names). Default is 200.
180: .TP
181: .B s
182: Maximum number of statement numbers. Default is 401.
183: .TP
184: .B c
185: Maximum depth of nesting for control statements (e.g. DO loops). Default is
186: 20.
187: .TP
188: .B n
189: Maximum number of identifiers. Default is 1009.
190: .RE
191: .TP
192: .BR \-U
193: Do not convert upper case letters to lower case. The default is to convert
194: Fortran programs to lower case except within character string constants.
195: .PP
196: Other arguments
197: are taken
198: to be either loader option arguments, or F77-compatible
199: object programs, typically produced by an earlier
200: run,
201: or perhaps libraries of F77-compatible routines.
202: These programs, together with the results of any
203: compilations specified, are loaded (in the order
204: given) to produce an executable program with name
205: `a.out'.
206: .PP
207: Programs compiled with
208: .I f77
209: produce memory dumps in file
210: .I core
211: upon abnormal termination if the
212: .B \(mig
213: flag was specified during loading.
214: If the environment variable
215: .I f77_dump_flag
216: is set to a value beginning with
217: .B y
218: or
219: .BR n ,
220: dumps for abnormal terminations are respectively forced or
221: suppressed.
222: .SH FILES
223: .nf
224: .ta \w'/usr/lib/libF77_p.a 'u
225: file.[fFresc] input file
226: file.o object file
227: a.out loaded output
228: ./fort[pid].? temporary
229: /usr/lib/f77pass1 compiler
230: /lib/f1 pass 2
231: /lib/c2 optional optimizer
232: /lib/cpp C preprocessor
233: /usr/lib/libF77.a intrinsic function library
234: /usr/lib/libI77.a Fortran I/O library
235: /usr/lib/libU77.a UNIX interface library
236: /usr/lib/libm.a math library
237: /lib/libc.a C library, see section 3
238: /usr/lib/libF77_p.a profiling intrinsic function library
239: /usr/lib/libI77_p.a profiling Fortran I/O library
240: /usr/lib/libU77_p.a profiling UNIX interface library
241: /usr/lib/libm_p.a profiling math library
242: /usr/lib/libc_p.a profiling C library, see section 3
243: mon.out file produced for analysis by prof(1).
244: gmon.out file produced for analysis by gprof(1).
245: .fi
246: .SH "SEE ALSO"
247: S. I. Feldman,
248: P. J. Weinberger,
249: J. Berkman,
250: .I
251: A Portable Fortran 77 Compiler
252: .br
253: D. L. Wasley,
254: J. Berkman,
255: .I
256: Introduction to the f77 I/O Library
257: .br
258: fpr(1), fsplit(1), ld(1), ar(1), ranlib(1), dbx(1), intro(3f)
259: .br
260: efl(1), ratfor(1), struct(1), prof(1), gprof(1), cc(1)
261: .SH DIAGNOSTICS
262: The diagnostics produced by
263: .I f77
264: itself are intended to be
265: self-explanatory.
266: Occasional messages may be produced by the loader.
267: .SH BUGS
268: Files longer than about 50,000 lines must be split up to be compiled.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.