From 2072f8f14fdb400957117f542ad69a36aab73eb5 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 26 Feb 2004 04:07:12 +0000 Subject: [PATCH] Fix typeo. grow() cannot shrink storage. clear() should really nuke storage llvm-svn: 11865 --- include/Support/DenseMap.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/include/Support/DenseMap.h b/include/Support/DenseMap.h index 5fcdfae9dea..9d713d97c36 100644 --- a/include/Support/DenseMap.h +++ b/include/Support/DenseMap.h @@ -9,7 +9,7 @@ // // This file implements a dense map. A dense map template takes two // types. The first is the mapped type and the second is a functor -// that maps its argument to a size_t. On instanciation a "null" value +// that maps its argument to a size_t. On instantiation a "null" value // can be provided to be used as a "does not exist" indicator in the // map. A member function grow() is provided that given the value of // the maximally indexed key (the argument of the functor) makes sure @@ -48,11 +48,13 @@ public: } void clear() { - storage_.assign(storage_.size(), nullVal_); + storage_.clear(); } void grow(IndexT n) { - storage_.resize(toIndex_(n) + 1, nullVal_); + unsigned NewSize = toIndex_(n) + 1; + if (NewSize > storage_.size()) + storage_.resize(NewSize, nullVal_); } };