KAI C++ en Sink Man Page for All Platforms
Man Page

KCC Option  Rating   Platform  Summary
-32
-64
-n32
PG
Irix6
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
SR8000
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
SR8000
Causes the compiler to support the LP64 programing model. This option is equivalent to the options -lp64 and +lp64.
+A PG
HP
HP-only synonym for the portable -Bstatic option.
--[no_]abstract_float PG
generic
Help the optimizer by asserting that your program does [or does not] treat float and double as abstract types
--[no_]abstract_pointer PG
generic
Help the optimizer by asserting that your program does [or does not] treat pointers as an abstract type
--[no_]alternative_tokens G
generic
[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
Alpha
Lets backend C compiler presume ANSI aliasing rules.  See cc(1).
-arch option PG
Alpha
Specifies version of Alpha architecture.  See cc(1).
-Bdynamic
-Bstatic
PG
AIX
HP
Irix
Linux
Sparc
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
Alpha
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
Irix
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
generic
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
generic
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
generic
Treat input file as C++.  This is the default.
--c G
generic
Treat input file as ANSI C.
--cfront_2.1
--cfront_3.0
PG
generic
Use antiquated Cfront syntax rules.  Caveat: Some header files in the standard library depend upon ISO syntax rules.
--no_code_gen PG
generic
Check syntax, but do not generate an object file (or intermediate .int.c file).
--component_time G
generic
Issue a summary of the seconds of CPU time required for the major compilation steps.  Some steps always take zero time on some platforms. 
StepActivity
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
Alpha
Procedure rearranger.  See cc(1).
--cpfe_only R
generic
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
generic
Specifies that precompiled headers may be created for a future --use_pch compilation.
-D variable[=value]
-U variable
G
generic
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
HP
Choose PA-RISC architecture.  See cc(1) for details.
+DD64 PG
HP
Formats code for a 64 bit wide address space.  See cc(1) for details.
+DSmodel PG
HP
Choose instruction scheduler.  See cc(1) for details.
--diag_error n1[,n2,...] PG
generic
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
generic
Suppress diagnostic messages with numbers n1,n2,....  Use --display_error_number to find out the value of n1,n2,....
--display_error_number G
generic
Display the number for a message along with diagnostic messages. Useful in conjunction with the --diag_suppress option.
-E PG
generic
Preprocess the input file and stop.  The output is written to stdoutCaveat: on KCC 3.x, this option cannot be combined with --output_dependencies.
--[no_]exceptions G
generic
[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
Alpha
Sparc
Select compiler options for speed.  See cc(1).  Be sure to combine this with +K3.
-fPIC
-fpic
PG
Linux
Produce position-independent code.
-fprm
-fptm
PG
Alpha
IEEE support.  See cc(1).
-fp_reorder PG
Alpha
Allow algebraic rewriting of floating-point computations.  See cc(1).
-fsimple PG
Sparc
Simple floating-point model.  See cc(1).
-G PG
HP
SR8000
Allow profiling with gprof(1).
-G num PG
Alpha
Specify maximum size in bytes for data items assigned to small data area.  See cc(1).
-g PG
generic
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
Sparc
Solaris-only synonym for the portable --soname option. 
-i PG
Sparc
Ignore the LD_LIBRARY_PATH setting.
-ieee_with_inexact PG
Alpha
Assure full IEEE support.  See cc(1).
--include_directory dir
-Idir
G
generic
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
generic
[Disable or] Enable implicit inclusion for templates. Beginning on KCC 3.3 this feature is disabled by default.
-nostdinc
--no_standard_includes
R
generic
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
generic
Control the increase in code size resulting from inlining functions.
--[no_]inline_intrinsics PG
Irix
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
generic
Synonym for --old_c.
+K0 G
generic
Turn off all high-level optimizations and set -g.  Use this level for debugging.
+K1 G
generic
Enable inlining.
+K2 G
generic
Enable lightweight object optimizations (and +K1 features).
+K3 G
generic
Enable branch simplification, +K2, and selected backend compiler optimizations.
--keep_gen_c
-k
R
generic
Retain intermediate C source file after compilation.  The file has the .int.c extension.
-KPIC
-Kpic
PG
Sparc
Produce position-independent code.  See cc(1).
--library_directory dir
-Ldir
G
generic
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
AIX
Alpha
Irix
Linux
Sparc
Link with library foo.  The library is presumed to have a name of the form libfoo.a or libfoo.so.
-lfoo G
HP
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
generic
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
generic
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
Linux
Strict ISO C++ extended by the non-standard syntax found in /usr/include/types.h.
--[no]longlong
--[no_]long_long
PG
AIX
[Disallow or] Allow the long long data type.
+lp32
-lp32
PG
SR8000
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
SR8000
Causes the compiler to support the LP64 programing model. These options are equivalent to the -64 option.
-M PG
generic
Generate dependence information for make.  Unlike --output_dependencies, compilation does not occur.
-m R
generic
Synonym for --c.
--max_pending_instantiations n PG
generic
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
Irix5
Chooses instruction set (ABI) for code generation.  See man pages for cc(1).
-mips[1234] PG
Irix6
Chooses instruction set (ABI) for code generation.  See man pages for cc(1) and abi(5).
-mt PG
Sparc
Solaris-only synonym for the portable --thread_safe option. 
--[no_]multibyte_chars PG
generic
[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
SR8000
Set low-level optimization level;  equivalent to -On.
-O
-On
G
generic
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
Alpha
Limit global optimizer.  See cc(1).
-o  file G
generic
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
generic
Treat the input file as K&R C.
--one_instantiation_per_object
--one_per
G
generic
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
generic
Cause dependencies suitable for make(1) to be written to file. Unlike -M, compilation also occurs. 
--output_restrict R
Irix6
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
Alpha
Irix
Allow profiling.  See cc(1).
-p PG
Linux
SR8000
Sparc
Allow profiling.  See cc(1).
-p PG
SR8000
Generates profiling object code with prof.  See cc(1).
--parallel_build n PG
generic
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
generic
Create and/or use precompiled headers.
--pch_dir dir G
generic
Specifies that precompiled headers should be created or sought in directory dir.
--[no_]pch_messages G
generic
[Disable or] Enable messages concerning precompiled headers.  The default is to enable the messages.
-pg PG
Alpha
Linux
Sparc
Allow profiling by gprof.  See cc(1).
--pic PG
Irix
Produce position-independent code.
-qldbl128 PG
AIX
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
AIX-only synonym for the portable --[no_]multibyte_chars option.
-qnostdinc R
AIX
AIX-only synonym for the dangerous --no_standard_includes option.
-R dir[:dir...] PG
Sparc
Specify search path for run-time linker.  See cc(1).
-readonly_strings PG
Alpha
Make string literals read-only.  This is the default.  See cc(1).
--restrict PG
generic
Allow keyword restrict.  This may improve optimization.
-rpath dir[:dir...] PG
AIX
Alpha
Irix
Linux
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
AIX
Irix
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
generic
Select whether a variable of type char is treated as signed char or unsigned char.  The default is unsigned char.
--soname libname G
generic
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
generic
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
generic
[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
Alpha
Tune to specifc version of Alpha architecture.  See cc(1).
--[no_]implicit_typename PG
generic
[Waive or] Request the implicit typename language extension. 
--use_pch file PG
generic
Use the precompiled header file, made by a previous --create_pch compilation. 
-v PG
generic
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
generic
Print the compiler version information.  On some platforms, the --version form gives more detailed information about subcomponents.
-Wl,-a,option PG
HP
Acts similar to HP's cc->ld option.  Use -Bstatic or -Bdynamic for cross-platform compatibility.
-w R
generic
Disables compilation warning messages generated by the KAI C++ front-end.
-writable_strings PG
Alpha
Make string literals writable.  See cc(1).
-x R
generic
Synonym for --exceptions.  This spelling is deprecated and will vanish in future KCC releases.
-Z PG
HP
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
HP
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
HP
Generate position independent code.  See cc(1).


Copyright © 1997-1999. All rights reserved. Technical Support

 

This file last updated on 26 October 1999.