HP aC++/HP C A.06.25 Programmer's Guide
all
All string literals and all const-qualified variables that do not require load-time
or runtime initialization will be placed in a read-only data section. +Olit=all
replaces the deprecated +ESlit option.
const All string literals appearing in a context where const char * is legal, and
all const-qualified variables that do not require load-time or runtime
initialization will be placed in a read-only data section. +Olit=const is
mapped to +Olit=all with a warning, except in C mode. +Olit=const
replaces the deprecated +ESconstlit option in C.
none
No constants are placed in a read-only data section. +Olit=none replaces
the deprecated +ESnolit option.
+Ointeger_overflow
+Ointeger_overflow=kind
To provide the best runtime performance, the compiler makes assumptions that runtime
integer arithmetic expressions that arise in certain contexts do not overflow (produce
values that are too high or too low to represent) both expressions that are present in
user code and expressions that the compiler constructs itself. Note that if an integer
arithmetic overflow assumption is violated, runtime behavior is undefined.
+Ointeger_overflow=moderate is the default for all optimization levels. Previously,
+Ointeger_overflow=aggressive was the default at +O2 and above. This was
changed to enable a wider class of applications to be compiled with optimization and
run correctly.
The defined values of kind are:
aggressive
Allows the compiler to make a broad set of assumptions that integer
arithmetic expressions do not overflow.
conservative
Directs the compiler to make fewer assumptions that integer
arithmetic expressions do not overflow.
moderate This is the same as +Ointeger_overflow=aggressive, except
that linear function test replacement (LFTR) optimization is not
performed.
+Olevel
+Olevel=name1[,name2,...,nameN]
The +Olevel option lowers optimization to the specified level for one or more named
functions.
level can be 0, 1, 2, 3, or 4.
The name parameters are names of functions in the module being compiled. Use this
option when one or more functions do not optimize well or properly. This option must
be used with a basic +Olevel or -O option. Note that currently only the C++ mangled
name of the function is allowed for name.
80 Command-Line Options