From nobody Sun Jul 23 18:26:46 2023
X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R8BZt3XBpz4p5yw;
	Sun, 23 Jul 2023 18:26:46 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4R8BZt34mcz3Qsr;
	Sun, 23 Jul 2023 18:26:46 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
	t=1690136806;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=bbFH/1FWYH3SC/7QwIqAHudoXOQfL1wV/NA6STtC2zE=;
	b=MjDW3iySPIb5tkmaw7W4w8n6AnfqJznu/PZfSs5uAozj89rWLtb4GcNPr+zHf6nP6H5GP5
	YMScBD0ZV8JnbDSybIdjG9JXBVIfWz2/fURrMTj+jj2Z4aQIp14KsYXJPdeIFNNPVIhdd/
	pIF2OhWKItEKDCYf7wO3bEu7zvfYrqjLv5Mpy9w3PHToLgWz/aK2aPemD1gyLtb0SY/d64
	FZsnV4a/CkSG6ddEnDtVkh/Alfpw3G9FCY5yw31AIBkuvTCAkkhsFjqVSjJK4mJlpgFQOU
	/CFCy2ZLXSmJ1SF/FWCKjiwO6XtuJy5ADAJtWXYcDhKXofGiO1nyIxfB8QKWMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
	s=dkim; t=1690136806;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=bbFH/1FWYH3SC/7QwIqAHudoXOQfL1wV/NA6STtC2zE=;
	b=D70xZ+ZGI15wFl1okBHerZ6r2hfyQyGZ4HPhmSSXWmwwE/0Vyh4bcT8j4zH3wuNkXdn+GD
	/j+mF1yzWTCjGc916XcuahTfG5k56/7CYMSCK+JFHvUiWrNWWj+v4EU7yc/51QmMIQE0bO
	/oLdqpfvqoCVkilN3aosemk2WVxJ1ygOCfxIOTsWIqQuYh4JIJLas3QrLAELC/cnVezXQN
	wH23M7AnJ5sdT43JKSa1uJFtY2Ul1CRiKMdWLdIl+ueVI0KLXAuFGqHMiokX6QQLuYEUVI
	hfQcLwYPNZzD5XxD4ImsjbG/fVLwPwoNvkV0dv3q917lTZTDGc/OABWxTafJ9A==
ARC-Authentication-Results: i=1;
	mx1.freebsd.org;
	none
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1690136806; a=rsa-sha256; cv=none;
	b=JcLKvn1GRsg60eWQN6Ea7eiwU096Cg0AAf58BLzdTB3g1Jue6+uXTfNedng25BdZf5UryJ
	ZeL/kDCdm3ewNpPBLTt8DJ2lvQwOA+XKTZUguf+ZNVVN8JuQAs1k/eNuI/EHnIk6ybN6Lm
	ghPqJjc78NhGKFElOgOjQkIuxCN+XjC4QZpil3oljVDAowcYFOOXxv+s6KV3JVpmUVdOln
	CkheArixrm3u78bWBy4FLzQlUcwP8sKsipRGYyhSVD5GgktYsYOF+ht62EFe2CAV/txX5c
	bD5bfw5t/J2t5szrwlPQG/XninEngK0MGQPnSLedRqgjWFdKlgmzWUoz+sgGVA==
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(Client did not present a certificate)
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R8BZt27g2zmkp;
	Sun, 23 Jul 2023 18:26:46 +0000 (UTC)
	(envelope-from git@FreeBSD.org)
Received: from gitrepo.freebsd.org ([127.0.1.44])
	by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 36NIQkvE058579;
	Sun, 23 Jul 2023 18:26:46 GMT
	(envelope-from git@gitrepo.freebsd.org)
Received: (from git@localhost)
	by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36NIQknl058578;
	Sun, 23 Jul 2023 18:26:46 GMT
	(envelope-from git)
Date: Sun, 23 Jul 2023 18:26:46 GMT
Message-Id: <202307231826.36NIQknl058578@gitrepo.freebsd.org>
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org,
        dev-commits-src-branches@FreeBSD.org
From: Dimitry Andric <dim@FreeBSD.org>
Subject: git: 814cfa6ad43c - stable/13 - libarchive: make single bit bitfields unsigned to avoid clang 16 warning
List-Id: Commits to the stable branches of the FreeBSD src repository <dev-commits-src-branches.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches
List-Help: <mailto:dev-commits-src-branches+help@freebsd.org>
List-Post: <mailto:dev-commits-src-branches@freebsd.org>
List-Subscribe: <mailto:dev-commits-src-branches+subscribe@freebsd.org>
List-Unsubscribe: <mailto:dev-commits-src-branches+unsubscribe@freebsd.org>
Sender: owner-dev-commits-src-branches@freebsd.org
X-BeenThere: dev-commits-src-branches@freebsd.org
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: dim
X-Git-Repository: src
X-Git-Refname: refs/heads/stable/13
X-Git-Reftype: branch
X-Git-Commit: 814cfa6ad43c73de9b8030f241f516dad3f669ef
Auto-Submitted: auto-generated

