HP aC++/HP C A.06.25 Release Notes

Table Of Contents
For more information, see the "Inline assembly for Itanium(R)-based HP-UX" link off
http://www.hp.com/go/cpp.
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
36 What’s New in This Version