mpwc_relax

Controls the compatibility of the char* and unsigned char* types.

Syntax

#pragma mpwc_relax on | off | reset

Targets
All platforms.
Remarks

If you enable this pragma, the compiler treats char* and unsigned char* as the same type. This setting is especially useful if you are using code written before the ANSI C standard. This old source code frequently used these types interchangeably.

This setting has no effect on C++ source code.

You can use this pragma to relax function pointer checking:

#pragma mpwc_relax on
extern void f(char *);
extern void(*fp1)(void *) = &f; // error but allowed
extern void(*fp2)(unsigned char *) = &f; // error but allowed

This pragma does not correspond to any panel setting. To check this setting, __option (mpwc_relax), described in Checking Settings. The default setting is off.