HP aC++ Release Notes Version A.03.95 (5900-1789; September 2011)

HP aC++ Release Notes
New Features in Version A.03.04
Chapter 168
New Features in Version A.03.04
New features in HP aC++ version A.03.04 are listed below.
The aC++ default template instantiation mechanism has changed to compile-time instantiation (CTTI).
For source code containing templates, the new default may result in faster compile-time processing.
The previous default behavior remains available by specifying the +inst_auto command-line option
when compiling and linking. If you provide archive or shared libraries for distribution, you may want to
use +inst_auto to ensure consistent behavior between each distribution of your libraries.
Also, if you provide either archive or shared library products, and your customers need to use the prior
template instantiation default in their builds, you must compile your libraries by using the +inst_auto
option.
Refer to HP aC++ Online Programmers Guide and to the online technical paper, Using Templates in
HP aC++ for details about template instantiation and migration.
Member templates are supported, including those in pre-compiled headers.
Updated versions of the Rogue Wave Standard C++ Library (version 1.2.1) and the Tools.h++
Foundation Class Library (version 7.0.6) are provided. HTML documentation for these libraries is also
updated.
The aC++ compiler on HP-UX 11.00 includes support for both the 32-bit data model (ILP32) and the
64-bit data model (LP64). For ILP32, integer, long, and pointer data is 32 bits in size. For
LP64, long and pointer data is 64 bits in size, an integer is 32 bits. The default target architecture
continues to be determined by the host system and the /opt/langtools/lib/sched.models file.
The default compilation mode remains unchanged (32-bit).
The new HP-UX 64-bit Porting and Transition Guide includes extensive 32-bit/64-bit information.
64-bit information is also found in the HP Linker and Libraries User Guide and in the HP aC++ Online
Programmers Guide.
By default, the new __LP64__ preprocessing macro is defined by the compiler when processing in
64-bit mode. The compiler defines the __PA_RISC2_0 macro for PA2.0 in both 32-bit and 64-bit
modes. You can use these macros within conditional directives to isolate 64-bit code.
New 64-bit system libraries are located in /usr/lib/pa20_64. 32-bit libraries remain in /usr/lib.
The +Z compiler option is the default in 64-bit mode (PIC on). The default in 32-bit mode remains
non-PIC.
Advanced optimization options, +Omultiprocessor and +Oextern, are provided to optimize code
for processor configuration and external symbol usage, respectively.