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:
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 .