This is related to Multi line preprocessor macros. I'm interested in the #if
or #elif
, and not the macro being defined. For example, is the following valid:
#if defined(X) || defined(Y) || \
defined(Z)
...
#endif
The reason I'm asking is Clang, GCC and MSVC accept it, but some Sun tools on Solaris are complaining about it. GCC documents the behavior at 1.2 Initial processing ("backslash-newline" and "continued lines"), but Sun tools like DBX encounter an internal error.