From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 31499 invoked from network); 24 May 2023 19:39:48 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 24 May 2023 19:39:48 -0000 Received: (qmail 7215 invoked by uid 550); 24 May 2023 19:39:22 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 6045 invoked from network); 24 May 2023 19:39:20 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=eKWnrXzeMfo32xcz4gmCg3+bAib+qbk4fTGQ7obukQk=; b=TX8+EXn8hREfxa3Urop69Lx1Fss9O20mtdaPA4seXSJj4jewm+mHm2dC zYQ54cRWKNh2Kk9nMdJUUDQRZNO+wAc+Zs8pFv6MIv2Nh0CENF8ehaSPJ OtSUYp7yoZRdnVc4OOc2ckvApv50JJDrieUX3T+3d/YwmApiBQeVtm5Z4 8=; Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=Jens.Gustedt@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="6.00,190,1681164000"; d="scan'208";a="109526771" From: Jens Gustedt To: musl@lists.openwall.com Date: Wed, 24 May 2023 21:38:52 +0200 Message-Id: <1fe28ea2525f112264a1a819d8ce50a97504ab8b.1684932892.git.Jens.Gustedt@inria.fr> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [musl] [C23 new stdlib 2/4] C23: add the memalignment function The name is reserved, so we don't need to protect it via a feature macro or a weak symbol. --- include/stdlib.h | 3 +++ src/stdlib/memalignment.c | 6 ++++++ 2 files changed, 9 insertions(+) create mode 100644 src/stdlib/memalignment.c diff --git a/include/stdlib.h b/include/stdlib.h index 7800074d..68993c04 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -178,6 +178,9 @@ long double strtold_l(const char *__restrict, char **__restrict, struct __locale typedef int once_flag; void call_once(once_flag *, void (*)(void)); +size_t (memalignment)(const void *); +#define memalignment(P) (((size_t)1)<<__builtin_ctzll((unsigned long long)P)) + #ifdef __cplusplus } #endif diff --git a/src/stdlib/memalignment.c b/src/stdlib/memalignment.c new file mode 100644 index 00000000..58b68954 --- /dev/null +++ b/src/stdlib/memalignment.c @@ -0,0 +1,6 @@ +#include + +size_t (memalignment)(const void *p) +{ + return memalignment(p); +} -- 2.34.1