From nobody Fri Nov 28 15:20:06 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dHxn25tJ7z6Hg4d for ; Fri, 28 Nov 2025 15:20:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dHxn252DHz47Gv for ; Fri, 28 Nov 2025 15:20:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1764343206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K7Qpzpgtl7XUa6zxfHAjoIfUIPBQfaQA8hVtVIrq+HM=; b=lKgcpyzzjeuUqxcU6weYL/Shk77QblcGh50NDQ1Cyzz+3q/lXfgS3dVdOwoZrI+CEgKtlR JbPJZto4heFRL60D4oikDJbRgpYQ/nU2O/r4D1imEVbR9U+dJ2vDYzrRbzBWVrJduzhaFI HVhNZbpk4jX6zBJkJK3kSPqH6jZkWYFMB4boDXnRsVBE6s3+1jqZYgty3wyYuDoYM65xzn /R2D4hYgon7zI/7x9wudlPnqPnxohyJ92MyflXEaTu64p3pEwcH07eBipmvK59tPdR0sze KSC2sT56NdFWYGBPpyT5Iuv9lMunxzDgX+XT+q/mwBoxIsitQiJmdoDRbhOGlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1764343206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K7Qpzpgtl7XUa6zxfHAjoIfUIPBQfaQA8hVtVIrq+HM=; b=WIIHdkQM09JDEbErbkoXQ4BcY6OnIdc26+selEyEHqKbEYfFCLvulnOFCMiBgDV4Yzf1Pv gF/1in5PbgXbHMYeokXBR4iWIzxJffBLD3uujeZf4IXKhXuC1vAepKmF2lz/S/lN53D0Rf KAE7B5qjxKog4BmP//5ODKgB/y/cI9D2yLY+SHHrpDhE6DHcuDvV8GLGgBKxuyKXqmSBKn M7eFghQRwQ2F/8MMCHRFTuq1Sk5eSmEf0feF4BuoSNbxvpGmldWkECXZ65gCXBsfG6GPQi Ehq/mfkkcCYwXE2bp2aeYTwnus3kWLsoCmLWbCCVEMgI8/RgtmOH9XmGtRrG+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1764343206; a=rsa-sha256; cv=none; b=mPSaerp57iLd5FGPGCOgAMLLOpcu/s3cBTjohl7H983C50IPylg9HoIWE8SMEIJVzSWXc7 Y4SaXdaBZK/NK4MGhi9OFloUNNXmO91mJKuDYwJLlnJRkMoAQtWozKijGthyw4Yfz7eT4f WdIwhGaT71kk8FYCGAf/MctdzHUrkkF/cLu8hIACqNa+8Q29VLB7taF59pBZwM05eGbpGM aMEzUfcyHDxQ1FTaPDBRwrp3G5rkzSwcgeQwReXs09o69h97UZLDFTPPqwYQEdp+O5jmiX TOvCB1q8JggP9qSzTgCG1TEHN06PgiQniPQkrgVHHOMmUM2bzJNfZRJs6BmmPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dHxn24MqSz16Lm for ; Fri, 28 Nov 2025 15:20:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 2ee02 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 28 Nov 2025 15:20:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: f0e541118c37 - main - uchar.h: add char8_t List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f0e541118c374869a8226eaa1320bb6eda248a20 Auto-Submitted: auto-generated Date: Fri, 28 Nov 2025 15:20:06 +0000 Message-Id: <6929bda6.2ee02.6bec62c6@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=f0e541118c374869a8226eaa1320bb6eda248a20 commit f0e541118c374869a8226eaa1320bb6eda248a20 Author: Robert Clausecker AuthorDate: 2025-11-27 17:57:02 +0000 Commit: Robert Clausecker CommitDate: 2025-11-28 15:19:53 +0000 uchar.h: add char8_t A type similar to char16 and char32_t, for compliance with C23. The related type atomic_char8_t is added to stdatomic.h. As char8_t is always unsigned char, I've skipped adding __char8_t. This can be added, too, if desired. Reviewed by: imp Approved by: markj (mentor) MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D53952 --- include/uchar.h | 5 +++++ sys/sys/stdatomic.h | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/include/uchar.h b/include/uchar.h index 951c6339abec..ebb2c89776b8 100644 --- a/include/uchar.h +++ b/include/uchar.h @@ -32,6 +32,11 @@ #include #include +#if __ISO_C_VISIBLE >= 2023 && !defined(_CHAR8_T_DECLARED) +typedef unsigned char char8_t; +#define _CHAR8_T_DECLARED +#endif + #ifndef _CHAR16_T_DECLARED typedef __char16_t char16_t; #define _CHAR16_T_DECLARED diff --git a/sys/sys/stdatomic.h b/sys/sys/stdatomic.h index 099097ea84a4..67107f47e6b3 100644 --- a/sys/sys/stdatomic.h +++ b/sys/sys/stdatomic.h @@ -54,6 +54,9 @@ #ifdef __GCC_ATOMIC_CHAR_LOCK_FREE #define ATOMIC_CHAR_LOCK_FREE __GCC_ATOMIC_CHAR_LOCK_FREE #endif +#if __ISO_C_VISIBLE >= 2023 && defined(__GCC_ATOMIC_CHAR8_T_LOCK_FREE) +#define ATOMIC_CHAR8_T_LOCK_FREE __GCC_ATOMIC_CHAR8_T_LOCK_FREE +#endif #ifdef __GCC_ATOMIC_CHAR16_T_LOCK_FREE #define ATOMIC_CHAR16_T_LOCK_FREE __GCC_ATOMIC_CHAR16_T_LOCK_FREE #endif @@ -199,6 +202,9 @@ typedef _Atomic(long) atomic_long; typedef _Atomic(unsigned long) atomic_ulong; typedef _Atomic(long long) atomic_llong; typedef _Atomic(unsigned long long) atomic_ullong; +#if __ISO_C_VISIBLE >= 2023 +typedef _Atomic(unsigned char) atomic_char8_t; +#endif typedef _Atomic(__char16_t) atomic_char16_t; typedef _Atomic(__char32_t) atomic_char32_t; typedef _Atomic(___wchar_t) atomic_wchar_t;