HP aC++/HP ANSI C A.06.27 Release Notes

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.
#pragma OPTIMIZE (Deprecated)
As of this release of the compiler, #pragma OPTIMIZE is deprecated. Use #pragma OPT_LEVEL
instead.
#pragma [NO]INLINE (New for C++ Mode)
Previously, #pragma [NO]INLINEwas supported only on HP C and aC++ C-mode. With this
release, #pragma [NO]INLINEis now supported in C++ mode as well.
_Asm_ld, _Asm_ldf, _Asm_st, _Asm_stf Intrinsics (New)
The following new assembly intrinsics have been added to the compiler:
_Asm_ld _Asm_st
_Asm_ldf _Asm_stf
For more information, see the "Inline assembly for Itanium(R)-based HP-UX" link off http://
www.hp.com/go/aCC.
Debugging Code Compiled with Opt Levels above +O1 Is Supported
Debugging code compiled with optimization levels above +O1is now supported, as described in
section 14.22 ("Debugging optimized code") of the Debugging with GDB manual under the
"Documentation" link at: http://www.hp.com/go/wdb.
__attribute__ ((visibility("default"|"protected"|"hidden"))) Added (New)
The visibility attributes "default", "protected", and "hidden", are equivalent to the options
-Bdefault, -Bprotected, and -Bhidden, and the pragmas DEFAULT_BINDING, EXTERN,
and HIDDEN, respectively.
__attribute__ ((warn_unused_result)) Added (New)
The warn_unused_result attribute tells the compiler to emit a warning if a caller of a function
with this attribute does not use its return value. This is useful for functions where not checking the
result can be a security problem or always a program bug, as with realloc().
36 Product changes in earlier versions