-32 -64 -n32 |
PG |
|
Choose one of the SGI code formats.
Objects built with different formats are not link-compatible.
The available formats and the choice of
default format can differ among KCC installations. |
-32 |
PG |
|
Causes the compiler to support the ILP32 programing
model, which is the default programing model.
This option is equivalent to the options
-lp32 and +lp32. |
-64 |
PG |
|
Causes the compiler to support the LP64 programing
model. This option is equivalent to the options
-lp64 and +lp64. |
+A |
PG |
|
HP-only synonym for the portable -Bstatic option.
|
--[no_]abstract_float |
PG |
|
Help the optimizer by
asserting that your program does [or does not]
treat float and double as
abstract types.
|
--[no_]abstract_pointer |
PG |
|
Help the optimizer by
asserting that your program does [or does not]
treat pointers as an
abstract type.
|
--[no_]alternative_tokens |
G |
|
[Disable or] Enable parsing of the
ISO section 2.5 Alternative Tokens
comprising the following digraphs and additional reserved words.
These are disabled by default,
but enabled in --strict mode.
ISO C++ | C |
ISO C++ | C |
<% | { |
%> | } |
<: | [ |
:> | ] |
%: | # |
%:%: | ## |
and | && |
or | || |
not | ! |
not_eq | != |
bitand | & |
and_eq | &= |
bitor | | |
or_eq | |= |
xor | ^ |
xor_eq | ^= |
compl | ~ |
|
-ansi_alias |
PG |
|
Lets backend C compiler presume ANSI aliasing rules. See cc(1). |
-arch option |
PG |
|
Specifies version of Alpha architecture. See cc(1). |
-Bdynamic -Bstatic |
PG |
|
Use the archive (static) or shared (dynamic) version of a library if it finds both.
Affects all `-l ' library searches to its right, until the next `-B ' option.
|
-Bdynamic -Bstatic |
PG |
|
Use the archive (static) or shared (dynamic) version of a library if it finds both.
Affects all `-l ' library searches to its right, until the next `-B ' option.
On Digital Unix 3.0 (only) these affect all library searches
and may not be combined with the opposite `-B ' option.
|
--dynamic_libKCC --static_libKCC |
R |
|
Choose static or dynamic linkage for the KCC support library, independently of
libc or other libraries added thereafter by the backend compiler.
|
--backend option |
R |
|
Pass option to the backend C compiler.
This is for advanced users who want
to assume some control over the backend C compiler.
|
-c |
G |
|
Suppress the loading phase of the compilation process
and force an object file with the .o
extension to be produced for each input source file.
|
--c++ |
G |
|
Treat input file as C++. This is the default. |
--c |
G |
|
Treat input file as ANSI C. |
--cfront_2.1 --cfront_3.0 |
PG |
|
Use antiquated Cfront syntax rules.
Caveat:
Some header files in the standard library depend upon ISO syntax rules.
|
--no_code_gen |
PG |
|
Check syntax, but do not generate an object file
(or intermediate .int.c file).
|
--component_time |
G |
|
Issue a summary of the seconds of CPU time required for the major
compilation steps. Some steps always take zero time on
some platforms.
Step | Activity |
Front End |
Parsing, optimization & lowering to C |
Code Generation |
Generating an object file from intermediate C |
Prelink |
Template instantiation |
Link |
Creation of an executable or library |
Static init |
Handling of static initialized objects |
|
-cord |
PG |
|
Procedure rearranger. See cc(1). |
--cpfe_only |
R |
|
Run the front-end of the compiler only, producing an intermediate C
source file which has the .int.c extension.
Suppress the back-end and linker phases of the compilation process.
Caveat: Intermediate C files are not portable to
compilers other than the recommended back-end C compiler for this
platform.
|
--create_pch file |
PG |
|
Specifies that
precompiled headers
may be created for a future --use_pch compilation.
|
-D variable[=value] -U variable |
G |
|
Define (-D) or undefine (-U) a preprocessing variable.
If `= value' is omitted, variable is defined to be 1 .
Side effects on preprocessor variables occur in left to right order.
All preprocessing options on the KCC command line are considered before the
first input file is preprocessed.
|
+DAarchitecture |
PG |
|
Choose PA-RISC architecture. See cc(1) for details. |
+DD64 |
PG |
|
Formats code for a 64 bit wide address space. See cc(1) for details. |
+DSmodel |
PG |
|
Choose instruction scheduler. See cc(1) for details. |
--diag_error n1[,n2,...] |
PG |
|
Convert messages with numbers n1,n2,...
into errors.
Use --display_error_number to find out the value of
n1,n2,....
|
--diag_suppress n1[,n2,...] |
PG |
|
Suppress diagnostic messages with numbers n1,n2,....
Use --display_error_number to find out the value of
n1,n2,....
|
--display_error_number |
G |
|
Display the number for a message along with diagnostic messages. Useful
in conjunction with the --diag_suppress option.
|
-E |
PG |
|
Preprocess the input file and stop.
The output is written to stdout.
Caveat: on KCC 3.x, this option cannot
be combined with --output_dependencies.
|
--[no_]exceptions |
G |
|
[Disable or] Enable
exception handling.
Exceptions are enabled by default.
C++ object files compiled with opposite settings are not link-compatible.
Supply the same setting whenever you link C++ .o files
into a library or executable.
Note: KCC 3.2 defaulted to --no_exceptions, so you
may need to add this option to older Makefiles to preserve performance.
|
-fast |
PG |
|
Select compiler options for speed. See cc(1).
Be sure to combine this with +K3 .
|
-fPIC -fpic |
PG |
|
Produce position-independent code. |
-fprm -fptm |
PG |
|
IEEE support. See cc(1). |
-fp_reorder |
PG |
|
Allow algebraic rewriting of floating-point computations.
See cc(1).
|
-fsimple |
PG |
|
Simple floating-point model. See cc(1). |
-G |
PG |
|
Allow profiling with gprof(1). |
-G num |
PG |
|
Specify maximum size in bytes for data items assigned to
small data area. See cc(1).
|
-g |
PG |
|
Set -g option for backend C compiler.
Use +K0 to generate debuggable objects,
since just setting -g does not turn off
the KAI C++ optimizations.
|
-h libname |
PG |
|
Solaris-only synonym for the portable --soname option. |
-i |
PG |
|
Ignore the LD_LIBRARY_PATH setting. |
-ieee_with_inexact |
PG |
|
Assure full IEEE support. See cc(1). |
--include_directory dir -Idir |
G |
|
Adds directory dir to the search path for #include files.
The search path always ends with the KCC and system include
directories.
The relative order of -I directories may be significant, but their
interleaving with input filenames is not, since
the search path is fully constructed before the first input file is
preprocessed.
Caveat: Don't add -I/usr/include;
you may prevent the KCC installation from overriding certain
system header files.
|
--[no_]implicit_include |
PG |
|
[Disable or] Enable
implicit inclusion
for templates. Beginning on KCC 3.3 this feature is disabled by default.
|
-nostdinc --no_standard_includes |
R |
|
Do not search the standard include directories to find #include files.
|
--inline_auto_space_time=r --inline_generated_space_time=r --inline_implicit_space_time=r --inline_keyword_space_time=r |
PG |
|
Control the increase in code size resulting from
inlining
functions.
|
--[no_]inline_intrinsics |
PG |
|
This switch disables the inline code for some math intrinsics such as
sqrt() or hypotf() .
Better performance is achieved when these intrinsics are inlined,
so the feature is enabled by default.
However, inline intrinsics violate strict ANSI conformance since
the inline version does not set errno properly.
|
-K |
R |
|
Synonym for --old_c. |
+K0 |
G |
|
Turn off all high-level optimizations and set -g .
Use this level for debugging.
|
+K1 |
G |
|
Enable inlining.
|
+K2 |
G |
|
Enable
lightweight object
optimizations (and +K1 features).
|
+K3 |
G |
|
Enable
branch simplification,
+K2 ,
and selected backend compiler optimizations.
|
--keep_gen_c -k |
R |
|
Retain intermediate C source file after compilation.
The file has the .int.c extension.
|
-KPIC -Kpic |
PG |
|
Produce position-independent code. See cc(1). |
--library_directory dir -Ldir |
G |
|
Add directory dir to the search path for libraries.
This always affects the compiletime search, and under some conditions on some platforms
may also influence the runtime search for shared libraries.
On classical BSD-like systems -L affects only the -l library searches to its right.
Some systems have adapted to the shared library paradigm by making -L affect every
-l on the command line. See ld(1), and cc(1) for details on your platform, and write
portable command lines with -L options to the left of all -l options.
KCC library search paths always implicitly end with the KCC and system library directories.
|
-lfoo |
G |
|
Link with library foo.
The library is presumed to have a name of the form
libfoo.a or libfoo.so.
|
-lfoo |
G |
|
Link with library foo.
The library is presumed to have a name of the form
libfoo.a or libfoo.sl.
|
--link_command_prefix seq |
PG |
|
Use the whitespace-separated words in seq
as a prefix to the link command.
This is used to invoke memory checkers such as Purify or Sentinel
that must control the link step but that do not recognize KCC
as a linker.
|
--lint |
PG |
|
Enable additional lint-type checking. Individual
types of warnings can be suppressed using --diag_suppress.
This option is available starting with KCC version 3.4.
|
--linux_strict |
PG |
|
Strict ISO C++ extended by the non-standard syntax found in
/usr/include/types.h .
|
--[no]longlong --[no_]long_long |
PG |
|
[Disallow or] Allow the long long data type.
|
+lp32 -lp32 |
PG |
|
Causes the compiler to support the ILP32 programing
model, which is the default programing model.
These options are equivalent to the -32 option. |
+lp64 -lp64 |
PG |
|
Causes the compiler to support the LP64 programing
model. These options are equivalent to the -64 option. |
-M |
PG |
|
Generate dependence information for make .
Unlike --output_dependencies , compilation
does not occur.
|
-m |
R |
|
Synonym for --c. |
--max_pending_instantiations n |
PG |
|
Set limits on the number of pending instantiations to n.
The default is 17, which is the limit specified by standard.
Some programming techniques such as "template expressions" require
a higher limit. If you see the error message, "error: excessive recursion
at instantiation of ..." and you have ascertained that the recursion
is not infinite, you should set a higher pending instantiation limit.
|
-mips[12] |
PG |
|
Chooses instruction set (ABI) for code generation.
See man pages for cc(1).
|
-mips[1234] |
PG |
|
Chooses instruction set (ABI) for code generation.
See man pages for cc(1) and abi(5).
|
-mt |
PG |
|
Solaris-only synonym for the portable
--thread_safe option. |
--[no_]multibyte_chars |
PG |
|
[Reject or] Accept multibyte characters in source code,
specifically in comments, string literals, and character constants.
This applies to both C and C++ mode.
|
+On |
G |
|
Set low-level optimization level; equivalent to
-On.
|
-O -On |
G |
|
Set low-level optimization level. The levels are whatever are
supported by the platform's C compiler.
The default is a level appropriate for the +K[0123] setting.
|
-Olimit num |
PG |
|
Limit global optimizer. See cc(1).
|
-o file |
G |
|
Name the generated object (.o),
archive (.a),
shared library (.so or .sl),
or executable file.
Do not use other Unix commands (such as mv ) to
rename an object file that needs template instantiations.
If neither -o nor -c are specified,
KCC will link an executable called a.out .
|
--old_c |
G |
|
Treat the input file as K&R C. |
--one_instantiation_per_object --one_per |
G |
|
Cause each template instance to be produced in a
separate.o object file.
This option should be used when compiling .o files for archive libraries.
The form --one_per is simply an abbreviated spelling.
|
--output_dependencies file |
G |
|
Cause dependencies suitable for make(1) to be written to file.
Unlike -M , compilation also occurs.
|
--output_restrict |
R |
|
Permit the keyword
restrict
to be produced for and used by the backend C compiler.
In some cases this can improve optimizations done there.
|
-p -p[0,1] |
PG |
|
Allow profiling. See cc(1).
|
-p |
PG |
|
Allow profiling. See cc(1).
|
-p |
PG |
|
Generates profiling object code with prof. See cc(1).
|
--parallel_build n |
PG |
|
Fork up to n processes to handle compilation.
Parallel compilation occurs only when there is more than one source
file on the command line.
In some earlier versions, this flag also controlled recompilations
requested by the automatic template instantiation process. This is
no longer true, but expect shorter automatic template instantiation
delays anyway because of an improved algorithm.
|
--pch |
G |
|
Create and/or use
precompiled headers.
|
--pch_dir dir |
G |
|
Specifies that
precompiled headers
should be created or sought in directory dir.
|
--[no_]pch_messages |
G |
|
[Disable or] Enable messages concerning
precompiled headers.
The default is to enable the messages.
|
-pg |
PG |
|
Allow profiling by gprof. See cc(1).
|
--pic |
PG |
|
Produce position-independent code. |
-qldbl128 |
PG |
|
Use IBM's 128bit implementation of long double .
Notice that distinct runtime libraries are used in support of this
option, so -qldbl128 must also be passed to the KCC link lines
used to build long double applications.
|
-q[no]mbcs |
PG |
|
AIX-only synonym for the portable --[no_]multibyte_chars option. |
-qnostdinc |
R |
|
AIX-only synonym for the dangerous --no_standard_includes option. |
-R dir[:dir...] |
PG |
|
Specify search path for run-time linker. See cc(1).
|
-readonly_strings |
PG |
|
Make string literals read-only. This is the default. See cc(1).
|
--restrict |
PG |
|
Allow keyword restrict .
This may improve optimization.
|
-rpath dir[:dir...] |
PG |
|
Add dirs to the search path for runtime linking.
Multiple uses are cumulative.
Caveat: The interactions between -rpath, -L, and
various *PATH environment variables are system dependent.
See ld(1).
|
-show |
PG |
|
Show everything that KAI- and vendor-provided components are asked to do during this compilation.
Use the simpler -v for cross-platform compatibility.
|
--signed_chars --unsigned_chars |
PG |
|
Select whether a variable of type char is treated as
signed char or unsigned char .
The default is unsigned char .
|
--soname libname |
G |
|
When linking a shared library,
cause libname to become the library's name for the
purposes of implicit runtime linkage.
Note: Has no effect on AIX systems.
|
--strict |
G |
|
Enforce strict adherence to
(the approximation of)
ISO standard languages implemented by KAI C++.
KCC --strict
only accepts syntax described by
chapters 1-16 of ISO/IEC 14882:1998(E),
the C++ standard.
To enforce strict adherence to the
ISO C++ library
(chapters 17-27) use
-D__KAI_STRICT .
Use
KCC --c --strict
to only accept syntax described by ISO 9899-1990,
the C language standard.
|
--[no_]thread_safe |
G |
|
[Waive or] Request thread-safe
handling of system-allocated objects.
To guarantee thread safety,
this option must be used when both compiling and linking.
Thread-safe C++ is not link-compatible with (the default) non-thread-safe C++.
|
-tune option |
PG |
|
Tune to specifc version of Alpha architecture. See cc(1). |
--[no_]implicit_typename |
PG |
|
[Waive or] Request the implicit typename
language extension.
|
--use_pch file |
PG |
|
Use the
precompiled header
file, made by a previous --create_pch compilation.
|
-v |
PG |
|
Show KCC driver compilation steps as they occur.
Includes Prelinker automatic template assignments during link steps.
Includes --version information.
Makes normally silent exceptional cases in the driver produce
informative messages.
Makes a valuable addition to some kinds of
problem reports sent to c++support.
|
--version -V |
G |
|
Print the compiler version information.
On some platforms, the --version form gives more detailed information
about subcomponents.
|
-Wl,-a,option |
PG |
|
Acts similar to HP's cc->ld option.
Use -Bstatic or -Bdynamic for
cross-platform compatibility.
|
-w |
R |
|
Disables compilation warning messages generated by the KAI C++ front-end.
|
-writable_strings |
PG |
|
Make string literals writable. See cc(1).
|
-x |
R |
|
Synonym for --exceptions .
This spelling is deprecated and will vanish in future KCC releases.
|
-Z |
PG |
|
Permit dereferencing of NULL pointers.
This is a bad idea,
but it is compatible with HP compilers,
and required for some system library calls,
so -Z is also the default.
|
-z |
PG |
|
Generate code that signals SIGSEGV when it dereferences a NULL pointer.
We strongly recommend using this option.
Caveat: HPUX11 from June 1998
includes a 64bit implementation of setjmp()
that dereferences a NULL pointer.
KCC uses setjmp() to implement C++ try{ } blocks.
You may need a later HPUX11 release to run code compiled +DD64 -z --exceptions.
|
+Z +z |
PG |
|
Generate position independent code.
See cc(1).
|