summaryrefslogtreecommitdiff
path: root/gold/stringpool.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2013-12-19 21:54:43 -0800
committerIan Lance Taylor <iant@google.com>2013-12-19 21:54:43 -0800
commit6c09fb0ba1f48543909dea5a988cf8f951699d10 (patch)
tree5aed356f8040008776d481bc3f9e7e9f4ef0a334 /gold/stringpool.cc
parent7331bf4ec9af2254904e0b23e822acec8d5ab1f5 (diff)
* stringpool.cc (Stringpool_template::reserve): Add
HAVE_UNORDERED_MAP case. * stringpool.cc (Stringpool_template::print_stats): Likewise.
Diffstat (limited to 'gold/stringpool.cc')
-rw-r--r--gold/stringpool.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/gold/stringpool.cc b/gold/stringpool.cc
index 665fcc8ce5..00ed1842bd 100644
--- a/gold/stringpool.cc
+++ b/gold/stringpool.cc
@@ -73,7 +73,10 @@ Stringpool_template<Stringpool_char>::reserve(unsigned int n)
{
this->key_to_offset_.reserve(n);
-#if defined(HAVE_TR1_UNORDERED_MAP)
+#if defined(HAVE_UNORDERED_MAP)
+ this->string_set_.rehash(this->string_set_.size() + n);
+ return;
+#elif defined(HAVE_TR1_UNORDERED_MAP)
// rehash() implementation is broken in gcc 4.0.3's stl
//this->string_set_.rehash(this->string_set_.size() + n);
//return;
@@ -503,7 +506,7 @@ template<typename Stringpool_char>
void
Stringpool_template<Stringpool_char>::print_stats(const char* name) const
{
-#if defined(HAVE_TR1_UNORDERED_MAP) || defined(HAVE_EXT_HASH_MAP)
+#if defined(HAVE_UNORDERED_MAP) || defined(HAVE_TR1_UNORDERED_MAP) || defined(HAVE_EXT_HASH_MAP)
fprintf(stderr, _("%s: %s entries: %zu; buckets: %zu\n"),
program_name, name, this->string_set_.size(),
this->string_set_.bucket_count());