[SG16-Unicode] Fwd: New Core Issue: [lex.name]/3.2 under-specifies "uppercase letter"

Mathias Stearn redbeard0531+isocpp at gmail.com
Mon Oct 28 17:38:48 CET 2019


Is it just uppercase letters in the basic source character set, or anything
considered an uppercase letter in the universal character set after phase 1
transcoding and universal-character-name resolution? Or is there some other
definition of uppercase?

I have a slight preference for restricting to just A-Z so that it doesn't
require humans or tools to consult the unicode data tables to decide if an
identifier is safe to use.

Proposed resolution:

Replace [lex.names]/3.2 with:

Each identifier that contains a double underscore __ or begins with an
underscore followed by an uppercase <del>letter</del><ins>*nondigit*</ins>
is reserved to the implementation for any use.


Alternatively we could either create a new grammar production for uppercase
*nondigit*s, or just say something like "one of the universal characters in
the range 0041-005A (A-Z)"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.open-std.org/pipermail/unicode/attachments/20191028/f9015e34/attachment.html 


More information about the Unicode mailing list