C++ Logo

sg16

Advanced search

Re: [isocpp-sg16] Thoughts on P4235R0: Removing Digraphs

From: Hubert Tong <hubert.reinterpretcast_at_[hidden]>
Date: Wed, 7 Oct 2026 13:32:03 -0400
On Wed, Oct 7, 2026 at 10:39 AM Corentin Jabot <corentinjabot_at_[hidden]>
wrote:

>
>
> On Tue, 6 Oct 2026 at 23:03, Hubert Tong <hubert.reinterpretcast_at_[hidden]>
> wrote:
>
>> On Wed, Sep 30, 2026 at 5:25 AM Corentin Jabot via SG16 <
>> sg16_at_[hidden]> wrote:
>>
>>>
>>>
>> - can an implementation just treat `??=pragma` as a magic marker as a
>>> conforming extension - i don't think anything needs standardizing
>>>
>>
>> How happy would the Clang maintainers be with doing that?
>>
>
> If we can agree that the use cases for digraph/trigraphs can be limited to
> a few pragmas or a narrow set of features, I'd be happy to support
> whatever compiler extension would ease the pain.
> Making ??=pragma a magic keyword-like thing (or whatever design we can
> come up with) is perfectly fine by me (with the caveat that I do not speak
> for the clang community).
> I.e, i think most of the unhappiness with these things come from the fact
> they can appear anywhere, so if we reduce the scope to what we actually use
> them for, we might satisfy everyone?
>

It seems that trigraphs may be used slightly more widely than just that,
but a migration path using ??=pragma is possible.

More specifically, ??( and ??) is used by people for array
bounds/subscripts operating in an EBCDIC 037 environment to write code that
will actually be interpreted as EBCDIC 1047.

At the end of the day, IBM will need to roll out the switch before we know
whether there is more friction than anticipated.

-- HT

Received on 2026-10-07 17:32:34