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

Table Of Contents
# define PRINTF(...) printf (__VA_ARGS__)
int main() {
char* from = "aCC";
PRINTF("Hello, World" " from %s!\n", from);
return 0;
}
// This will print:
// Hello, World from aCC!
_Pragma operator
The _Pragma operator (originally from C99 and already supported in GNU mode), is
now supported in non-strict C++98/C++03 mode and in all C++0x modes.
The operator has the effect of expanding the pragma specified in the string (in
double-quotes) in just the way a #pragma would.
Example:
_Pragma ("pack 1");
struct Packed {
char c;
int i;
};
int main () {
int iPackedSize = sizeof(Packed);
}
extern template
In C++0x mode (that is, with -Ax specified) and in non-strict C++98 mode, extern
template can now be used to suppress the implicit instantiation of an entity.
Traditionally the C++ compiler instantiates a template in each translation unit where
it finds a specification for the same. To suppress this (and thereby reduce the compilation
times), C++0x now provides extern templates. This directs the compiler not to instantiate
the template for this translation unit.
Example:
extern template class std::vector<SomeType>;
Decimal Floating Point supported in C++ mode (New)
With this release of the compiler on HP-UX 11.31 systems only, Decimal Floating Point
is supported in C++ mode, along with the +decfp option.
To use Decimal Floating Point with C or C++ include files you must define
__STDC_WANT_DEC_FP__. For C++ you should define __STDC_WANT_DEC_FP__
before including any headers, because some C++ headers might include <cmath.h>
or <math.h> indirectly.
C++ support currently has a limitation of not being able to use the three new Decimal
FP types in a throw expression or a typeid operator.
New Features in Version A.06.25 15