Category
Error checking and debugging
Purpose
Generates diagnostic messages, which enable checking for possible
data conversion problems between 32-bit and 64-bit compiler modes.
Syntax
.-NOWARN64-.
>>-+-WARN64---+------------------------------------------------><
Usage
Use the FLAG(I) option to display any informational messages.
WARN64 warns you about any code fragments that have the following
types of portability errors:
- A constant that selected an unsigned long int data
type in 31-bit mode may fit within a long int data
type in 64-bit mode
- A constant larger than UINT_MAX, but smaller than ULONGLONG_MAX
will overflow in 31-bit mode, but will be acceptable in an unsigned
long or signed long in 64-bit mode
It also warns you about the following types of possible portability
errors:
- Loss of digits when you assign a long type to an int type
- Change in the result when you assign an int to a long type
- Loss of high-order bytes of a pointer when a pointer type is assigned
to an int type
- Incorrect pointer when an int type is assigned to a
pointer type
- Change of a constant value when the constant is assigned to a long type