HP aC++ A.03.85 Release Notes

HP aC++ Release Notes
New Features in Version A.03.65
Chapter 1 13
New Features in Version A.03.65
HP aC++ version A.03.65 supports the following new features:
+Onolibcalls=func1[,func2,...] Option
Improved NRV Optimization
Improved Compile Time
Debugging of Inline Functions
Improved Template Usability
Destruct Locals when pthread_exit is Called
Accessing Members of Enclosing Class from a Nested Class
Performance Improvement of Strings With -mt
+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 have to be specified, they must be separated by commas as shown.
There cannot be any intervening spaces or blanks. Multiple functions can also be specified
with multiple +Onolibcalls options.
The functions specified are expected to be part of the millicode routines' library.
This new syntax of the +Onolibcalls option allows users to selectively disable the inlining of
only the specified library routines. Previously, it was possible only to either inline all the
library routines (using +Olibcalls) or to disable all of them (using +Onolibcalls).
Improved NRV Optimization
From this release, the compiler does further optimizations with NRV (Named Return Value
optimization) to eliminate unnecessary calls with const initializations. For example:
#include <stdio.h>
struct C {
C() {}
C(C const &) { printf(“Copy Constructorn”); }
};