(ISO C, §6.10.1) The C compiler can accept identifier tokens after #endif and #else. This extension helps you match an #endif statement with its corresponding #if, #ifdef, or #ifndef statement, as shown here:
#ifdef __MWERKS__
# ifndef __cplusplus
/*
* . . .
*/
# endif __cplusplus
#endif __MWERKS__
To use this feature, disable the ANSI Strict setting.
TIP If you enable the ANSI Strict setting (thereby disabling this extension), you can still match your #ifdef and #endif directives. Simply put the identifiers into comments, as sown in following example:
#ifdef __MWERKS__
# ifndef __cplusplus
/*
* . . .
*/
# endif /* __cplusplus */
#endif /* __MWERKS__ */
See also Checking for Standard C and Standard C++ Conformity.