The branch stable/13 has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=814cfa6ad43c73de9b8030f241f516dad3f669ef

commit 814cfa6ad43c73de9b8030f241f516dad3f669ef
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-04-17 16:20:56 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-07-23 17:38:06 +0000

    libarchive: make single bit bitfields unsigned to avoid clang 16 warning
    
    Clang 16 introduced a warning about single bit bitfields in structs,
    which is triggered by various declarations in libarchive:
    
        contrib/libarchive/libarchive/archive_write_set_format_7zip.c:1541:13: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                        file->dir = 1;
                                  ^ ~
        contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:5127:15: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                        isoent->dir = 1;
                                    ^ ~
        contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:5213:14: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                isoent->dir = 1;
                            ^ ~
        contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:5214:18: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                isoent->virtual = 1;
                                ^ ~
        contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7149:18: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                isoent->virtual = 1;
                                ^ ~
        contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7435:32: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                        iso9660->zisofs.detect_magic = 1;
                                                     ^ ~
        contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7495:25: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                iso9660->zisofs.making = 1;
                                       ^ ~
        contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7496:26: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                iso9660->zisofs.allzero = 1;
                                        ^ ~
        contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7702:28: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                                iso9660->zisofs.allzero = 1;
                                                        ^ ~
        contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7871:25: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                        zisofs->header_passed = 1;
                                              ^ ~
        contrib/libarchive/libarchive/archive_write_set_format_iso9660.c:7894:24: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                                zisofs->initialized = 1;
                                                    ^ ~
    
    Signed one-bit bitfields can only have values -1 and 0, but the intent
    here is to use the fields as booleans, so make them unsigned.
    
    This has also been sent upstream.
    
    MFC after:      3 days
    
    (cherry picked from commit 67ecab6f50ff29e9bda340be1e9d2acc963c9a2b)
---
 .../libarchive/libarchive/archive_write_set_format_7zip.c  |  2 +-
 .../libarchive/archive_write_set_format_iso9660.c          | 14 +++++++-------
 .../libarchive/libarchive/archive_write_set_format_xar.c   |  4 ++--
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/contrib/libarchive/libarchive/archive_write_set_format_7zip.c b/contrib/libarchive/libarchive/archive_write_set_format_7zip.c
index d5ca9a665654..f4b34685d3d0 100644
--- a/contrib/libarchive/libarchive/archive_write_set_format_7zip.c
+++ b/contrib/libarchive/libarchive/archive_write_set_format_7zip.c
@@ -165,7 +165,7 @@ struct file {
 	mode_t			 mode;
 	uint32_t		 crc32;
 
-	signed int		 dir:1;
+	unsigned int		 dir:1;
 };
 
 struct _7zip {
diff --git a/contrib/libarchive/libarchive/archive_write_set_format_iso9660.c b/contrib/libarchive/libarchive/archive_write_set_format_iso9660.c
index 58b7216a8071..b3e41d4ab997 100644
--- a/contrib/libarchive/libarchive/archive_write_set_format_iso9660.c
+++ b/contrib/libarchive/libarchive/archive_write_set_format_iso9660.c
@@ -289,12 +289,12 @@ struct isoent {
 		struct extr_rec	*current;
 	}			 extr_rec_list;
 
-	signed int		 virtual:1;
+	unsigned int		 virtual:1;
 	/* If set to one, this file type is a directory.
 	 * A convenience flag to be used as
 	 * "archive_entry_filetype(isoent->file->entry) == AE_IFDIR".
 	 */
-	signed int		 dir:1;
+	unsigned int		 dir:1;
 };
 
 struct hardlink {
@@ -755,9 +755,9 @@ struct iso9660 {
 
 	/* Used for making zisofs. */
 	struct {
-		signed int	 detect_magic:1;
-		signed int	 making:1;
-		signed int	 allzero:1;
+		unsigned int	 detect_magic:1;
+		unsigned int	 making:1;
+		unsigned int	 allzero:1;
 		unsigned char	 magic_buffer[64];
 		int		 magic_cnt;
 
@@ -7802,8 +7802,8 @@ struct zisofs_extract {
 	uint64_t	 pz_uncompressed_size;
 	size_t		 uncompressed_buffer_size;
 
-	signed int	 initialized:1;
-	signed int	 header_passed:1;
+	unsigned int	 initialized:1;
+	unsigned int	 header_passed:1;
 
 	uint32_t	 pz_offset;
 	unsigned char	*block_pointers;
diff --git a/contrib/libarchive/libarchive/archive_write_set_format_xar.c b/contrib/libarchive/libarchive/archive_write_set_format_xar.c
index d885f5c256d3..9d5e5dd41cbb 100644
--- a/contrib/libarchive/libarchive/archive_write_set_format_xar.c
+++ b/contrib/libarchive/libarchive/archive_write_set_format_xar.c
@@ -212,8 +212,8 @@ struct file {
 	struct heap_data	 data;
         struct archive_string    script;
 
-	signed int		 virtual:1;
-	signed int		 dir:1;
+	unsigned int		 virtual:1;
+	unsigned int		 dir:1;
 };
 
 struct hardlink {