[binutils-gdb] gdb: fix -Wsingle-bit-bitfield-constant-conversion warning in z80-tdep.c
Simon Marchi
simark@sourceware.org
Tue Mar 7 03:02:48 GMT 2023
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=07f285934886016ddd82cac99a3873e68b499d5c
commit 07f285934886016ddd82cac99a3873e68b499d5c
Author: Simon Marchi <simon.marchi@efficios.com>
Date: Thu Feb 23 12:35:41 2023 -0500
gdb: fix -Wsingle-bit-bitfield-constant-conversion warning in z80-tdep.c
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.
Change-Id: I3550a0112f993865dc70b18f02ab11bb5012693d
Diff:
---
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 9dc24df5ed1..5c66331efcd 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. */
More information about the Gdb-cvs
mailing list