C++ Logo

sg16

Advanced search

Re: [SG16] SG16 meeting summary for March 24th, 2021

From: Jens Maurer <Jens.Maurer_at_[hidden]>
Date: Sun, 28 Mar 2021 22:01:44 +0200
On 28/03/2021 21.06, Corentin Jabot via SG16 wrote:
>
>
> On Sun, Mar 28, 2021 at 8:56 PM Alisdair Meredith via SG16 <sg16_at_[hidden] <mailto:sg16_at_[hidden]>> wrote:
>
> This paper touches, incidentally, wording that is of concern to SG12 regarding UB.
> To ease communication/concerns, it might be worth pointing out the that UB wording
> added to [lex.concat] is not new UB, but merely moving where we document the
> existing UB in [lex.phases]p4.
>
> As part of this cleanup, is the UB in [lex.phases]p2 still possible, or does the raw
> remaining string reversion no longer have the ability to accidentally form a UCN as
> all we are reverting is line-splicing, which implies there must be a new-line character
> emdedded in any reversion, which would not enable forming a UCN?
>
>
> There is still UB. While we don't replace unicode by UCNs in phase 1 anymore, there still may be UCNs spelled in the source.
>
> Removing the UB in lexing is on my radar.
> I think there is consensus that the UB should not be there - and that its purpose (dealing with the observability of different models chosen by C and C++) is no longer relevant,
> although ideally we would have the same behavior in C and we can confer to SG22.

The "undefined behavior" during lexing and preprocessing is on SG12's plate.

While everybody agrees that "undefined behavior" is not good here,
it's not clear what exactly should be done for each of the cases.

Jens

Received on 2021-03-28 15:01:51