


      FFFF77777777((((1111))))                       ((((RRRRiiiiddddggggeeee))))                       FFFF77777777((((1111))))



      NNNNAAAAMMMMEEEE
           f77 - FORTRAN 77 compiler

      SSSSYYYYNNNNTTTTAAAAXXXX
           FFFF77777777 [ _o_p_t_i_o_n_s ] ... _f_i_l_e ...

      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
           _F_7_7 activates the FORTRAN compiler.

           File arguments ending with ....ffff are taken to be FORTRAN 77
           source programs.  A compiled object file gets the same name
           as the source, but with ....oooo substituted for the ....ffff .

           File arguments ending with ....FFFF are preprocessed by the C
           preprocessor before being compiled by _F_7_7.

           File arguments ending with ....eeee or ....rrrr are taken to be EFL or
           Ratfor source programs, respectively.  These are
           preprocessed by the appropriate preprocessor before FORTRAN
           compilation.

           File arguments ending with ....cccc or ....ssss are take to be C or
           assembly source programs, respectively, and are compiled or
           assembled appropriately, producing a ....oooo file.

           See _l_d(_1) for link-time options.

           ----66666666  Compile FORTRAN 66 code only.  Use of FORTRAN 77
                features and extensions will produce fatal errors if
                this option is used.

           ----cccc   Suppress loading and produce ....oooo files for each source
                file.

           ----dddd_n_n_n (,_n_n_n)
                Turns on selected debugging output.  _n_n_n turns
                different statements on and must be in the range of 0 -
                20.

           ----gggg   Produce additional symbol table information.

           ----oooo_o_u_t_p_u_t
                Name the final output file _o_u_t_p_u_t instead of aaaa....oooouuuutttt.

           ----wwww   Suppress all warning messages.

           ----wwww66666666 Suppress FORTRAN 66-compatible warnings only.

           ----DDDD_n_a_m_e=_d_e_f
                Define _n_a_m_e to the C preprocessor, as if by "#define".
                If no "=_d_e_f" is given, the _n_a_m_e is defined as "1".
                (For ....FFFF files only).



      Page 1                                                   (9010-E)






      FFFF77777777((((1111))))                       ((((RRRRiiiiddddggggeeee))))                       FFFF77777777((((1111))))



           ----IIII_d_i_r
                Search for "#include" files (whose names do not start
                with "/") in the directory of _f_i_l_e, then search in
                directory _d_i_r, then in directories in a standard list.

           ----OOOO   Invoke the global and "peephole" optimizers.  See BBBBUUUUGGGGSSSS.

           ----OOOO1111  Invoke the global optimizer. Use on compilable programs
                only.  See BBBBUUUUGGGGSSSS.

           ----OOOO2222  Invoke the post-pass peephole optimizer.

           ----SSSS   Compile the named _f_i_l_es, and leave the assembly-
                language output in files with ....ssss suffixes.  Do not
                create ....oooo files.

           ----TTTT_x _n_a_m_e
                Use an alternate pass or alternate temporary prefix.  _x
                can be one of the following letters:

                1    Compiler
                2    Pass2
                a    Assembler
                l    Loader
                F    Start module (crt0.o)
                m    Macro preprocessor (m4)
                t    Temporary file prefix (fort)

                _n_a_m_e is the full path name of the alternate pass or the
                alternate temporary prefix.

           ----iiii2222  Define undeclared integer constants and variables as 16
                bits.  (32 bits is the default size of undeclared
                integers.)

           ----iiii4444  Use the default 32-bit size integers.

           ----llll_x  Use the paragraph describing the -l_x option to _l_d(_1).

           ----mmmm4444  Use the _M_4(_1) preprocessor on each ....rrrr file before using
                Ratfor or EFL.

           ----mmmmaaaapppp produce a loadmap in the file _f_i_l_e....mmmmaaaapppp

           ----oooonnnneeeettttrrrriiiipppp
                or

           ----1111   Compile DO-loops to be executed at least once if
                reached.  (Standard F77 DO-loops are not executed at
                all if the iteration test fails initially.)

           ----uuuu   Set the type of undefined variables to "undefined"



      Page 2                                                   (9010-E)






      FFFF77777777((((1111))))                       ((((RRRRiiiiddddggggeeee))))                       FFFF77777777((((1111))))



                rather than use FORTRAN rules for defining undefined
                variables.

           ----vvvv   Print on stderr the string passed to _e_x_e_c(_2) just
                before each of the passes is invoked.

           ----CCCC   Compile code that will check that subscripts are within
                the declared array bounds.

           ----FFFF   Use the Ratfor or C preprocessors on appropriate files,
                and put the result if a file with a ....ffff suffix, but do
                not compile it.

           ----EEEExxxx  Use the string _x as an EFL option in processing ....eeee
                files.

           ----RRRRxxxx  Use the string _x as a Ratfor option in processing ....rrrr
                files.

           ----MMMM   Produce a primitive load map, listing the names of the
                files which will be loaded.

           ----NNNN[[[[qqqqxxxxssssccccnnnn]]]]_n_n_n
                Make static tables in the compiler bigger.  The
                compiler will issue a message if this will be
                necessary.
                q   Maximum number of equivalenced tables.
                    Default is 800.
                x   Maximum number of external names (common block
                    names, subroutine, and function names).  Default
                    is 300.
                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 hash table size.  Default is 1009.

           ----pppp   Arrange for the compiler to produce code which counts
                the number of times each routine is called; also, if
                link editing takes place, replace the standard startoff
                routine by one which automatically calls _m_o_n_i_t_o_r(3C) at
                the start and arranges to write out a mmmmoooonnnn....oooouuuutttt file at
                normal termination of execution of the object program.
                An execution profile can then be generated by use of
                _p_r_o_f(1).

           ----UUUU   Do not convert uppercase letters to lowercase.  The
                default is to convert FORTRAN programs to lowercase
                except within character string constants.

           ----ZZZZ_a_a_a
                Pass the letters _a_a_a directly to pass2 of the compiler.



      Page 3                                                   (9010-E)






      FFFF77777777((((1111))))                       ((((RRRRiiiiddddggggeeee))))                       FFFF77777777((((1111))))



           Other arguments are taken to be loader option arguments, or
           F77 object programs typically produced by a previous run, or
           names of F77 routine libraries. These programs, together
           with the results of compilations specified, are loaded (in
           the order given) to produce an executable program file named
           aaaa....oooouuuutttt.

      FFFFIIIILLLLEEEESSSS
           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
           /lib/libc.a         C library; see section (3)

      SSSSEEEEEEEE AAAALLLLSSSSOOOO
           cc(1), ld(1), efl(1), ratfor(1)

      BBBBUUUUGGGGSSSS
           The optimizer occasionally makes mistakes.  Avoid it when
           debugging if obviously incorrect results are obtained.






























      Page 4                                                   (9010-E)



