HP-UX 11i Version 2 Release Notes (October 2003)
Libraries and Programming
HP C Compiler
Chapter 9
216
HP C Compiler
The HP C Compiler for Itanium-based systems, version A.05.50, supports the
American National Standard for Information Systems - Programming language C, ISO
9899:1990 (the ANSI C 89 standard), and it also supports the majority of the extensions
introduced in ISO/IEC 9899:1999(E) (commonly referred to as “C99”).
Summary of Change
The legacy_hpc/ subdirectory is no longer provided.
Impact
Removal of the legacy C compiler and tools should have minimal impact. It was provided
in the HP-UX 11i v1.6 delivery as a “fallback.”
Compatibility
Delivery of the legacy HP C compiler under the /opt/ansic/legacy_hpc directory was
only a temporary safeguard for the HP-UX 11i v1.6 release. It is being removed entirely
from the HP-UX 11i v2 release.
The following features available in the PA-RISC HP C (legacy C) compiler are not
available in the HP C Compiler:
• support for HP-C K&R mode:
Note: The behavior of the K&R mode (-Ac option) supported in the legacy HP-C
compiler differs from the ANSI C mode primarily in the following areas:
— Large integer constant will be promoted to unsigned in ANSI mode, not in K&R
mode (value preserving vs. signedness).
— Float parameters and operands are not widened to double in ANSI mode.
— Struct or union tags have scope in ANSI mode, but they don't in K&R mode.
— Aggregates whose initializers contain partially-elided braces will parse
differently in ANSI mode.
• support for deprecated HP C extensions or bug compatibility
• support for implicit int variable declarations
• built-in __int32 data type (use #define __int32 if needed)
• +M0, +M1, or +M2 migration options. They are all ignored.
• MPE long pointers (^)
• support for the following pragmas:
— #pragma HP_ALIGN (use pack pragma)
— #pragma ALIGN (use pack pragma)
— #pragma COMDAT
— #pragma WARN_LEVEL