[binutils-gdb] Initialize 'imm' on opcodes/aarch64-opc.c:expand_fp_imm (and fix breakage on mingw)
Sergio Durigan Junior
sergiodj@sourceware.org
Mon Sep 25 05:47:00 GMT 2017
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=57a024f4650d7562e963efb6b00c4a4cd74185c4
commit 57a024f4650d7562e963efb6b00c4a4cd74185c4
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Thu Sep 21 11:46:48 2017 -0400
Initialize 'imm' on opcodes/aarch64-opc.c:expand_fp_imm (and fix breakage on mingw)
Hi,
While compiling GDB using a mingw compiler from Fedora 26:
../gdb/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 \
--disable-binutils --disable-ld --disable-gold --disable-gas --disable-sim \
--disable-gprof --enable-targets=all
I stumbled upon a simple occurrence of -Werror=maybe-uninitialized:
../../gdb/opcodes/aarch64-opc.c: In function 'expand_fp_imm':
../../gdb/opcodes/aarch64-opc.c:2880:10: error: 'imm' may be used uninitialized in this function [-Werror=maybe-uninitialized]
return imm;
^~~
It is the compiler's fault, because this function always assigns to
'imm' if the necessary conditions are met, and it calls "assert (0)"
otherwise, but I thought it'd be clearer to have 'imm' explicitly set
to zero anyway.
opcodes/ChangeLog:
2017-09-21 Sergio Durigan Junior <sergiodj@redhat.com>
* aarch64-opc.c (expand_fp_imm): Initialize 'imm'.
Diff:
---
opcodes/ChangeLog | 4 ++++
opcodes/aarch64-opc.c | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 4974791..082d755 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2017-09-21 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * aarch64-opc.c (expand_fp_imm): Initialize 'imm'.
+
2017-09-09 Kamil Rytarowski <n54@gmx.com>
* nds32-asm.c: Rename __BIT() to N32_BIT().
diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c
index 27c1d09..c93a90a 100644
--- a/opcodes/aarch64-opc.c
+++ b/opcodes/aarch64-opc.c
@@ -2847,7 +2847,7 @@ typedef union
static uint64_t
expand_fp_imm (int size, uint32_t imm8)
{
- uint64_t imm;
+ uint64_t imm = 0;
uint32_t imm8_7, imm8_6_0, imm8_6, imm8_6_repl4;
imm8_7 = (imm8 >> 7) & 0x01; /* imm8<7> */
More information about the Binutils-cvs
mailing list