From: Bruno Haible Date: Sat, 21 Sep 2024 21:10:34 +0000 (+0200) Subject: getopt-posix, crypto/md5-buffer: Fix __GNUC_PREREQ re clang. X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=0bc952c3569a23c3baedda2962885c19ef4dd865;p=gnulib.git getopt-posix, crypto/md5-buffer: Fix __GNUC_PREREQ re clang. * lib/getopt-cdefs.in.h (__GNUC_PREREQ): Copy definition from lib/libc-config.h. * lib/md5.h (__GNUC_PREREQ): Likewise. --- diff --git a/ChangeLog b/ChangeLog index 91af9adb59..15a6910355 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2024-09-21 Bruno Haible + + getopt-posix, crypto/md5-buffer: Fix __GNUC_PREREQ re clang. + * lib/getopt-cdefs.in.h (__GNUC_PREREQ): Copy definition from + lib/libc-config.h. + * lib/md5.h (__GNUC_PREREQ): Likewise. + 2024-09-21 Henrik Lindström getopt-posix: Improve definition of __GNUC_PREREQ. diff --git a/lib/getopt-cdefs.in.h b/lib/getopt-cdefs.in.h index 95f06045f5..9d704a9f6e 100644 --- a/lib/getopt-cdefs.in.h +++ b/lib/getopt-cdefs.in.h @@ -46,10 +46,14 @@ # endif #endif +#if defined __clang__ + /* clang really only groks GNU C 4.2, regardless of its value of __GNUC__. */ +# undef __GNUC_PREREQ +# define __GNUC_PREREQ(maj, min) ((maj) < 4 + ((min) <= 2)) +#endif #ifndef __GNUC_PREREQ # if defined __GNUC__ && defined __GNUC_MINOR__ -# define __GNUC_PREREQ(maj, min) \ - ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +# define __GNUC_PREREQ(maj, min) ((maj) < __GNUC__ + ((min) <= __GNUC_MINOR__)) # else # define __GNUC_PREREQ(maj, min) 0 # endif diff --git a/lib/md5.h b/lib/md5.h index 2f470703f5..94cc6994cc 100644 --- a/lib/md5.h +++ b/lib/md5.h @@ -52,10 +52,14 @@ #define MD5_DIGEST_SIZE 16 #define MD5_BLOCK_SIZE 64 +#if defined __clang__ + /* clang really only groks GNU C 4.2, regardless of its value of __GNUC__. */ +# undef __GNUC_PREREQ +# define __GNUC_PREREQ(maj, min) ((maj) < 4 + ((min) <= 2)) +#endif #ifndef __GNUC_PREREQ # if defined __GNUC__ && defined __GNUC_MINOR__ -# define __GNUC_PREREQ(maj, min) \ - ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +# define __GNUC_PREREQ(maj, min) ((maj) < __GNUC__ + ((min) <= __GNUC_MINOR__)) # else # define __GNUC_PREREQ(maj, min) 0 # endif