From 07f285934886016ddd82cac99a3873e68b499d5c Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Thu, 23 Feb 2023 12:35:41 -0500 Subject: [PATCH] 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 --- 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. */ -- 2.30.2