HP aC++/HP C A.06.20 Release Notes
pointer Enables check for out-of-bounds references to buffers through pointer
access. The buffer could be a heap object, global variable, or local
variable. This suboption also checks out-of-bounds access through
common libc function calls such as strcpy, strcat, memset, and
so on. This check can create significant run-time performance
overhead.
all Enables out-of-bounds checks for both arrays and pointers. This is
equal to +check=bounds:array +check=bounds:pointer.
none Disables out-of-bounds checks..
+check=bounds (with no suboption) is equal to +check=bounds:array. This
may change in the future to also include +check=bounds:pointer.
When +check=all is specified, it enables +check=bounds:array only. To
enable the pointer out-of-bounds check, +check=bounds:pointer must be
specified explicitly.
-Bhidden_def (New)
-Bhidden_def
This option is the same as -Bhidden, but only locally defined (non-tentative) symbols,
without __declspec(dllexport), are assigned the hidden export class.
As with any -B option, -Bhidden_def can be overridden by subsequent -B options
on the command line or any binding pragmas in the source.
-dM (New)
-dM
The -dM option requires that-P or -E also be specified. When -dM is present, instead
of normal preprocessor output the compiler lists the #define directives it encounters
as it preprocesse the file, thus providing a list of all macros that are in effect at the start
of the compilation.
A common use of this option is to determine the compiler's predefined macros. For
example:
touch foo.c ; cc -E -dM foo.c
#pragma OPT_LEVEL INITIAL (New)
#pragma OPT_LEVEL INITIAL
#pragma OPT_LEVEL has been enhanced to accept an additional keyword, INITIAL.
When used with a numeric argument, the OPT_LEVEL pragma sets the optimization
level to 0, 1, 2, 3, or 4.
The INITIAL argument causes the optimization level in effect at the start of the
compilation, whether by default or specified on the command line, to be restored.
24 What’s New in This Version