HP Pascal/HP-UX Release Notes Version A.10.08
64 Chapter 4
Problem Descriptions and Fixes
Problems Encountered with Combining Options +DA2.0 and +O2
Problems Encountered with Combining
Options +DA2.0 and +O2
The following problems relate to the use of +DA2.0 with the optimization
option +O2. (This problem does not affect the use of +DS2.0.)
It is recommended that you use +DA1.1 if any of the following errors
occur. They are all related to specific optimizations made for PA-RISC 2.0
systems dealing with 64-bit register support.
The error messages are:
**** INTERNAL ERROR # 1 Utils: Sanity Check: Inconsistent
internal data structures. (6933)
**** INTERNAL ERROR # 1 inst: Illegal displacement, low
order bits must be zero. (7828)
• Error 7828 occurs if LONGINT or BIT52 items are misaligned, on
word boundaries. It is also possible for it to abort at runtime if
pointers are used.
• Error 6933 occurs in association with 64-bit items for the following
reasons:
• Range and overflow checking for LONGINT or BIT52. This can be
suppressed by using $RANGE OFF$ and $OVFLCHECK OFF$.
• Using BUILDPOINTER to create $EXTNADDR$, 64-bit
addresses.
• Using ADDR to create pointers to procedures/functions.
• Using ROUND on LONGREAL.
• Set expressions dealing with 64-bit sets.
• Incorrect results occur when using MOD by a non-power of 2 constant
for LONGINT or BIT52.
• Incorrect aliasing will degrade performance of LONGINT or BIT52
and probably negate any benefit of +DA2.0 for Pascal.