C++ Logo

SG16

Advanced search

Subject: Re: [isocpp-core] Updated draft revision: D2029R2 (Proposed resolution for core issues 411, 1656, and 2333; numeric and universal character escapes in character and string literals)
From: Alisdair Meredith (alisdairm_at_[hidden])
Date: 2020-07-08 13:19:41


My layman’s reading is that implementation defined behavior can include rejecting the program with a diagnostic; in this case we have an implementation defined value, which implies that there is a value to define, and I infer that code must we well-defined.

I yield to Jens for a more accurate description though ;)

AlisdairM

Sent from my iPhone

> On Jul 8, 2020, at 18:54, Tom Honermann <tom_at_[hidden]> wrote:
>
> 
> On 7/8/20 6:43 AM, Alisdair Meredith wrote:
>> Minor nit: I dislike normatively stating that a null character is
>> appended after string concatenation in two places. I do like
>> the addition of this directly to the phase 6 wording, so suggest
>> that the original in [lex.string]p12 with its extra flowery language
>> be demoted to a note.
> That seems reasonable to me, I'll do so.
>>
>> In the normative text, AFAICT, in C++20 wide multi character
>> literals must be supported, with an implementation-defined value,
>> but after this paper they will be conditionally supported. I don’t
>> see that design change addressed in the front matter. Same
>> applies to non-encodable wide characters .
> That is addressed in the "Proposed resolution overview" section. I can add a statement about this to the introduction if you like.
>
> I've been under the impression that the lack of conditionally-supported for these is an oversight. My understanding (and someone please correct me if I'm mistaken; I don't recall where I was informed of this) is that, in the C standard, implementation-defined includes an allowance for rejecting the code as ill-formed, but in the C++ standard, implementation-defined implies well-formed; hence the addition of conditionally-supported. If that understanding is correct, then the updated wording corrects alignment with the intent of the C standard.
>
>>
>> (I thought this also applied to ordinary multi character literals,
>> but it turns out they are already conditionally supported.)
> Yup, in [lex.ccon]p1.
>
> Tom.
>
>>
>> AlisdairM
>>
>>> On Jul 7, 2020, at 16:33, Tom Honermann via Core <core_at_[hidden]> wrote:
>>>
>>> An update of D2029R2 (Proposed resolution for core issues 411, 1656, and 2333; numeric and universal character escapes in character and string literals) is now available at https://rawgit.com/sg16-unicode/sg16/master/papers/d2029r2.html. This addresses the feedback provided on the core mailing list in the thread starting at https://lists.isocpp.org/core/2020/06/9455.php.
>>>
>>> Wording review feedback prior to the next Core issues processing teleconference would be much appreciated!
>>>
>>> Tom.
>>>
>>> _______________________________________________
>>> Core mailing list
>>> Core_at_[hidden]
>>> Subscription: https://lists.isocpp.org/mailman/listinfo.cgi/core
>>> Link to this post: http://lists.isocpp.org/core/2020/07/9545.php
>



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