Simply the Best (& Best Supported) ISO C++ Compiler

Man Page for Solaris 2.x

Man Page

KCC Option  Rating  Summary
--[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 ~
-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.
--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. 
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
--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.
--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 stdoutCaveat: 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.
-fsimple PG Simple floating-point model.  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.
--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.
-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.
--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.
-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.
-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.
-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.
-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. 
-p PG Allow profiling.  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).
-R dir[:dir...] PG Specify search path for run-time linker.  See cc(1).
--restrict PG Allow keyword restrict.  This may improve optimization.
--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++.
--[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.
-w R Disables compilation warning messages generated by the KAI C++ front-end.
-x R Synonym for --exceptions.  This spelling is deprecated and will vanish in future KCC releases.


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

 

This file last updated on 26 October 1999.