Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ bf77(1) — AOS 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

efl(1)

gprof(1)

ld(1)

prof(1)

ratfor(1)

BF77(1)  —  

NAME

bf77 − FORTRAN 77 compiler

SYNOPSIS

bf77 [ option ] ... file ... 

DESCRIPTION

NOTE: Bf77 is at the 4.2BSD level.  It supports the 4.2BSD level run time functions.  See intro(3f) for lists of supported 4.2BSD functions and unsupported 4.3BSD functions.

Bf77 is the FORTRAN 77 compiler.  It accepts several types of arguments:

Arguments with names ending in .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 having a name that of the source, with .o substituted for .f. 

Arguments with names ending in .F are also taken to be FORTRAN 77 source programs; these are processed by the C preprocessor before being compiled by bf77. 

Arguments with names ending in .r or .e are taken to be Ratfor or EFL source programs respectively; these are first transformed by the appropriate preprocessor, then compiled by bf77.

Arguments with names ending in .c or .s are taken to be C or assembly source programs and are compiled or assembled, producing a .o file. 

The following options have the same meaning as in cc(1). See ld(1) for load-time options.

−c Suppress loading and produce .o files for each source file. 

−g Have the compiler produce additional symbol table information for dbx(1). Also pass the −lg flag to ld(1).

−o output
Name the final output file output instead of a.out. 

−p Prepare object files for profiling, see prof(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 gmon.out file at normal termination. An execution profile can then be generated by use of gprof(1).

−w Suppress all warning messages.  If the option is “−w66”, only FORTRAN 66 compatibility warnings are suppressed. 

−Dname=def

−Dname
Define the name to the C preprocessor, as if by “#define”. If no definition is given, the name is defined as 1. ( .F suffix files only). 

−Idir “#include” files with names not beginning in “/” are always sought first in the directory of the file argument, then in directories named in −I options, then in directories on a standard list. ( .F suffix files only). 

−O Invoke an object-code optimizer. 

−S Compile the named programs, and leave the assembler-language output on corresponding files suffixed .s.  (No .o is created.). 

The following options are peculiar to bf77.

−i2 On machines which support short integers, make the default integer constants and variables short.  (−i4 is the standard value of this option). All logical quantities will be short. 

−m Apply the M4 preprocessor to each .r file before transforming it with the Ratfor or EFL preprocessor. 

−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.) 

−u Make the default type of variables “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. 

−F Apply the C, EFL, or Ratfor preprocessors to relevant files, put the result in the file with the suffix changed to .f, but do not compile. 

−Ex Use the string x as an EFL option in processing .e files. 

−Rx Use the string x as a Ratfor option in processing .r files. 

−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. 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 character string constants. 

Other arguments are taken to be either loader option arguments, or bf77-compatible object programs, typically produced by an earlier run, or perhaps libraries of bf77-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. 

FILES

file.[fFresc]input file
file.oobject file
a.outloaded output
./fort[pid].?temporary
/usr/lib/f77pass1compiler
/lib/f1pass 2
/lib/c2optional optimizer
/lib/cppC preprocessor
/usr/lib/libF77.aintrinsic function library
/usr/lib/libI77.aFORTRAN I/O library
/usr/lib/libU77.ainterface library
/usr/lib/libF77_p.aprofiling intrinsic function library
/usr/lib/libI77_p.aprofiling FORTRAN I/O library
/usr/lib/libU77_p.aprofiling interface library
/lib/libc.aC library, see Section 3
/lib/libc_p.aprofiling C library
mon.outfile produced for analysis by prof(1).
gmon.outfile produced for analysis by gprof(1).

SEE ALSO

S. I. Feldman, P. J. Weinberger, A Portable FORTRAN 77 Compiler
D. L. Wasley, Introduction to the f77 I/O Library
cc(1)
, efl(1), gprof(1), ld(1), prof(1), ratfor(1), f77, hf77

DIAGNOSTICS

The diagnostics produced by bf77 itself are intended to be self-explanatory.  Occasional messages may be produced by the loader. 

BUGS

Floating point expressions are evaluated using IEEE 754 double-precision arithmetic with default rounding and exception handling.  There is presently no support for setting or interrogating rounding and exception modes or exception flags. 

PRPQs 5799-WZQ/5799-PFF: IBM/4.3  —  Sept 1988

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026