HP C B.11.11.16 Release Notes

HP C/ANSI C Release Notes
New Features in Version B.11.11.14
Chapter 1 9
New Features in Version B.11.11.14
HP C compiler version B.11.11.14 supports the following new features:
+Onolibcalls=func1[,func2,...] Option
Now a list of function names can be specified as arguments to the +Onolibcalls option. The
function names can be given after a '=' following the +Onolibcalls option. If multiple
function names need to be specified, they can be separated by commas as shown. There can be
no intervening spaces/blanks. Multiple functions can also be specified with multiple
+Onolibcalls options.
Presently, the arguments to +Onolibcalls= can be one or more of the millicode routines
memset, memcpy, abs, and modf. Any other argument will be ignored with a warning.
This new syntax of the +Onolibcalls option allows users to selectively disable the inlining of
the specified millicode routines. Previously, it was possible to either inline all the millicode
routines (using +Olibcalls) or to disable them all (using +Onolibcalls).
Support for Unnamed Aggregates
Starting with this release, HP C supports unnamed unions and structs called Unnamed
Aggregates (UA). Unnamed unions in C are the same as C++ anonymous unions. This feature
is available with the compiler option +unnamed_aggr. Here is a simple example:
struct S {
enum Kind k; /* enum Kind defined elsewhere */
union {
int i;
double d;
}; /* An unnamed union. */
};
int main()
{
int i = 0;
double d = 0.0;