This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 116a. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-12-19
[Moved to DR at the October, 2015 meeting.]
The “max munch” rule could be read to require the characters <int> in vector<int> to be parsed as a header-name rather than as three distinct tokens. 5.6 [lex.header] paragraph 1 says,
Header name preprocessing tokens shall only appear within a #include preprocessing directive (15.3 [cpp.include]).
However, that is not sufficiently clear that header-names are only to be recognized in that context.
Proposed resolution (May, 2015):
Change 5.5 [lex.pptoken] bullet 3.3 as follows:
Otherwise, the next preprocessing token is the longest sequence of characters that could constitute a preprocessing token, even if that would cause further lexical analysis to fail, except that a header-name (5.6 [lex.header]) is only formed within a #include directive (15.3 [cpp.include]).
Change 5.6 [lex.header] paragraph 1 as follows:
[Note: Header name preprocessing tokensshallonly appear within a #include preprocessing directive (15.3 [cpp.include]see 5.5 [lex.pptoken]). —end note] The sequences in both forms...