KAI C++ Man Page for Hitachi SR2201
User's Guide

Option    Rating    Summary
--[no_]abstract_float PG Treat floating-point numbers as abstract types. This may improve optimization.
--[no_]abstract_pointer PG Treat pointers as abstract types. This may improve optimization.
--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.
--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 rules. This option may break some KAI C++ header files, as the modern ISO draft library depends upon draft-ISO 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 of the steps may always take zero time on some platforms. Below are the steps timed:
Front End
Parsing, optimization and 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 G 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 the linker phases of the compilation process.
--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 PG 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.
--[no_]exceptions PG Enable or disable exception handling. The default is enabled. Exception and non-exception C++ object files are not link-compatible. Use same setting when linking .o files.
--[no_]explicit R Enable or disable support for the C++ keyword explicit.
-g G Set -g option for backend C compiler. Use +K0 instead for generating debuggable objects, since just setting -g does not turn off front-end optimizations.
--include_directory dir
-Idir
G Adds directory dir to the include file search path. The search path always ends with the KCC and system include file directories.
--[no_]implicit_include PG Enable or disable implicit inclusion for templates. The default is --no_implicit_include.
--no_standard_includes
-nostdinc
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.
+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 (and +K2 features).
--keep_gen_c R Retain intermediate C source file after compilation. The file has the .int.c extension.
--library_directory dir
-Ldir
G Add directory dir to the search path for libraries. This always affects the compiletime search. On classical BSD-like systems -L affects only the -l library searches to its right. 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.
--link_command_prefix  foo PG Add the word foo as a prefix to the link command. This is useful for memory checkers such as Purify and Sentinel that must control the link step and which do not recognize KCC as a linker.
-M PG Generate dependence information for make. Unlike --output_dependencies, compilation does not occur.
--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.
-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 output file or the executable file. The output file may be an object file (.o), archive (.a), or executable. DO NOT use other UNIX commands (such as mv) to rename object files that need template instantiations.
--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 PG Cause dependencies suitable for make(1) to be written to file. Unlike -M, compilation also occurs.
--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.
--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.
--strict PG Enforce strict adherence to approximation of ISO draft language implemented by KAI C++. This option affects only chapters 1-16 of the draft. To enforce strict adherence to the ISO draft library (chapters 17-27) use -D__KAI_STRICT.
-v PG Show KCC driver compilation steps as they occur. Includes Prelinker automatic template assignments during link steps.
--version PG Print compilation component version information.
-w PG Disables compilation warning messages generated by the KAI C++ front-end
-Z PG Permit dereferencing of NULL pointers. We think this is a very bad idea, but provide it for compatibility with HP compilers. Regrettably, compatibility dictates that this bad idea be the default too.
-z G Generate SIGSEGV when dereferencing NULL pointers. We strongly recommend using this option.


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