HP Compilers for HP Integrity Servers (September 2011)

compliance to ISO/IEC 1990 and on 11i Version 3 (11.31) Integrity systems, the UNIX
2003 standard, which includes ISO/IEC 9899:1999; the HP Fortran compiler adheres
to ISO/IEC 1539-1: 1997; the HP aC++ compiler is largely compliant with the ISO/IEC
14882 standard for the C++ language (including the C++ standard library). Starting
A.06.25, the aC++ compiler also supports certain language features of the C++11
standard, enabled using the -Ax command line options. For more information, see the
HP aC++/HP C A.06.26 Programmer's Guide.
All HP compiler code generation and data layout conforms to the Common Software
Conventions and Runtime Architecture (see “Reference 9” (page 35)) for the Intel Itanium
architecture. In addition, the HP aC++ compiler code generation and data layout largely
conforms to the Common C++ ABI for the Intel Itanium architecture (see “Reference
10” (page 35))—with a few documented exceptions.
The math library conforms to the specification in the ISO/IEC C99 standard, including
the annex for IEC 60559 (IEEE 754-1985) implementations and the annex for IEC
60559-compatible complex arithmetic. The compilers and math library adhere to the
IEC 60559 (IEEE 754-1985) binary floating-point standard. They fully support three real
IEC 60559 binary floating-point types: float (32-bit), double (64-bit), and long double
or quad (128-bit PA-RISC-compatible type). The C and C++ compilers and libraries
additionally support the IEC 60559 compatible, 80-bit, extended type in the Intel Itanium
architecture (see “Reference 1” (page 35)). The C compiler and libraries for 11i Version
3 (11.31) support three IEEE 754-2008 decimal floating-point types, to the extent specified
by draft ISO/IEC Technical Report 24732: _Decimal32, _Decimal64, and _Decimal128.
Compatibility
HP provides near-complete source code and makefile compatibility between its current
line of HP 9000 PA-RISC compilers and its new generation of compilers for easy migration
of source code and makefiles to Integrity servers. The PA-RISC compiler options are nearly
unchanged in the new compilers, while several new options provide access to the new
features available only on Integrity servers. Occasionally, it is necessary to introduce a
minor incompatibility in order to comply with standards or repair a defect. For more
information, see “Reference 18” (page 36) and “Reference 19” (page 36).
Built to run on Integrity systems running HP-UX 11i v2 and later, HP compiler A.06.26
continues to provide significant compatibility with frequently-used features of the Tru64
C and C++ compilers. In particular, the Tru64 C++ ARM dialect is provided, as this was
the default Tru64 C++ dialect through Version 5. Additionally, the compiler supports an
large number of GNU dialects and built-ins in the default compilation mode, while certain
more are enabled when compiling in the GNU compatibility mode.
Extensive application availability
HP compilers support the compiler options and pragmas most often chosen by software
developers as essential for preserving and extending application availability. For example,
the HP compilers support both the widely used and traditional 32-bit data model and
Understanding key features of the HP compilers 11