Date: Mon, 24 Feb 2020 14:52:31 -0500
On Mon, Feb 24, 2020 at 12:56 PM Corentin Jabot <corentinjabot_at_[hidden]>
wrote:
>
>
> On Mon, Feb 24, 2020, 17:08 Hubert Tong via SG16 <sg16_at_[hidden]>
> wrote:
>
>> - Was EWG informed that the proposal can be understood as introducing new
>>> core language undefined behaviour for existing programs with identifiers in
>>> NFC form where the concatenation is not in NFC form ([cpp.concat])? I note
>>> that R1 of the paper was not clear on that point and R2 does not identify
>>> it as a consideration.
>>>
>>> I don't recall discussing this in EWG, but I believe it was discussed at
>>> some point and the conclusion was that an identifier not in NFC form
>>> resulting from such concatenation was ill-formed. Can you elaborate as to
>>> how the UB manifests?
>>>
>> The typical manifestation of the UB in cpp.concat that does not produce a
>> diagnostic for the case in question is that the concatenation may instead
>> leave the operand tokens behind. That is, the ill-formed result is not
>> required to manifest.
>>
>
> Could we modify the wording so that identifiers not nfc after
> pre-processing are ill-formed?
>
I think so. Explicit wording in cpp.concat should work.
> --
>> SG16 mailing list
>> SG16_at_[hidden]
>> https://lists.isocpp.org/mailman/listinfo.cgi/sg16
>>
>
wrote:
>
>
> On Mon, Feb 24, 2020, 17:08 Hubert Tong via SG16 <sg16_at_[hidden]>
> wrote:
>
>> - Was EWG informed that the proposal can be understood as introducing new
>>> core language undefined behaviour for existing programs with identifiers in
>>> NFC form where the concatenation is not in NFC form ([cpp.concat])? I note
>>> that R1 of the paper was not clear on that point and R2 does not identify
>>> it as a consideration.
>>>
>>> I don't recall discussing this in EWG, but I believe it was discussed at
>>> some point and the conclusion was that an identifier not in NFC form
>>> resulting from such concatenation was ill-formed. Can you elaborate as to
>>> how the UB manifests?
>>>
>> The typical manifestation of the UB in cpp.concat that does not produce a
>> diagnostic for the case in question is that the concatenation may instead
>> leave the operand tokens behind. That is, the ill-formed result is not
>> required to manifest.
>>
>
> Could we modify the wording so that identifiers not nfc after
> pre-processing are ill-formed?
>
I think so. Explicit wording in cpp.concat should work.
> --
>> SG16 mailing list
>> SG16_at_[hidden]
>> https://lists.isocpp.org/mailman/listinfo.cgi/sg16
>>
>
Received on 2020-02-24 13:55:30