From e106fc2e45fa1225d6d01da972e7c2437cfd0628 Mon Sep 17 00:00:00 2001 From: aoliva Date: Fri, 16 Jan 2009 20:44:25 +0000 Subject: [PATCH] * ebitmap.h (ebitmap_iter_init): Initialize all fields. * 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 | 6 ++++++ gcc/ebitmap.h | 10 ++++++++-- gcc/ipa-struct-reorg.c | 3 ++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f3c186ee1d7..77cf99cb6dd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-01-16 Alexandre Oliva + + * 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 PR tree-optimization/38835 diff --git a/gcc/ebitmap.h b/gcc/ebitmap.h index 2916e44b223..f2f2b705e89 100644 --- a/gcc/ebitmap.h +++ b/gcc/ebitmap.h @@ -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; diff --git a/gcc/ipa-struct-reorg.c b/gcc/ipa-struct-reorg.c index d1d7b1ca969..cde905e35cc 100644 --- a/gcc/ipa-struct-reorg.c +++ b/gcc/ipa-struct-reorg.c @@ -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); } -- 2.11.0