summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Arnez <arnez@linux.ibm.com>2020-07-29 19:46:44 +0200
committerAndreas Arnez <arnez@linux.ibm.com>2020-07-29 19:46:44 +0200
commit9811697376b3f1950419ab13b19e2995703b839b (patch)
treea7b1a220104d285867830af766018a70828700b8
parent90fd07fcd3e6af8679df55b67482d5c8ab8dd9b9 (diff)
downloadbinutils-gdb-9811697376b3f1950419ab13b19e2995703b839b.tar.gz
PR26279 Work around maybe-uninitialized warning in s390-mkopc.c
In s390-mkopc.c, the function insertExpandedMnemonic() searches for the first occurrence of '*' or '$' in the given mnemonic, and, if a match is found, chooses an extension table using a switch() on that character. The switch statement contains a default case that prints an error message and does not set the extension table. Although this case cannot occur, some GCC versions obviously conclude that the extension table might have been left uninitialized after the switch statement and consequently emit maybe-uninitialized warnings for the variables 'ext_table' and 'ext_table_length'. Circumvent the warning by handling the unreachable default case with abort(). opcodes/ * s390-mkopc.c (insertExpandedMnemonic): Handle unreachable default case with abort() instead of printing an error message and continuing, to avoid a maybe-uninitialized warning.
-rw-r--r--opcodes/ChangeLog6
-rw-r--r--opcodes/s390-mkopc.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 522d81bd66f..4f56e1385bc 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,9 @@
+2020-07-29 Andreas Arnez <arnez@linux.ibm.com>
+
+ * s390-mkopc.c (insertExpandedMnemonic): Handle unreachable
+ default case with abort() instead of printing an error message and
+ continuing, to avoid a maybe-uninitialized warning.
+
2020-07-24 Nick Clifton <nickc@redhat.com>
* po/de.po: Updated German translation.
diff --git a/opcodes/s390-mkopc.c b/opcodes/s390-mkopc.c
index c593fb60792..b6c49e6d1e2 100644
--- a/opcodes/s390-mkopc.c
+++ b/opcodes/s390-mkopc.c
@@ -240,7 +240,8 @@ insertExpandedMnemonic (char *opcode, char *mnemonic, char *format,
ext_table = s390_crb_extensions;
ext_table_length = NUM_CRB_EXTENSIONS;
break;
- default: fprintf (stderr, "Unknown tag char: %c\n", *tag);
+ default:
+ abort (); /* Should be unreachable. */
}
for (i = 0; i < ext_table_length; i++)