C++ Logo


Advanced search

Subject: Re: Concatenating unicode string literals
From: Alisdair Meredith (alisdairm_at_[hidden])
Date: 2020-07-13 08:33:57

A little historical context, in case you feel like adding it to the paper, and
I had already researched the paper trail!

Concatenating narrow and wide string literals was made defined behavior
for C++11 by Clark Nelson’s paper synchronizing with the C99 preprocessor:
adopted at the Mont Tremblant 2005 meeting (paper trail on this one is

The conditionally supported implementation-defined behavior for concatenating
unicode and wide string literals was a feature of the original proposal for unicode
characer types:
adopted at the Oxford 2007 meeting.

The final rule to make u8 literals ill-formed when attempting to concatenate with
a wide string literal was in the original paper proposing u8 literals:
adopted at the Kona 2007 meetings.

All these changes occurred in the development of C++11.


> On Jul 10, 2020, at 19:42, Jens Maurer <Jens.Maurer_at_[hidden]> wrote:
> On 10/07/2020 08.00, Tom Honermann wrote:
>> On 7/9/20 5:07 PM, Jens Maurer wrote:
>>> https://wiki.edg.com/pub/Wg21summer2020/SG16/concatenation.html
>>> I think the overlap with P2029 is very manageable, so this can
>>> go ahead regardless.
>> Excellent!
>> Some minor suggestions for the paper:
>> - Make the compiler-explorer URL an actual link.
>> - Mention that the SDCC C compiler does actually support mixed
>> concatenations as reported on the WG14 mailing list
>> (http://open-std.org/jtc1/sc22/wg14/18105). I verified that SDCC
>> version 4 does accept such code (version 3.5 does not), though I didn't
>> verify the behavior.
>> - Explicitly state the four major C++ compilers (there could be more (or
>> less) in the future and the compiler-explorer link may go dark some day!).
> All fixed. Enjoy:
> https://wiki.edg.com/pub/Wg21summer2020/SG16/concatenation.html
> Jens

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