Add to Annex C
C.n C++ and ISO C++ 2023 [diff.cpp23]
C.n.1 [lex]: lexical conventions [diff.cpp23.lex]
Affected subclause: [lex.charset]
Change: The characters $, @, and ` may not be represented as a universal-character-name outside a literal
Rationale: Inclusion of these characters in the basic character set.
Effect on original feature: The characters were not allowed in semantically meaningful text outside of literals, but could still be present in early phases of translation as universal-character-names.
[Example 1:
#include <stdio.h>
#define STR(x) #x
int main()
{
printf("%s", STR(\u0024)); // Was allowed, now is not an allowed UCN
}
— end example]
[Example 2:
#include <stdio.h>
#define EAT(x)
int main()
{
EAT(\u0024) // Was allowed, now is not an allowed UCN
}
— end example]
--SG16 will hold a telecon on Wednesday, May 11th, at 19:30 UTC (timezone conversion).
The agenda is:
- D2286R8: Formatting Ranges
- Review and approve final wording updates.
- D2558R1: Add @, $, and ` to the basic character set
- Continue review pending the availability of an updated revision.
- D2572R0: std::format() fill character allowances
- Continue review pending the availability of an updated revision.
I expect this to be our last review of P2286 unless something surprising and new is identified.
Further review of P2558 and P2572 are still contingent upon new draft revisions by their authors. If new revisions don't materialize, then we can hope for quite a short meeting!
Tom.
SG16 mailing list
SG16@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/sg16