From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2153) id B8A96385841E; Fri, 4 Nov 2022 17:21:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B8A96385841E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1667582475; bh=YrTQZYnE6qaWLIv/LCuNEE+FAsTjhRbjoGUHnKoNr0g=; h=From:To:Subject:Date:From; b=RKJxIuvTNfMZKPxoOF7VqIOkPt777p5a4lS06f5T6cIY93uyPJ6IUgnrKoUf3hUnT HvPZ3auCRmDmuT8+q5/s7pEqx6AcHDS4il+7fFFxMP2ppA4GH8K/CuLb+C3WKcI5c3 /PqiMp05YC4dX+MoorvjOWd6Pcp6oo0u0DDcNH7s= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" From: Jakub Jelinek To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-3692] testsuite: Add testcase from C++23 P2314R4 - Character sets and encodings X-Act-Checkin: gcc X-Git-Author: Jakub Jelinek X-Git-Refname: refs/heads/master X-Git-Oldrev: 2662d537b0397b3d8cd6e8ea0568d310f0b85f87 X-Git-Newrev: 95ba31bc4f88a0a2ff9f0ed41f3478cafcb9e040 Message-Id: <20221104172115.B8A96385841E@sourceware.org> Date: Fri, 4 Nov 2022 17:21:15 +0000 (GMT) List-Id: https://gcc.gnu.org/g:95ba31bc4f88a0a2ff9f0ed41f3478cafcb9e040 commit r13-3692-g95ba31bc4f88a0a2ff9f0ed41f3478cafcb9e040 Author: Jakub Jelinek Date: Fri Nov 4 18:20:36 2022 +0100 testsuite: Add testcase from C++23 P2314R4 - Character sets and encodings I've read the paper and I believe we just implement it with no changes needed (at least since PR67224 and similar libcpp changes in GCC 10), but I could be wrong. The following patch at least adds a testcase from the start of the paper. 2022-11-04 Jakub Jelinek * g++.dg/cpp23/charset1.C: New testcase from C++23 P2314R4. Diff: --- gcc/testsuite/g++.dg/cpp23/charset1.C | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gcc/testsuite/g++.dg/cpp23/charset1.C b/gcc/testsuite/g++.dg/cpp23/charset1.C new file mode 100644 index 00000000000..d6f0d1c997b --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp23/charset1.C @@ -0,0 +1,10 @@ +// P2314R4 +// { dg-do compile { target c++23 } } +// { dg-options "-finput-charset=UTF-8 -fexec-charset=UTF-8" } + +#define S(x) # x +const char s1[] = S(Köppe); // "Köppe" +const char s2[] = S(K\u00f6ppe); // "Köppe" + +static_assert (sizeof (s1) == 7); +static_assert (sizeof (s2) == 7);