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
This commit is contained in:
Lexi Winter
2026-04-27 22:31:47 +01:00
parent b866d05ea2
commit 036ff38ebd
+5
View File
@@ -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.