git: 036ff38ebd5a - main - libzpool: Set -Wno-error=typedef-redefinition for clang
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 27 Apr 2026 22:06:40 UTC
The branch main has been updated by ivy:
URL: https://cgit.FreeBSD.org/src/commit/?id=036ff38ebd5a52f26fc2f20238a492a9d0c5f2e6
commit 036ff38ebd5a52f26fc2f20238a492a9d0c5f2e6
Author: Lexi Winter <ivy@FreeBSD.org>
AuthorDate: 2026-04-27 21:31:47 +0000
Commit: Lexi Winter <ivy@FreeBSD.org>
CommitDate: 2026-04-27 21:31:47 +0000
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
---
cddl/lib/libzpool/Makefile | 5 +++++
1 file changed, 5 insertions(+)
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.