warn_any_ptr_int_conv

Controls if the compiler generates a warning when an integral type is explicitly converted to a pointer type or vice versa.

Syntax
  #pragma warn_any_ptr_int_conv on | off | reset  
Remarks

This pragma is useful to identify potential pointer portability issues. An example is shown in the following listing.

Listing: Example of warn_any_ptr_int_conv
#pragma warn_ptr_int_conv on

short i, *ip



void foo() {



   i = (short)ip;    // WARNING: integral type is not large 



                     // large enough to hold pointer



}



#pragma warn_any_ptr_int_conv on



void bar() {



   i  = (int)ip;     // WARNING: pointer to integral 



                     // conversion



   ip = (short *)i;  // WARNING: integral to pointer



                     // conversion



}

See also warn_ptr_int_conv.

This pragma corresponds to the Pointer/Integral Conversions setting in the Warnings panel. To check this setting, use __option (warn_any_ptr_int_conv ), described in Checking Pragma Settings. By default, this pragma is off.