include "images/header.html"; ?>
omf77 - Multi-configuration Omni OpenMP Fortran 77 compiler
- NAME
- omf77 - Multi-configuration Omni OpenMP Fortran 77 compiler
- SYNOPSIS
-
omf77 [driver-options] [compiler-options] filename ...
- DESCRIPTION
-
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.
- -t
- Leave intermediate file "tmp.x", "tmp.xx", "tmp.c".
- -v
- Verbose mode. Echo the executed commands.
- -omp
- Ignore OpenMP pragma.
- -i#
- 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
-
Unsupported Features, Known Problem, BUGS and Implementation specifications
-
- Gcc-2.9.6 is not supported.
Gcc-2.9.6 is default compiler of RedHat-7.0/7.1 x86 package.
Please install gcc-3.0 or gcc-2.9.5 at this platform.
- Dummy procedures must be declared by the "external" statement.
- Local variables in the main program are allocated statically
without the "save" statement.
- ASSIGN statement works only for assignment GOTO, not fot FORMAT
statement label and variable GOTO.
- The assignment GOTO without the list of statement labels is not
supported.
- Cray pointer extension is supported but doesn't work for
CHARACTER variable/array. And MALLOC, FREE are not implemented.
- In DATA statement, uninitialized area of character variable is
initialized by ascii SPC (0x20), not NUL (0x00). This is compatible
to many f77 implementation, but incompatible to f2c.
- Using a local adjustable array as a dummy argument of the ENTRY
statement is treated as an error.
- Linking of a common block that has different length in between
separated source files depends on backend C compiler. Some linker
might be warning as incompatible length symbol, or treat it as an error.
- These features were not fully tested:
- String(character)s, especially copying, comparison, and substring.
- Direct access I/O mode.
- Cray pointer extension.
- Dynamic adjustment of the number of threads is not supported.
- Nested parallelism is partially supported. As long as idle threads
are available, the threads are used to execute nested parallel regions.
- The threadprivate commons or variables of non-master threads is not
initialized properly. Use "copyin" clause to initialize them explicitly.
- The named threadprivate variables in "copyin" clause is not
supported yet.
- 64 bit platforms are supported. For more detail of Omni 64 bit
environment, See Omni 64 bit environment
status .
- 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 .
include "images/footer.html"; ?>