HP aC++/HP ANSI C Release Notes (B3901-90037; A.06.26; September 2011)

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().
Change in treatment of cv-qualified assignment operators
A user-defined assignment operator that is a const or volatile member function, is not
considered a copy assignment operator, and the compiler will not suppress the declaration
of an implicit copy assignment operator. As a result, the implicitly generated version
might be chosen during overload resolution, if it is a better match. For example:
struct S {
S();
const S& operator=(const S&) const;
};
int main() {
S s1, s2;
s1 = s2; // calls implicitly generated operator
// previously used to call the user-defined one
const S s3;
s3 = s2; // still calls the user-defined operator
return 0;
}"
New features in version A.06.12
Version A.06.12 of the HP aC++ compiler supports the following new features:
+Ofast (-fast) and +Ofaster Options
Interaction between +Oinit_check and +check=uninit
40 Product changes in earlier versions