gcc-4 -Og false positive "may be used uninitialised"

Alan Modra amodra@gmail.com
Mon Aug 24 03:58:13 GMT 2020


binutils/
	* readelf.c (dump_section_as_strings) Avoid false positive
	"may be used uninitialised".
gas/
	* config/tc-arm.c (move_or_literal_pool): Avoid false positive
	"may be used uninitialised".
	(opcode_lookup): Likewise.

diff --git a/binutils/readelf.c b/binutils/readelf.c
index c47a77ca8f..86be92e3b0 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -13968,7 +13968,7 @@ dump_section_as_strings (Elf_Internal_Shdr * section, Filedata * filedata)
 
 	  if (maxlen > 0)
 	    {
-	      char c;
+	      char c = 0;
 
 	      while (maxlen)
 		{
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index c5ad2607b3..3eb7e9640a 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -8898,16 +8898,13 @@ move_or_literal_pool (int i, enum lit_type t, bfd_boolean mode_3)
 		  /* Check if on thumb2 it can be done with a mov.w, mvn or
 		     movw instruction.  */
 		  unsigned int newimm;
-		  bfd_boolean isNegated;
+		  bfd_boolean isNegated = FALSE;
 
 		  newimm = encode_thumb32_immediate (v);
-		  if (newimm != (unsigned int) FAIL)
-		    isNegated = FALSE;
-		  else
+		  if (newimm == (unsigned int) FAIL)
 		    {
 		      newimm = encode_thumb32_immediate (~v);
-		      if (newimm != (unsigned int) FAIL)
-			isNegated = TRUE;
+		      isNegated = TRUE;
 		    }
 
 		  /* The number can be loaded with a mov.w or mvn
@@ -22622,6 +22619,7 @@ opcode_lookup (char **str)
   /* Look for unaffixed or special-case affixed mnemonic.  */
   opcode = (const struct asm_opcode *) str_hash_find_n (arm_ops_hsh, base,
 							end - base);
+  cond = NULL;
   if (opcode)
     {
       /* step U */

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list