In an -O3 bootstrap, out.clauses are reported as uninitialized.  GCC is
not smart enough to realize accesses to the uninitialized members will
never happen.  It shouldn't be too expensive to initialize them all, so
this is what this patch does.  Regstrapped on x86_64-linux-gnu and
i686-linux-gnu.  Ok to install?

for  gcc/ChangeLog
from  Alexandre Oliva  <aol...@redhat.com>

	* ipa-inline-analysis.c (read_predicate): Initialize all clauses.

Index: gcc/ipa-inline-analysis.c
===================================================================
--- gcc/ipa-inline-analysis.c.orig	2011-05-18 03:29:08.295328903 -0300
+++ gcc/ipa-inline-analysis.c	2011-05-18 03:29:38.187242177 -0300
@@ -2289,6 +2289,11 @@ read_predicate (struct lto_input_block *
       clause = out.clause[k++] = lto_input_uleb128 (ib);
     }
   while (clause);
+
+  /* Zero-initialize the remaining clauses in OUT.  */
+  while (k <= MAX_CLAUSES)
+    out.clause[k++] = 0;
+
   return out;
 }
 
-- 
Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist      Red Hat Brazil Compiler Engineer

Reply via email to