Controls the use of non-standard language features.
#pragma ANSI_strict on | off | reset
If you enable the pragma ANSI_strict, the compiler generates an error if it encounters any of the following common ANSI extensions:
a = b; // This is a C++-style comment
void f(int ) {} /* OK, if ANSI Strict is disabled */ void f(int i) {} /* ALWAYS OK */
#define add1(x) #x #1 /* OK, if ANSI_strict is disabled, but probably not what you wanted: add1(abc) creates "abc"#1 */ #define add2(x) #x "2" /* ALWAYS OK: add2(abc) creates "abc2" */
#ifdef __MWERKS__ /* . . . */ #endif __MWERKS__ /* OK, if ANSI_strict is disabled */ #ifdef __MWERKS__ /* . . . */ #endif /*__MWERKS__*/ /* ALWAYS OK */
This pragma corresponds to the ANSI Strict setting in the Language panel. To check this setting, use __option (ANSI_strict), described in Checking Pragma Settings. By default, this pragma is disabled.