]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
tools/nolibc: avoid -Wundef warning for __STDC_VERSION__
authorThomas Weißschuh <linux@weissschuh.net>
Wed, 18 Mar 2026 16:12:42 +0000 (17:12 +0100)
committerThomas Weißschuh <linux@weissschuh.net>
Sun, 22 Mar 2026 10:03:58 +0000 (11:03 +0100)
With -std=c89 the macro __STDC_VERSION__ is not defined.
While undefined identifiers in '#if' directives are assumed to be '0',
with -Wundef a warning is emitted.

Avoid the warning by explicitly falling back to '0' if __STDC_VERSION__
is not provided by the preprocessor.

Fixes: 37219aa5b123 ("tools/nolibc: add __nolibc_static_assert()")
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260318-nolibc-wundef-v1-1-fcb7f9ac7298@weissschuh.net
tools/include/nolibc/compiler.h

index f03f84cfadce24346698e5088fda427aa5f1d825..1c410a62c52892144ae7dc6a1636c28cac158ebe 100644 (file)
 #  define __nolibc_fallthrough do { } while (0)
 #endif /* __nolibc_has_attribute(fallthrough) */
 
+#if defined(__STDC_VERSION__)
+#  define __nolibc_stdc_version __STDC_VERSION__
+#else
+#  define __nolibc_stdc_version 0
+#endif
+
 #define __nolibc_version(_major, _minor, _patch) ((_major) * 10000 + (_minor) * 100 + (_patch))
 
 #ifdef __GNUC__
@@ -63,7 +69,7 @@
 #  define __nolibc_clang_version 0
 #endif /* __clang__ */
 
-#if __STDC_VERSION__ >= 201112L || \
+#if __nolibc_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, "")