Index: head/sysutils/xen-tools/Makefile =================================================================== --- head/sysutils/xen-tools/Makefile +++ head/sysutils/xen-tools/Makefile @@ -3,7 +3,7 @@ PORTNAME= xen PKGNAMESUFFIX= -tools PORTVERSION= 4.13.0 -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= sysutils emulators MASTER_SITES= http://downloads.xenproject.org/release/xen/${PORTVERSION}/ @@ -55,6 +55,9 @@ DOCS_ALL_TARGET= docs INSTALL_TARGET= install-tools DOCS_INSTALL_TARGET= install-docs + +# Fix build with clang 10.0 (re convert enum constant to boolean) +EXTRA_PATCHES+= ${PATCHDIR}/0001-libfsimage-fix-clang-10-build.patch .include Index: head/sysutils/xen-tools/files/0001-libfsimage-fix-clang-10-build.patch =================================================================== --- head/sysutils/xen-tools/files/0001-libfsimage-fix-clang-10-build.patch +++ head/sysutils/xen-tools/files/0001-libfsimage-fix-clang-10-build.patch @@ -0,0 +1,52 @@ +From e54c433adf01a242bf6e9fe9378a2c83d3f8b419 Mon Sep 17 00:00:00 2001 +From: Roger Pau Monne +Date: Fri, 13 Mar 2020 09:45:57 +0100 +Subject: [PATCH] libfsimage: fix clang 10 build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +clang complains with: + +fsys_zfs.c:826:2: error: converting the enum constant to a boolean [-Werror,-Wint-in-bool-context] + VERIFY_DN_TYPE(dn, DMU_OT_PLAIN_FILE_CONTENTS); + ^ +/wrkdirs/usr/ports/sysutils/xen-tools/work/xen-4.13.0/tools/libfsimage/zfs/../../../tools/libfsimage/zfs/fsys_zfs.h:74:11: note: expanded from macro 'VERIFY_DN_TYPE' + if (type && (dnp)->dn_type != type) { \ + ^ +1 error generated. + +Fix this by not forcing an implicit conversion of the enum into a +boolean and instead comparing with the 0 enumerator. + +Signed-off-by: Roger Pau Monné +Acked-by: Wei Liu +--- + tools/libfsimage/zfs/fsys_zfs.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/libfsimage/zfs/fsys_zfs.h b/tools/libfsimage/zfs/fsys_zfs.h +index 5cd627dbac..721972a05a 100644 +--- a/tools/libfsimage/zfs/fsys_zfs.h ++++ b/tools/libfsimage/zfs/fsys_zfs.h +@@ -71,7 +71,7 @@ typedef unsigned int size_t; + * Can only be used in functions returning non-0 for failure. + */ + #define VERIFY_DN_TYPE(dnp, type) \ +- if (type && (dnp)->dn_type != type) { \ ++ if (type != DMU_OT_NONE && (dnp)->dn_type != type) { \ + return (ERR_FSYS_CORRUPT); \ + } + +@@ -80,7 +80,7 @@ typedef unsigned int size_t; + * Can only be used in functions returning 0 for failure. + */ + #define VERIFY_OS_TYPE(osp, type) \ +- if (type && (osp)->os_type != type) { \ ++ if (type != DMU_OST_NONE && (osp)->os_type != type) { \ + errnum = ERR_FSYS_CORRUPT; \ + return (0); \ + } +-- +2.25.0 +