public inbox for binutils-cvs@sourceware.org
 help / color / mirror / Atom feed
* [binutils-gdb] opcodes/arm: silence compiler warning about uninitialized variable use
@ 2022-11-04 10:58 Andrew Burgess
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Burgess @ 2022-11-04 10:58 UTC (permalink / raw)
  To: bfd-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d8521074fe20928d34072701043806f381c5a07d

commit d8521074fe20928d34072701043806f381c5a07d
Author: Andrew Burgess <aburgess@redhat.com>
Date:   Fri Nov 4 10:46:59 2022 +0000

    opcodes/arm: silence compiler warning about uninitialized variable use
    
    After this commit:
    
      commit 6576bffe6cbbb53c5756b2fccd2593ba69b74cdf
      Date:   Thu Jul 7 13:43:45 2022 +0100
    
          opcodes/arm: add disassembler styling for arm
    
    Some people were seeing their builds failing with complaints about a
    possible uninitialized variable usage.  I previously fixed an instance
    of this issue in this commit:
    
      commit 2df82cd4b459fbc32120e0ad1ce19e26349506fe
      Date:   Tue Nov 1 10:36:59 2022 +0000
    
          opcodes/arm: silence compiler warning about uninitialized variable use
    
    which did fix the build problems that the sourceware buildbot was
    hitting, however, an additional instance of the same problem was
    brought to my attention, and that is fixed in this commit.
    
    Where commit 2df82cd4b4 fixed the uninitialized variable problem in
    print_mve_unpredictable, this commit fixes the same problem in
    print_mve_undefined.
    
    As with the previous commit, I don't believe we could really ever get
    an uninitialized variable usage, based on the current usage of the
    function, so I have just initialized the reason variable to "??".

Diff:
---
 opcodes/arm-dis.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c
index 31ed81f5a4e..47a0a38adec 100644
--- a/opcodes/arm-dis.c
+++ b/opcodes/arm-dis.c
@@ -7148,7 +7148,9 @@ print_mve_undefined (struct disassemble_info *info,
 {
   void *stream = info->stream;
   fprintf_styled_ftype func = info->fprintf_styled_func;
-  const char *reason;
+  /* Initialize REASON to avoid compiler warning about uninitialized
+     usage, though such usage should be impossible.  */
+  const char *reason = "??";
 
   switch (undefined_code)
     {

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [binutils-gdb] opcodes/arm: silence compiler warning about uninitialized variable use
@ 2022-11-01 10:51 Andrew Burgess
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Burgess @ 2022-11-01 10:51 UTC (permalink / raw)
  To: bfd-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2df82cd4b459fbc32120e0ad1ce19e26349506fe

commit 2df82cd4b459fbc32120e0ad1ce19e26349506fe
Author: Andrew Burgess <aburgess@redhat.com>
Date:   Tue Nov 1 10:36:59 2022 +0000

    opcodes/arm: silence compiler warning about uninitialized variable use
    
    The earlier commit:
    
      commit 6576bffe6cbbb53c5756b2fccd2593ba69b74cdf
      Date:   Thu Jul 7 13:43:45 2022 +0100
    
          opcodes/arm: add disassembler styling for arm
    
    was causing a compiler warning about a possible uninitialized variable
    usage within opcodes/arm-dis.c.
    
    The problem is in print_mve_unpredictable, and relates to the reason
    variable, which is set by a switch table.
    
    Currently the switch table does cover every valid value, though there
    is no default case.  The variable switched on is passed in as an
    argument to the print_mve_unpredictable function.
    
    Looking at how print_mve_unpredictable is used, there is only one use,
    the second argument is the one that is used for the switch table,
    looking at how this argument is set, I don't believe it is possible
    for this argument to take an invalid value.
    
    So, I think the compiler warning is a false positive.  As such, my
    proposed solution is to initialize the reason variable to the string
    "??", this will silence the warning, and the "??" string should never
    end up being printed.

Diff:
---
 opcodes/arm-dis.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c
index 6d302ec50ba..101b3f84dfe 100644
--- a/opcodes/arm-dis.c
+++ b/opcodes/arm-dis.c
@@ -7234,7 +7234,9 @@ print_mve_unpredictable (struct disassemble_info *info,
 {
   void *stream = info->stream;
   fprintf_styled_ftype func = info->fprintf_styled_func;
-  const char *reason;
+  /* Initialize REASON to avoid compiler warning about uninitialized
+     usage, though such usage should be impossible.  */
+  const char *reason = "??";
 
   switch (unpredict_code)
     {

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-11-04 10:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-04 10:58 [binutils-gdb] opcodes/arm: silence compiler warning about uninitialized variable use Andrew Burgess
  -- strict thread matches above, loose matches on Subject: below --
2022-11-01 10:51 Andrew Burgess

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).