.TH F77 1 "9 February 1983" .UC 4 .SH NAME f77 \- Fortran 77 compiler .SH SYNOPSIS .B f77 [ option ] ... file ... .SH DESCRIPTION .I F77 is the UNIX Fortran 77 compiler. It accepts several types of arguments: .PP Arguments whose names end with `.f' are taken to be Fortran 77 source programs; they are compiled, and each object program is left on the file in the current directory whose name is that of the source with `.o' substituted for '.f'. .PP Arguments whose names end with `.r' are taken to be Ratfor source programs; these are first transformed by the appropriate preprocessor, then compiled by f77. .PP In the same way, arguments whose names end with `.c' or `.s' are taken to be C or assembly source programs and are compiled or assembled, producing a `.o' file. .PP The following options have the same meaning as in .IR cc (1). See .IR ld (1) for load-time options. .TP .B \-c Suppress loading and produce `.o' files for each source file. .TP .B \-g Have the compiler produce additional symbol table information for .IR adb (1). Also pass the .B \-lg flag to .IR ld (1). .TP .BR \-w Suppress all warning messages. If the option is `\-w66', only Fortran 66 compatibility warnings are suppressed. .TP .B \-p Prepare object files for profiling, see .IR prof (1). .TP .B \-O Invoke an object-code optimizer. (Currently ignored on SUN) .TP .B \-S Compile the named programs, and leave the assembler-language output on corresponding files suffixed `.s'. (No `.o' is created.). .TP .BR \-o " output" Name the final output file .I output instead of `a.out'. .PP The following options are peculiar to .IR f77 . .TP .SM .BR \-onetrip Compile DO loops that are performed at least once if reached. (Fortran 77 DO loops are not performed at all if the upper limit is smaller than the lower limit.) .TP .BR \-u Make the default type of a variable `undefined' rather than using the default Fortran rules. .TP .BR \-C Compile code to check that subscripts are within declared array bounds. .TP .BR \-F Apply the Ratfor preprocessor to relevant files, put the result in the file with the suffix changed to `.f', but do not compile. .TP .BR \-m Apply the M4 preprocessor to each `.r' file before transforming it with the Ratfor preprocessor. .TP .BI \-R x Use the string .I x as a Ratfor option in processing `.r' files. .TP .BI \-N[qxscn] nnn Make static tables in the compiler bigger. The compiler will complain if it overflows its tables and suggest you apply one or more of these flags. .PP Other arguments are taken to be either loader option arguments, or F77-compatible object programs, typically produced by an earlier run, or perhaps libraries of F77-compatible routines. These programs, together with the results of any compilations specified, are loaded (in the order given) to produce an executable program with name `a.out'. .SH FILES .nf .ta \w'/usr/lib/libF77.a 'u file.[frsc] input file file.o object file a.out loaded output ./fort[pid].? temporary /usr/lib/f77pass1 compiler /lib/f1 pass 2 /lib/c2 optional optimizer /usr/lib/libF77.a intrinsic function library /usr/lib/libI77.a Fortran I/O library /usr/lib/libU77.a UNIX interface library /lib/libc.a C library, see section 3 .fi .SH "SEE ALSO" S. I. Feldman, P. J. Weinberger, .I A Portable Fortran 77 Compiler .br prof(1), cc(1), ld(1), ratfor(1) .SH DIAGNOSTICS The diagnostics produced by .I f77 itself are intended to be self-explanatory. Occasional messages may be produced by the loader. .SH BUGS The Fortran 66 subset of the language has been exercised extensively; the newer features have not. .br (SUN only) There are currently two floating-point formats supported. The default format provides quick computation at the expense of accuracy. Code using the alternate format may be produced by using the .B -f flag to the f77 compiler. Libraries are problematical. This situation will go away very soon. .br (SUN only) The FORTRAN optimizer is currently in disarray and is thus not available. The C optimizer, /lib/c2, is confused by some FORTRAN constructs, so its use is inadvisable.