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

Table Of Contents
warning #2780-D: reference is to variable "i" (declared at line X)
[Under old for-init scoping rules it would have been
variable "i" (declared at line Y)]
With +wlint:
warning #3348-D: declaration hides variable "i" (declared at line X)
To catch issues resulting from this change in the C++ default, compile with the +We2780
option to convert the warning 2780 to an error.
If you are already using the -Aa or -AA command-line option explicitly, then there
would be no change in behavior.
-Ax option enables support for several C++0x extensions (New)
The new -Ax option turns on support for several extensions introduced by the working
paper for the next C++ standard (called C++0x). The -Ax option is available only in
C++ compilation mode and is binary compatible with the -AA compilation mode.
The following C++0x features are enabled by the -Ax option, and in additional compiler
modes where indicated:
Scoped enumeration types
The compiler now supports scoped enumeration types (defined with the keyword
sequence "enum class") and explicit underlying integer types for enumeration types.
Example:
enum class Primary { red, green, blue };
enum class Danger { green, yellow, red };
// No conflict on "red".
enum Code: unsigned char { yes, no, maybe };
// sizeof(Code) == 1
Primary p = Primary::red;
// Enum-qualifier is required to access
// scoped enumerator constants.
Code c = Code::maybe;
// Enum qualifier is allowed (but not required)
// for ordinary enumeration types.
static_assert
static_assert(<integral-constant>, <string-literal>);
Support is now included for static_assert, which generates a compile-time error
if the integral constant is zero/false.
Example:
New Features in Version A.06.25 11