]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
tools/nolibc: add __nolibc_static_assert()
authorThomas Weißschuh <linux@weissschuh.net>
Sat, 20 Dec 2025 13:55:57 +0000 (14:55 +0100)
committerThomas Weißschuh <linux@weissschuh.net>
Tue, 6 Jan 2026 11:08:08 +0000 (12:08 +0100)
Add a wrapper for _Static_assert() to use within nolibc.
While _Static_assert() itself was only standardized in C11,
in GCC and clang dialects it is also available in older standards.

Link: https://lore.kernel.org/lkml/20251203192330.GA12995@1wt.eu/
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Willy Tarreau <w@1wt.eu>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Link: https://patch.msgid.link/20251220-nolibc-uapi-types-v3-13-c662992f75d7@weissschuh.net
tools/include/nolibc/compiler.h

index c9ffd0496dae8fdea181fa135f85aef15e9889fc..a8c7619dcdde2f08dcd4a0daef3e6e4a413e27d7 100644 (file)
 #  define __nolibc_clang_version 0
 #endif /* __clang__ */
 
+#if __STDC_VERSION__ >= 201112L || \
+       __nolibc_gnuc_version >= __nolibc_version(4, 6, 0) || \
+       __nolibc_clang_version >= __nolibc_version(3, 0, 0)
+#  define __nolibc_static_assert(_t) _Static_assert(_t, "")
+#else
+#  define __nolibc_static_assert(_t)
+#endif
+
 #endif /* _NOLIBC_COMPILER_H */