include "images/header.html"; ?>
omcc - Multi-configuration Omni OpenMP C compiler
- NAME
- omcc - Multi-configuration Omni OpenMP C compiler
- SYNOPSIS
-
omcc [driver-options] [compiler-options] filename ...
- DESCRIPTION
-
omcc is a program to compile OpenMP programs written in C.
omcc processes input files through one or more of four stages:
preprocessing, compilation, assembly, and linking. This man page
contains descriptions for only omcc-specific
aspects of the compiler, though it also contains summaries
of some general-purpose options. For a fuller explanation
of the compile options, see options of the backend compiler which
is specified in the installation. C source files use the suffix '.c'.
- 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.
- PRE-DEFINED C PREPROCESSOR MACROS
-
omcc defines various C preprocessor macros automatically, depend on the
configuration specfied by -omniconfig option.
__OMNI_CPU_ARCH__
- ARCH: I386, MIPS, SPARC, ALPHA ...
__OMNI_OS_SYSTEM__
- SYSTEM: LINUX, SOLARIS, IRIX ...
__OMNI_SPIN_LOCK__
- Defined if the configuration matches 'spin-*'.
__OMNI_MUTEX_LOCK__
- Defined if the configuration matches 'mutex-*'.
__OMNI_PTHREAD__
- Defined if the configuration matches '*-pthread'.
__OMNI_SOLARIS_THREAD__
- Defined if the configuration matches '*-solaris'.
__OMNI_SPROC__
- Defined if the configuration matches '*-sproc'.
__OMNI_SHMEM__
- Defined if the configuration is 'shmem'.
__OMNI_SCASH__
- Defined if the configuration is 'scash'.
__OMNI_STACKTHREADS__
- Defined if the configuration is 'stackthreads'.
- ENVIRONMENT VARIABLES
-
In addition to OpenMP standard environment variables
Omni environment variables controls the parallel execution.
See Omni Environment Variables .
- FILES
-
- bin/omcc -- Omni C compile driver
- lib/openmp/libexec/C-front -- C front end (C to Xobj translator)
- lib/openmp/libexec/C-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/ompc_main.o -- Omni OpenMP start off routine
- lib/openmp/lib/include/omp.h -- OpenMP standard include file
- lib/openmp/lib/include/tlog.h -- Omni OpenMP profile header file
- lib/openmp/lib/include/stdarg.h -- stdarg.h for Omni OpenMP
- lib/openmp/examples/ -- OpenMP example source code (C, Fortran)
- include/omniConfig.h -- configuration information header of
compilation time of Omni itself
-
Unsupported Features and Known BUGS
-
- 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 variables of non-master threads is not
initialized properly. Use "copyin" clause to initialize them explicitly.
- The semantics for const-qualified variables in OpenMP is not
fully implemented.
- "#file ..." directives are not recognized.
- 64 bit platforms are supported as a beta state. May be not fully
functional yet. For more detail of Omni 64 bit environment, See Omni 64 bit environment status .
include "images/footer.html"; ?>