fix: exclude clang from GCC version blacklists
authorMichael Jeanson <mjeanson@efficios.com>
Mon, 25 Jan 2021 18:36:24 +0000 (13:36 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 25 Jan 2021 21:31:12 +0000 (16:31 -0500)
URCU_GCC_VERSION is used to blacklist specific GCC versions with known
bugs, clang also defines these macros to an equivalent GCC version it
claims to support, so exclude it.

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Idf0980fddca6533313a3367601ddda8d8e13bfdf

include/urcu/compiler.h

index 4806ee338a99706ae5bb9eedb503fdc54e00c661..34eb564bb77795e9e77d21983240c3327b3401d1 100644 (file)
 
 #define CAA_ARRAY_SIZE(x)      (sizeof(x) / sizeof((x)[0]))
 
 
 #define CAA_ARRAY_SIZE(x)      (sizeof(x) / sizeof((x)[0]))
 
-#ifdef __GNUC__
+/*
+ * URCU_GCC_VERSION is used to blacklist specific GCC versions with known
+ * bugs, clang also defines these macros to an equivalent GCC version it
+ * claims to support, so exclude it.
+ */
+#if defined(__GNUC__) && !defined(__clang__)
 # define URCU_GCC_VERSION      (__GNUC__ * 10000 \
                                + __GNUC_MINOR__ * 100 \
                                + __GNUC_PATCHLEVEL__)
 # define URCU_GCC_VERSION      (__GNUC__ * 10000 \
                                + __GNUC_MINOR__ * 100 \
                                + __GNUC_PATCHLEVEL__)
This page took 0.025393 seconds and 4 git commands to generate.