Files
2025-10-25 03:02:53 +03:00

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]

1

#

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.

2

#

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]