On 06/06/2015 05:49 AM, Andreas Schwab wrote:
Bootstrap fails on aarch64:

Comparing stages 2 and 3
warning: gcc/cc1objplus-checksum.o differs
warning: gcc/cc1obj-checksum.o differs
warning: gcc/cc1plus-checksum.o differs
warning: gcc/cc1-checksum.o differs
Bootstrap comparison failure!
gcc/ira-costs.o differs
gcc/tree-sra.o differs
gcc/tree-parloops.o differs
gcc/tree-vect-data-refs.o differs
gcc/java/jcf-io.o differs
gcc/ipa-inline-analysis.o differs

and on ia64:

../../gcc/dwarf2out.c: In function 'void gen_block_die(tree, dw_die_ref)':
../../gcc/dwarf2out.c:19868:42: error: 'stmt_die' may be used uninitialized in \
this function [-Werror=maybe-uninitialized]
   add_high_low_attributes (stmt, stmt_die);
                                           ^
../../gcc/dwarf2out.c:19821:14: note: 'stmt_die' was declared here
    dw_die_ref stmt_die;

Does the attached fix the ia64 failure?

commit 6c40c8f011bbd09ea92749f3925db83f249baf74
Author: Aldy Hernandez <al...@redhat.com>
Date:   Sat Jun 6 06:48:40 2015 -0400

        * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.

diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 2e3bee3..23cf120 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -19818,7 +19818,7 @@ static void
 gen_lexical_block_die (tree stmt, dw_die_ref context_die)
 {
   dw_die_ref old_die = BLOCK_DIE (stmt);
-  dw_die_ref stmt_die;
+  dw_die_ref stmt_die = NULL;
   if (!old_die)
     {
       stmt_die = new_die (DW_TAG_lexical_block, context_die, stmt);
@@ -19859,13 +19859,13 @@ gen_lexical_block_die (tree stmt, dw_die_ref 
context_die)
   if (old_die)
     stmt_die = old_die;
 
-  if (!early_dwarf)
+  /* A non abstract block whose blocks have already been reordered
+     should have the instruction range for this block.  If so, set the
+     high/low attributes.  */
+  if (!early_dwarf && !BLOCK_ABSTRACT (stmt) && TREE_ASM_WRITTEN (stmt))
     {
-      /* A non abstract block whose blocks have already been reordered
-        should have the instruction range for this block.  If so, set the
-        high/low attributes.  */
-      if (! BLOCK_ABSTRACT (stmt) && TREE_ASM_WRITTEN (stmt))
-       add_high_low_attributes (stmt, stmt_die);
+      gcc_assert (stmt_die);
+      add_high_low_attributes (stmt, stmt_die);
     }
 
   decls_for_scope (stmt, stmt_die);

Reply via email to