HP aC++/HP ANSI C A.06.27 Release Notes
Better support for built-ins
Various GNU builtins are now supported in the default compilation mode in this release of aC++,
such as __builtin_exit, __builtin_trap, __builtin_vfprintf, __builtin_vfscanf, __builtin_offsetof and
GNU macro __COUNTER__.
NOTE: More details on the supported GNU features shall be provided in the next release.
Support for default template arguments for function templates
This release of the compiler supports default template arguments for function templates, as updated
by core issue 226 in the C++98 standard.
template<class T, class U = T> void f(T, U = 1){}
int main()
{
f(1); // U uses the default of T (which is int in this case)
f(1, 2.0); // U deduced as double
}
New options in this release
Option to perform less aggressive optimizations to thread local variables
A new option has been added in this release:
+O[no]tls_calls_change_tp: specifies whether or not function calls can change the value of the
thread pointer(tp), resulting in less aggressive optimizations to TLS variables which are accessed
by name.
Experimental features in this release
IELF file-splitting to improve the compilation time at +O4
This is an experimental feature which tries to improve the compilation time through uniform
distribution of the intermediate IELF files passed to the optimizer.
This is applicable only for C programs and at optimization level +O4.
To enable this feature, set the environment variable HP_BE_IELFSPLIT during compilation.
Diagnostic Changes
This release of the compiler has significant improvements in the compiler diagnostics, with several
new diagnostics and a few deprecated diagnostics. Note that the diagnostic numbers for existing
diagnostics are unchanged from previous releases.
Support for default template arguments for function templates 11