OSDN Git Service

* ebitmap.h (ebitmap_iter_init): Initialize all fields.
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Jan 2009 20:44:25 +0000 (20:44 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Jan 2009 20:44:25 +0000 (20:44 +0000)
* ipa-struct-reorg.c (gen_struct_type): Replace known-true
test with assertion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143443 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ebitmap.h
gcc/ipa-struct-reorg.c

index f3c186e..77cf99c 100644 (file)
@@ -1,3 +1,9 @@
+2009-01-16  Alexandre Oliva  <aoliva@redhat.com>
+
+       * ebitmap.h (ebitmap_iter_init): Initialize all fields.
+       * ipa-struct-reorg.c (gen_struct_type): Replace known-true
+       test with assertion.
+
 2009-01-16  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/38835
index 2916e44..f2f2b70 100644 (file)
@@ -1,5 +1,5 @@
 /* Sparse array based bitmaps.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -95,7 +95,13 @@ ebitmap_iter_init (ebitmap_iterator *i, ebitmap bmp, unsigned int min)
                     min / EBITMAP_ELT_BITS);
   i->size = bmp->numwords;
   if (i->size == 0)
-    return;
+    {
+      i->ptr = NULL;
+      i->eltnum = 0;
+      i->bit_num = 0;
+      i->word = 0;
+      return;
+    }
   i->ptr = bmp->elts;
   i->bit_num = min;
   i->eltnum = 0;
index d1d7b1c..cde905e 100644 (file)
@@ -1865,8 +1865,9 @@ gen_struct_type (tree decl, tree new_str_type)
          wr.wrap = 0;
          wr.domain = NULL_TREE;
        }
-      else if (TREE_CODE (type_orig) == ARRAY_TYPE)
+      else
        {
+         gcc_assert (TREE_CODE (type_orig) == ARRAY_TYPE);
          wr.wrap = 1;
          wr.domain = TYPE_DOMAIN (type_orig);
        }