F77(1) F77(1) NAME f77 - Fortran 77 compiler SYNOPSIS f77 [ option ] ... file ... DESCRIPTION _F_7_7 is the UNIX Fortran 77 compiler. It accepts several types of argu‐ ments: 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’. Arguments whose names end with ‘.F’ are also taken to be Fortran 77 source programs; these are first processed by the C preprocessor before being compiled by _f_7_7_. Arguments whose names end with ‘.r’ or ‘.e’ are taken to be Ratfor or EFL source programs respectively; these are first transformed by the appropriate preprocessor, then compiled by f77. Arguments whose names end with ‘.c’ or ‘.s’ are taken to be C or assem‐ bly source programs and are compiled or assembled, producing a ‘.o’ file. The following options have the same meaning as in _c_c(1). See _l_d(1) for load-time options. -c Suppress loading and produce ‘.o’ files for each source file. -g Produce additional symbol table information for _d_b_x(1) and pass the -lg flag to _l_d(1) so that on abnormal terminations, the mem‐ ory image is written to file _c_o_r_e. Incompatible with -O. -o output Name the final output file _o_u_t_p_u_t instead of ‘a.out’. -p Prepare object files for profiling, see _p_r_o_f(1). -pg Causes the compiler to produce counting code in the manner of -p, but invokes a run-time recording mechanism that keeps more extensive statistics and produces a _g_m_o_n_._o_u_t file at normal ter‐ mination. An execution profile can then be generated by use of _g_p_r_o_f(1). -w Suppress all warning messages. If the option is ‘-w66’, only Fortran 66 compatibility warnings are suppressed. -D_n_a_m_e_=_d_e_f -D_n_a_m_e Define the _n_a_m_e to the C preprocessor, as if by ‘#define’. If no definition is given, the name is defined as "1". (‘.F’ suffix files only). -I_d_i_r ‘#include’ files whose names do not begin with ‘/’ are always sought first in the directory of the _f_i_l_e argument, then in directories named in -I options, then in directories on a stan‐ dard list. (‘.F’ suffix files only). -O Invoke an object-code optimizer. Incompatible with -g. -S Compile the named programs, and leave the assembler-language output on corresponding files suffixed ‘.s’. (No ‘.o’ is cre‐ ated.). The following options are peculiar to _f_7_7. -d Used for debugging the compiler. -i2 On machines which support short integers, make the default inte‐ ger constants and variables short. (-i4 is the standard value of this option). All logical quantities will be short. -q Suppress printing of file names and program unit names during compilation. -m Apply the M4 preprocessor to each ‘.r’ file before transforming it with the Ratfor or EFL preprocessor. -onetrip -1 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.) -r8 Treat all floating point variables, constants, functions and intrinsics as double precision and all complex quantities as double complex. -u Make the default type of a variable ‘undefined’ rather than using the default Fortran rules. -v Print the version number of the compiler, and the name of each pass as it executes. -C Compile code to check that subscripts are within declared array bounds. For multi-dimensional arrays, only the equivalent lin‐ ear subscript is checked. -F Apply the C preprocessor to ‘.F’ files, and the EFL, or Ratfor preprocessors to ‘.e’ and ‘.r’ files, put the result in the file with the suffix changed to ‘.f’, but do not compile. -E_x Use the string _x as an EFL option in processing ‘.e’ files. -R_x Use the string _x as a Ratfor option in processing ‘.r’ files. -N[qxscn]_n_n_n 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. These flags have the following meanings: q Maximum number of equivalenced variables. Default is 150. x Maximum number of external names (common block names, subroutine and function names). Default is 200. s Maximum number of statement numbers. Default is 401. c Maximum depth of nesting for control statements (e.g. DO loops). Default is 20. n Maximum number of identifiers. Default is 1009. -U Do not convert upper case letters to lower case. The default is to convert Fortran programs to lower case except within charac‐ ter string constants. 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’. Programs compiled with _f_7_7 produce memory dumps in file _c_o_r_e upon abnormal termination if the −−g flag was specified during loading. If the environment variable _f_7_7__d_u_m_p__f_l_a_g is set to a value beginning with y or n, dumps for abnormal terminations are respectively forced or sup‐ pressed. FILES file.[fFresc] input file file.o object file a.out loaded output /usr/lib/f77pass1 compiler /lib/f1 pass 2 /lib/c2 optional optimizer /lib/cpp C preprocessor /usr/lib/libF77.a intrinsic function library /usr/lib/libI77.a Fortran I/O library /usr/lib/libU77.a UNIX interface library /usr/lib/libm.a math library /lib/libc.a C library, see section 3 /usr/lib/libF77_p.a profiling intrinsic function library /usr/lib/libI77_p.a profiling Fortran I/O library /usr/lib/libU77_p.a profiling UNIX interface library /usr/lib/libm_p.a profiling math library /usr/lib/libc_p.a profiling C library, see section 3 mon.out file produced for analysis by prof(1). gmon.out file produced for analysis by gprof(1). SEE ALSO S. I. Feldman, P. J. Weinberger, J. Berkman, _A _P_o_r_t_a_b_l_e _F_o_r_t_r_a_n _7_7 _C_o_m_‐ _p_i_l_e_r D. L. Wasley, J. Berkman, _I_n_t_r_o_d_u_c_t_i_o_n _t_o _t_h_e _f_7_7 _I_/_O _L_i_b_r_a_r_y fpr(1), fsplit(1), ld(1), ar(1), ranlib(1), dbx(1), intro(3f) efl(1), ratfor(1), struct(1), prof(1), gprof(1), cc(1) DIAGNOSTICS The diagnostics produced by _f_7_7 itself are intended to be self-explana‐ tory. Occasional messages may be produced by the loader. BUGS Files longer than about 50,000 lines must be split up to be compiled. 4th Berkeley Distribution May 5, 1986 F77(1)