|
|
1.1 root 1: .TH F77 1 "13 May 1983"
2: .UC 4
3: .SH NAME
4: f77 \- Fortran 77 compiler
5: .SH SYNOPSIS
6: .B f77
7: [ option ] ... file ...
8: .SH DESCRIPTION
9: .I F77
10: is the UNIX Fortran 77 compiler.
11: It accepts several types of arguments:
12: .PP
13: Arguments whose names end with `.f' are taken to be
14: Fortran 77 source programs;
15: they are compiled, and
16: each object program is left on the file in the current directory
17: whose name is that of the source with `.o' substituted
18: for '.f'.
19: .PP
20: Arguments whose names end with `.F' are also taken to be Fortran 77 source
21: programs; these are first processed by the C preprocessor before being
22: compiled by
23: .I f77.
24: .PP
25: Arguments whose names end with `.r' or `.e' are taken to be Ratfor
26: or EFL source programs respectively; these are first transformed by the
27: appropriate preprocessor, then compiled by f77.
28: .PP
29: Arguments whose names end with `.c' or `.s' are taken to be C or assembly
30: source programs and are compiled or assembled, producing a `.o' file.
31: .PP
32: The following options have the same meaning as in
33: .IR cc (1).
34: See
35: .IR ld (1)
36: for load-time options.
37: .TP
38: .B \-c
39: Suppress loading and produce `.o' files for each source
40: file.
41: .TP
42: .B \-g
43: Have the compiler produce additional symbol table information for
44: .IR dbx (1).
45: Also pass the
46: .B \-lg
47: flag to
48: .IR ld (1).
49: .TP
50: .BR \-o " output"
51: Name the final output file
52: .I output
53: instead of `a.out'.
54: .TP
55: .B \-p
56: Prepare object files for profiling, see
57: .IR prof (1).
58: .TP
59: .B \-pg
60: Causes the compiler to produce counting code in the manner of
61: .B \-p,
62: but invokes a run-time recording mechanism that keeps more extensive
63: statistics and produces a
64: .I gmon.out
65: file at normal termination. An execution profile can then be generated
66: by use of
67: .IR gprof (1).
68: .TP
69: .BR \-w
70: Suppress all warning messages.
71: If the option is `\-w66', only Fortran 66 compatibility warnings are suppressed.
72: .TP
73: .BI \-D name=def
74: .TP
75: .BI \-D name
76: Define the
77: .I name
78: to the C preprocessor, as if by `#define'. If no definition is given, the name
79: is defined as "1". (`.F' suffix files only).
80: .TP
81: .BI \-I dir
82: `#include' files whose names do not begin with `/' are always sought
83: first in the directory of the
84: .I file
85: argument, then in directories named in
86: .B \-I
87: options, then in directories on a standard list. (`.F' suffix files only).
88: .TP
89: .B \-O
90: Invoke an
91: object-code optimizer.
92: .TP
93: .B \-S
94: Compile the named programs, and leave the
95: assembler-language output on corresponding files suffixed `.s'.
96: (No `.o' is created.).
97: .PP
98: The following options are peculiar to
99: .IR f77 .
100: .TP
101: .B \-i2
102: Make the default integer constants
103: and variables short.
104: .RB ( \-i4
105: is the default for this option). All logical quantities will be short.
106: .TP
107: .BR \-m
108: Apply the M4 preprocessor to each `.r' file before transforming
109: it with the Ratfor or EFL preprocessor.
110: .TP
111: .SM
112: .BR \-onetrip
113: Compile DO loops that are performed at least once if reached.
114: (Fortran 77 DO loops are not performed at all if the upper limit is smaller than the lower limit.)
115: .TP
116: .BR \-u
117: Make the default type of a variable `undefined' rather than using the default Fortran rules.
118: .TP
119: .BR \-v
120: Print the version number of the compiler, and the name of each pass as it
121: executes.
122: .TP
123: .BR \-C
124: Compile code to check that subscripts are within declared array bounds.
125: .TP
126: .BR \-F
127: Apply the C, EFL, or Ratfor preprocessors to relevant files, put the
128: result in the file with the suffix changed to `.f', but do not compile.
129: .TP
130: .BI \-E x
131: Use the string
132: .I x
133: as an EFL option in processing `.e' files.
134: .TP
135: .BI \-R x
136: Use the string
137: .I x
138: as a Ratfor option in processing `.r' files.
139: .TP
140: \fB\-N\fR[\fBqxscn\fR]\fInnn
141: Make static tables in the compiler bigger. The compiler will complain
142: if it overflows its tables and suggest you apply one or more of these
143: flags. These flags have the following meanings:
144: .RS
145: .TP
146: .B q
147: Maximum number of equivalenced variables. Default is 150.
148: .TP
149: .B x
150: Maximum number of external names (common block names, subroutine and
151: function names). Default is 200.
152: .TP
153: .B s
154: Maximum number of statement numbers. Default is 401.
155: .TP
156: .B c
157: Maximum depth of nesting for control statements (e.g. DO loops). Default is
158: 20.
159: .TP
160: .B n
161: Maximum number of identifiers. Default is 1009.
162: .RE
163: .TP
164: .BR \-U
165: Do not convert upper case letters to lower case. The default is to convert
166: Fortran programs to lower case except within character string constants.
167: .PP
168: Other arguments
169: are taken
170: to be either loader option arguments, or F77-compatible
171: object programs, typically produced by an earlier
172: run,
173: or perhaps libraries of F77-compatible routines.
174: These programs, together with the results of any
175: compilations specified, are loaded (in the order
176: given) to produce an executable program with name
177: `a.out'.
178: .SH FILES
179: .nf
180: .ta \w'/usr/lib/libF77_p.a 'u
181: file.[fFresc] input file
182: file.o object file
183: a.out loaded output
184: ./fort[pid].? temporary
185: /usr/lib/f77pass1 compiler
186: /lib/f1 pass 2
187: /lib/c2 optional optimizer
188: /lib/cpp C preprocessor
189: /usr/lib/libF77.a intrinsic function library
190: /usr/lib/libI77.a Fortran I/O library
191: /usr/lib/libU77.a UNIX interface library
192: /usr/lib/libF77_p.a profiling intrinsic function library
193: /usr/lib/libI77_p.a profiling Fortran I/O library
194: /usr/lib/libU77_p.a profiling UNIX interface library
195: /lib/libc.a C library, see section 3
196: mon.out file produced for analysis by prof(1).
197: gmon.out file produced for analysis by gprof(1).
198: .fi
199: .SH "SEE ALSO"
200: S. I. Feldman,
201: P. J. Weinberger,
202: .I
203: A Portable Fortran 77 Compiler
204: .br
205: D. L. Wasley,
206: .I
207: Introduction to the f77 I/O Library
208: .br
209: prof(1), gprof(1), cc(1), ld(1), efl(1), ratfor(1)
210: .SH DIAGNOSTICS
211: The diagnostics produced by
212: .I f77
213: itself are intended to be
214: self-explanatory.
215: Occasional messages may be produced by the loader.
216: .SH BUGS
217: This compiler is still somewhat experimental.
218: The optimizer occasionally makes mistakes;
219: it should be avoided when debugging if apparently incorrect results
220: are obtained.
221: Because of an assembler error, complaints about long branches may occur
222: with very large source files; such errors can be avoided by splitting
223: the sources into smaller sections.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.