C++ Logo

SG16

Advanced search

Subject: Updated draft revision: D2029R3 (Proposed resolution for core issues 411, 1656, and 2333; numeric and universal character escapes in character and string literals
From: Tom Honermann (tom_at_[hidden])
Date: 2020-08-23 23:12:54


Perhaps it is time to re-title this paper to "Rewrite [lex.ccon] and
[lex.string]" :)

An update of D2029R3 is available at
https://rawgit.com/sg16-unicode/sg16/master/papers/d2029r3.html. This
addresses the feedback provided at the July 20th, 2020, core issues
processing telecon.  The relevant changes include:

  * Changed the introductory and proposed resolution overview to remove
    incorrect uses of "narrowing integer conversion" in prose intended
    to describe something more like an "integral conversion".
  * [lex.ccon]pY: Added footnotes explaining that, for nonencodable
    character literals and multicharacter literals, the associated
    character encoding may be used solely to determine encodability and
    not to actually encode values.
  * [lex.ccon]pZ: Merged Z.1 into the introductory text to make the
    short circuiting behavior clear and renumbered the remaining
    subparagraphs.
  * [lex.ccon]pZ: Specified that the determination of a character
    literal value during translation phase 4 uses the range of
    representable values of the character literal's type in translation
    phase 7.
  * [lex.string]pX: Added normative wording stating that the /n/ that
    appears in the string literal array type corresponds to the number
    of encoded code units.
  * [lex.string]pZ: Elevated notes related to stateful character
    encodings to normative encouragement.

I believe this is ready for CWG review again.  Jens, Richard, and
Hubert, if you can provide any additional change requests before the
next core issues processing telecon, I would appreciate it. I'm hoping
that the next CWG review will be the last one!

Tom.



SG16 list run by sg16-owner@lists.isocpp.org