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

Table Of Contents
Improved diagnostic messages (Changed)
Enhanced +wendian warnings (New/Changed)
New run-time abort messages (New)
C99 default C compilation mode (Changed)
In this version of the HP C/aC++ compiler, the default C compilation mode has changed
from C89 to C99. So by default C99 features are enabled, and the following commands
are now equivalent:
cc
cc -Ae
cc -AC99
aCC -Ae
aCC -AC99
To retain the previous behavior, use the -AC89 command-line option.
Errors that can happen with C89 conforming code when using the -AC99 command-line
option include:
enum out of range:
error #2066: enumeration value is out of "int" range
error #4041: enumeration value is out of "char" range
Restriction on constant expressions:
error #2057: this operator is not allowed in a constant expression
error #2028: expression must have a constant value
(Instead of warning #4045-D: non-constant initialization performed at runtime.)
Non-static inline can't reference static:
error #3031-D: an entity with internal linkage cannot be referenced
within an inline function with external linkage
Use of inline or restrict as variables/functions/types:
error #2040: expected an identifier
Full -AA default C++ compilation mode (Changed)
In this version of the HP aC++ compiler, the default C++ compilation mode has changed
to full -AA, which now additionally enables the option -Wc,-ansi_for_scope,on.
This is being done to reduce porting efforts by adhering to the C++ Standard.
To retain the previous behavior, use the -Wc,-ansi_for_scope,off command-line
option.
Errors and warnings (with unintended runtime results) that can happen with
-Wc,-ansi_for_scope,on include:
Loop index is no longer in scope after the for loop body:
error #2020: identifier "i" is undefined
Reference to outer scope variable instead of loop index:
10 What’s New in This Version