From 057913bc8cd35582ab3dcf7ccb08989f24fe3352 Mon Sep 17 00:00:00 2001 From: Marcus Haehnel Date: Tue, 9 Jul 2024 10:05:31 +0200 Subject: features.h: add clang prerequisite macro This can be used to guard features for specific clang versions. Signed-off-by: Marcus Haehnel --- include/features.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/features.h b/include/features.h index b5d4e79f2..1a4efb9db 100644 --- a/include/features.h +++ b/include/features.h @@ -140,6 +140,18 @@ # define __GNUC_PREREQ(maj, min) 0 #endif +/* Convenience macro to test the version of clang. + Use like this: + #if __CLANG_PREREQ(3,2) + ... code requiring clang 3.2 or later ... + #endif */ +#if defined __clang__ +# define __CLANG_PREREQ(maj, min) \ + ((__clang_major__ << 16) + __clang_minor__ >= ((maj) << 16) + (min)) +#else +# define __CLANG_PREREQ(maj, min) 0 +#endif + /* Whether to use feature set F. */ #define __GLIBC_USE(F) __GLIBC_USE_ ## F -- cgit v1.2.3