Submitter: WG21
Submission Date: 2004-10-26
Source: WG21
Reference Document: ISO/IEC
WG14 N1068
Version: 1.1
Date: 2006-03-05
Subject: 6.10.1p3: Clarifying handling of keywords in
#if
directives
Summary
This just clarifies that keywords are not treated specially
in #if
directives. (In C++, the keywords
true
and false
are
treated specially in this regard; I suspect that someone didn't
want the sentence to read, "... all remaining identifiers,
except for true
and false
, are
replaced ...", for reasons which seem fairly obvious to
me.)
Suggested Technical Corrigendum
Change the following sentence in 6.10.1p3:
After all replacements due to macro expansion and the
defined
unary operator have been performed, all remaining identifiers and keywords are replaced with the pp-number0
, and then each preprocessing token is converted into a token.
Committee Response
It is clear from the standard (in particular, the phases of translation) that there are not yet any keywords at the point in question.
Technical Corrigendum
Change the following sentence in 6.10.1p3:
After all replacements due to macro expansion and the
defined
unary operator have been performed, all remaining identifiers (including those lexically identical to keywords) are replaced with the pp-number0
, and then each preprocessing token is converted into a token.