[Bug c++/69683] multiline raw string R"()" for C++11 warning in false #ifdef when -std=c++98

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Feb 5 11:36:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69683

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Juan Rada-Vilela from comment #0)
> BUT it is expected from the compiler to ignore everything within the
> `#ifdef` because `X` was not defined.

The compiler still has to do tokenization to determine where the end of the
#ifdef block is. Similarly you get a warning for:

#if 0
These aren't valid tokens.
#endif

q.cc:2:11: warning: missing terminating ' character


(And this obviously isn't "major" because it's only a warning!)


More information about the Gcc-bugs mailing list