Defect Report #305

Previous Defect Report < - > Next Defect Report


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-number 0, 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-number 0, and then each preprocessing token is converted into a token.


Previous Defect Report < - > Next Defect Report