HP aC++ A.03.85 Release Notes

HP aC++ Release Notes
Compatibility Information
Chapter 1 71
Linking with a prior library may cause spurious failures. If the shared version of this library
is selected (default), the platform on which the application is run must also have that release
of the HP aC++ runtime support library (libCsup.sl).
The NRV optimization eliminates a copy-constructor call by allocating a local object of a
function directly in the caller’s context if that object is always returned by the function. For
example:
struct A {
A(A const&); // copy constructor
};
A f(A const& x) {
A a(x);
return a; // Will not call the copy constructor if the
} // optimization is enabled.
This optimization will not be performed if the copy constructor was not declared by the
programmer. Although this optimization is allowed by the ISO/ANSI C++ standard, it may
have noticeable side effects.
Example:
aCC +nrv app.C
Linker Compatibility Warnings
Beginning with the HP-UX 10.20 release, the linker generates compatibility warnings. These
warnings include HP 9000 architecture issues, as well as linker features that may change
over time.
Compatibility warnings can be turned off with the +v[no]compatwarnings linker option.
Also, detailed warnings can be turned on with the +vallcompatwarnings linker option.
Link time compatibility warnings include the following:
Linking PA-RISC 2.0 Object Files on any System
PA-RISC 1.0 programs will run on 1.1 and 2.0 systems. PA-RISC 2.0 programs will not
run on 1.1 or 1.0 systems.
Dynamic Linking with -A
If you do dynamic linking with -A, you should migrate to using the Shared Library
Management Routines. These routines are also described in the sh_load(3X) man page.
Procedure Call Parameter and Return Type Checking