This is an automated email from Gerrit. "Antonio Borneo <borneo.anto...@gmail.com>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/7544
-- gerrit commit 40f9f9f668bedf97a8a76805b3e3d285a65c6c13 Author: Antonio Borneo <borneo.anto...@gmail.com> Date: Sun Mar 19 10:57:04 2023 +0100 helper/compiler: fix build on MacOS On MacOS, clang defines [1]: #define __nonnull _Nonnull that creates incompatibility with GCC and with the macro __nonnull defined in some libc. Detect clang on MacOS and undefine __nonnull. Change-Id: I64fcf51b102ea91c196e657debd8c267943a2b08 Signed-off-by: Antonio Borneo <borneo.anto...@gmail.com> Links: [1] https://github.com/llvm/llvm-project/blob/llvmorg-16.0.0/clang/lib/Frontend/InitPreprocessor.cpp#L1226 diff --git a/src/helper/compiler.h b/src/helper/compiler.h index 8f6c09950b..33a075d64f 100644 --- a/src/helper/compiler.h +++ b/src/helper/compiler.h @@ -32,7 +32,15 @@ /* * The __nonnull function attribute marks pointer parameters that * must not be NULL. + * + * clang for Apple defines + * #define __nonnull _Nonnull + * that is a per argument attribute, incompatible with the gcc per function attribute __nonnull__. + * Undefine it to keep compatibility among compilers. */ +#if defined(__clang__) && defined(__APPLE__) +# undef __nonnull +#endif #ifndef __nonnull # if __has_attribute(__nonnull__) # define __nonnull(params) __attribute__ ((__nonnull__ params)) --