git: 036ff38ebd5a - main - libzpool: Set -Wno-error=typedef-redefinition for clang

From: Lexi Winter <ivy_at_FreeBSD.org>
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.