diff mbox

s390x: silence warning from GCC on uninitialized values

Message ID 1360013039-20444-1-git-send-email-aliguori@us.ibm.com
State New
Headers show

Commit Message

Anthony Liguori Feb. 4, 2013, 9:23 p.m. UTC
As best I can tell, this is a false positive.

  [aliguori@ccnode4 qemu-s390]$ make
    CC    s390x-softmmu/target-s390x/helper.o
  /home/aliguori/git/qemu/target-s390x/helper.c: In function ‘do_interrupt’:
  /home/aliguori/git/qemu/target-s390x/helper.c:673:17: error: ‘addr’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  /home/aliguori/git/qemu/target-s390x/helper.c:620:20: note: ‘addr’ was declared here
  /home/aliguori/git/qemu/target-s390x/helper.c:673:17: error: ‘mask’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  /home/aliguori/git/qemu/target-s390x/helper.c:620:14: note: ‘mask’ was declared here
  cc1: all warnings being treated as errors
  make[1]: *** [target-s390x/helper.o] Error 1
  make: *** [subdir-s390x-softmmu] Error 2

Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
 target-s390x/helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Stefan Weil Feb. 4, 2013, 9:57 p.m. UTC | #1
Am 04.02.2013 22:23, schrieb Anthony Liguori:
> As best I can tell, this is a false positive.
>
>   [aliguori@ccnode4 qemu-s390]$ make
>     CC    s390x-softmmu/target-s390x/helper.o
>   /home/aliguori/git/qemu/target-s390x/helper.c: In function ‘do_interrupt’:
>   /home/aliguori/git/qemu/target-s390x/helper.c:673:17: error: ‘addr’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
>   /home/aliguori/git/qemu/target-s390x/helper.c:620:20: note: ‘addr’ was declared here
>   /home/aliguori/git/qemu/target-s390x/helper.c:673:17: error: ‘mask’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
>   /home/aliguori/git/qemu/target-s390x/helper.c:620:14: note: ‘mask’ was declared here
>   cc1: all warnings being treated as errors
>   make[1]: *** [target-s390x/helper.o] Error 1
>   make: *** [subdir-s390x-softmmu] Error 2
>

Yes, this is a false positive. A better compiler will complain when your
patch was applied because addr, mask are assigned values which are
never used...

Would it be possible to completely eliminate variable "found" and
move the DPRINTF, load_psw statements into the for loop (just before
the break statement)?

Stefan W.
Anthony Liguori Feb. 4, 2013, 10:50 p.m. UTC | #2
Applied.  Thanks.

Regards,

Anthony Liguori
diff mbox

Patch

diff --git a/target-s390x/helper.c b/target-s390x/helper.c
index 8bd84ef..043feb2 100644
--- a/target-s390x/helper.c
+++ b/target-s390x/helper.c
@@ -617,7 +617,7 @@  static void do_ext_interrupt(CPUS390XState *env)
 
 static void do_io_interrupt(CPUS390XState *env)
 {
-    uint64_t mask, addr;
+    uint64_t mask = 0, addr = 0;
     LowCore *lowcore;
     IOIntQueue *q;
     uint8_t isc;