From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id D440C3856956 for ; Fri, 5 May 2023 15:48:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D440C3856956 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=efficios.com Received: from smarchi-efficios.internal.efficios.com (192-222-143-198.qc.cable.ebox.net [192.222.143.198]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 3D4EF1E11D; Fri, 5 May 2023 11:48:52 -0400 (EDT) From: Simon Marchi To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 2/2] gdb: fix -Wsingle-bit-bitfield-constant-conversion warning in z80-tdep.c Date: Fri, 5 May 2023 11:48:50 -0400 Message-Id: <20230505154850.48685-3-simon.marchi@efficios.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230505154850.48685-1-simon.marchi@efficios.com> References: <20230505154850.48685-1-simon.marchi@efficios.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3497.3 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_NONE,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_SOFTFAIL,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: When building with clang 16, I see: /home/smarchi/src/binutils-gdb/gdb/z80-tdep.c:338: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] info->prologue_type.load_args = 1; ^ ~ /home/smarchi/src/binutils-gdb/gdb/z80-tdep.c:345:36: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] info->prologue_type.critical = 1; ^ ~ /home/smarchi/src/binutils-gdb/gdb/z80-tdep.c:351:37: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] info->prologue_type.interrupt = 1; ^ ~ /home/smarchi/src/binutils-gdb/gdb/z80-tdep.c:367:36: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] info->prologue_type.fp_sdcc = 1; ^ ~ /home/smarchi/src/binutils-gdb/gdb/z80-tdep.c:375:35: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] info->prologue_type.fp_sdcc = 1; ^ ~ /home/smarchi/src/binutils-gdb/gdb/z80-tdep.c:380:35: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] info->prologue_type.fp_sdcc = 1; ^ ~ Fix that by using "unsigned int" as the bitfield's underlying type. (cherry picked from commit 07f285934886016ddd82cac99a3873e68b499d5c) Change-Id: I3550a0112f993865dc70b18f02ab11bb5012693d Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30423 --- gdb/z80-tdep.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gdb/z80-tdep.c b/gdb/z80-tdep.c index aa296c7169f6..2af6198ff3fc 100644 --- a/gdb/z80-tdep.c +++ b/gdb/z80-tdep.c @@ -98,11 +98,11 @@ struct z80_unwind_cache struct { - int called:1; /* there is return address on stack */ - int load_args:1; /* prologues loads args using POPs */ - int fp_sdcc:1; /* prologue saves and adjusts frame pointer IX */ - int interrupt:1; /* __interrupt handler */ - int critical:1; /* __critical function */ + unsigned int called : 1; /* there is return address on stack */ + unsigned int load_args : 1; /* prologues loads args using POPs */ + unsigned int fp_sdcc : 1; /* prologue saves and adjusts frame pointer IX */ + unsigned int interrupt : 1; /* __interrupt handler */ + unsigned int critical : 1; /* __critical function */ } prologue_type; /* Table indicating the location of each and every register. */ -- 2.40.1