WARN64 | NOWARN64

Category

Error checking and debugging

Pragma equivalent

None.

Purpose

Generates diagnostic messages, which enable checking for possible data conversion problems between 32-bit and 64-bit compiler modes.

Syntax

Read syntax diagramSkip visual syntax diagram
   .-NOWARN64-.   
>>-+-WARN64---+------------------------------------------------><

Defaults

NOWARN64

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

Predefined macros

None.