aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLexi Winter <ivy@FreeBSD.org>2026-04-27 21:31:47 +0000
committerLexi Winter <ivy@FreeBSD.org>2026-04-27 21:31:47 +0000
commit036ff38ebd5a52f26fc2f20238a492a9d0c5f2e6 (patch)
tree2965f4ce0d9e2995aabd7c55158f57443e07fa67
parentb866d05ea2860f9ccc27c75ff0501372896b5bf2 (diff)
libzpool: Set -Wno-error=typedef-redefinition for clang
In some versions of LLVM (at least 21), the <*intrin.h> headers contain unguarded duplicate typedefs; this isn't permitted prior to C11, and libzpool is built as C99. FreeBSD's LLVM backported LLVM PR #153820 to fix this, but other versions of LLVM (e.g., upstream, or on Linux) don't have the patch, so this breaks the build. Add -Wno-error=typedef-redefinition to downgrade this from an error to a warning. MFC after: 2 weeks Reviewed by: dim, emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56653
-rw-r--r--cddl/lib/libzpool/Makefile5
1 files changed, 5 insertions, 0 deletions
diff --git a/cddl/lib/libzpool/Makefile b/cddl/lib/libzpool/Makefile
index 0c680367956f..db09d33e19b4 100644
--- a/cddl/lib/libzpool/Makefile
+++ b/cddl/lib/libzpool/Makefile
@@ -293,6 +293,11 @@ CFLAGS+= -g -DDEBUG=1
CFLAGS.gcc+= -Wno-pointer-to-int-cast
+# Some versions of LLVM contain duplicate typedefs in the <*intrin.h> headers,
+# which are not allowed prior to C11; since libzpool is built with C99, make
+# this not be an error.
+CFLAGS.clang+= -Wno-error=typedef-redefinition
+
# Pointer values are used as debugging "tags" to mark reference count
# ownerships and in some cases the tag reference is dropped after an
# object is freed.