1.8 KiB
[diff.cpp20.lex]
Annex C (informative) Compatibility [diff]
C.2 C++ and ISO C++ 2020 [diff.cpp20]
C.2.2 [lex]: lexical conventions [diff.cpp20.lex]
Affected subclause: [lex.name]
Change: Previously valid identifiers containing characters not present in UAX #44 properties XID_Start or XID_Continue, or not in Normalization Form C, are now rejected.
Rationale: Prevent confusing characters in identifiers.
Requiring normalization of names ensures consistent linker behavior.
Effect on original feature: Some identifiers are no longer well-formed.
Affected subclause: [lex.string]
Change: Concatenated string-literals can no longer have conflicting encoding-prefixes.
Rationale: Removal of unimplemented conditionally-supported feature.
Effect on original feature: Concatenation of string-literals with different encoding-prefixes is now ill-formed.
[Example 1: auto c = L"a" U"b"; // was conditionally-supported; now ill-formed â end example]