[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