[Bug c++/106647] [C++23] P2362 - Remove non-encodable wide character literals and multicharacter wide character literals

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Aug 26 14:07:03 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106647

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:dad2d3e003f1a9885cb1fa0f67baf50f62d57b06

commit r13-2221-gdad2d3e003f1a9885cb1fa0f67baf50f62d57b06
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Fri Aug 26 16:06:20 2022 +0200

    libcpp: Implement P2362R3 - Remove non-encodable wide character literals
and multicharacter [PR106647]

    My understanding of the paper is that we just want to promote the CPP_WCHAR
    "character constant too long for its type" warning to error as it is
already
    error for u8, u and U literals.

    2022-08-26  Jakub Jelinek  <jakub@redhat.com>

            PR c++/106647
            * charset.cc (wide_str_to_charconst): Implement P2362R3 - Remove
            non-encodable wide character literals and multicharacter.  For
            C++23 use CPP_DL_ERROR instead of CPP_DL_WARNING for
            "character constant too long for its type" diagnostics on CPP_WCHAR
            literals.

            * g++.dg/cpp23/wchar-multi1.C: New test.
            * g++.dg/cpp23/wchar-multi2.C: New test.


More information about the Gcc-bugs mailing list