omf77 is a program to compile OpenMP programs written in Fortran77.
omf77 processes input files through one or more of with stages:
compilation, assembly, and linking, with preprocessing as a option.
This compiler is a kind of "f2c" (Fortran to C) program, which use the
native C compiler as the backend.
This man page contains descriptions for only omf77-specific
aspects of the compiler, though it also contains summaries
of some general-purpose options.
omf77 is a translator which translate Fortran 77 program
into a C program. For a fuller explanation
of the compile options, see options of the backend C compiler which
is specified in the installation. Fortran source files use the suffix
'.f' or '.F': Fortran 77 programs to be preprocessed by cpp use
the suffix '.F'.
driver-options:
-help
Display help.
-omniVersion
Display Omni version.
-omniconfig=name
Specify a name of configuration, listed below (Omni configuration and
platform dependent) as examples:
stackthreads
shmem
scash
spin-pthread
....
If not specified, default configuration (depend on Omni configuration
and platform) is used.
-omnicc=backend-cc
Specify a command name of backend C compiler. If not specified,
default C compiler (depend on Omni configuration and platform) is used.
compiler-options:
-c
Compile or assemble the source files, but do not
link. The compiler output is an object file corresponding to each
source file.
-Dmacro
Define macro macro with the string `1' as its definition.
-Dmacro=defn
Define macro macro as defn.
-g
Produce debugging information.
-Idir
Append directory dir to the list of directories
searched for include files.
-Ldir
Add directory dir to the list of directories to be searched for `-l'.
-llibrary
Use the library named library when linking.
-O
Optimize.
-o file
Place output in file.
-S
Stop after the stage of compilation proper; do not assemble.
The output is an assembler code file for each non-assembler input file specified.
-Umacro
Undefine macro macro.
-x
Stop after parsing leaving the intermediate file.
-X
Stop before calling the backend compiler. Leave the intermediate
C file after OpenMP transformation.
INTEGER (integer type declaration without size and implicitly
declared integer type) will be treated
as INTEGER*#. '#' must be one of 2, 4, and 8. The default is 4. 8 is
avairable only when a backend C compiler supports 64 bit integer.
-r#
REAL (single precision real type and implicitly declared real type) will be treated
as REAL*#. '#' must be 4 or 8. The default is 4.
-d#
DOUBLE PRECISION (double precision real type) will be treated
as REAL*#. '#' must be 4 or 8. The default is 8.
-m#
(If configured with '--enable-mreal') Specify a precision of
MULTIPLE PRECISION and/or REAL*16 type with '#' in bits. If '#' is
less than 52, it will be raised to 52.
-u
Treat variables decalared implicitly as error.
-checkNaN
Generate floating point exception checking code.
-coredumpNaN
Generate floating point exception checking code and dumping core when the exception occur.
-pedanticEquivalence
Not allow to be equivalent character variables to other types by
EQUIVALENCE statement.
-pedanticDataType
Not allow to initialize non-character variables with characters
by DATA statement.
-pedanticCommon
Not allow non-standard initialization in common block.
-pedanticAll
Imply all other -pedantic* options.
-doubleAlign
If alignment of double is NOT sizeof double, treat alignment of double is sizeof double.
-disableQCZFolding
Disable complex and quad/multiple precision real (If configured
with '--enable-mreal') constant folding for (slight) precision improvement.
-disableQOpt
(If configured with '--enable-mreal') Disable quad/multiple
precision real specific optimization.
ENVIRONMENT VARIABLES
OMPF77_BYTE_SWAP_IO
If set (as any value) at execution of a program generated by
omf77, I/O runtime routines swap the byte oredr of data for direct
access I/O mode.
In addition to OpenMP standard environment variables
Omni environment variables controls the parallel execution.
See Omni Environment Variables .
FILES
bin/omf77 -- Omni f77 compile driver
lib/openmp/libexec/F-front -- Fortran77 front end (F77 to Xobj
translator)
lib/openmp/libexec/F-back -- Xobj to C translator (available only
when Omni was configured with '--enable-jexcBinary')
lib/openmp/java/exc.jar -- Java exc toolkit jar file
lib/openmp/lib/libompc.a -- Omni OpenMP runtime library
lib/openmp/lib/libtlog.a -- Omni OpenMP profile library
lib/openmp/lib/libf2c.a -- Omni OpenMP fortran runtime library
lib/openmp/lib/ompcf77main.o -- start off routine
lib/openmp/lib/ompcf77main_omp.o -- Omni OpenMP start off routine
lib/openmp/examples/ -- OpenMP example source code (C, Fortran)
lib/openmp/lib/include/omniBackend.h -- Omni header file for
backend C compiler, for some runtime functions
include/omniConfig.h -- configuration information header of
compilation time of Omni itself
If Omni is configured with '--enable-mreal', REAL*16 and MULTIPLE
PRECISION type are supported. For more detail of Omni multiple
precision real support, See omf77 multiple precision
real support .