aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDodji Seketeli <dodji@redhat.com>2013-02-06 08:18:26 +0000
committerDodji Seketeli <dodji@gcc.gnu.org>2013-02-06 09:18:26 +0100
commitc8ab2cfaff7352e54df917ace1ce91e9ccd82506 (patch)
tree61367319d60feeb5b07ef6e39d8ca63cd8ebdf69
parentea48c8a0264d397509944ff69ec5d2289663243a (diff)
downloadgcc-c8ab2cfaff7352e54df917ace1ce91e9ccd82506.zip
gcc-c8ab2cfaff7352e54df917ace1ce91e9ccd82506.tar.gz
gcc-c8ab2cfaff7352e54df917ace1ce91e9ccd82506.tar.bz2
Add missing explicit instantiation for std::lower_bound template
Since commit r195676[1], it looks like libstdc++-v3/src/c++11/hashtable_c++0x.cc is missing an explicit instantiation for std::lower_bound. This leads to libstdc++.so having the symbol for that (missing) instantiation be undefined, thus preventing executables from being linked with libstdc++. The patchlet below seems to fixed the issue for me. Boostrapped and tested on x86_64-unknown-linux-gnu. [1]: commit bc36b44c7cb0e5e97ac807b8fb17507e0fb09008 Author: fdumont <fdumont@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Fri Feb 1 20:44:41 2013 +0000 2013-02-01 François Dumont <fdumont@gcc.gnu.org> * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt) (_Prime_rehash_policy::_M_need_rehash): Move definition... * src/c++11/hashtable_c++0x.cc: ... here. * src/shared/hashtable-aux.cc: Remove c++config.h include. * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy symbols. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195676 138bc75d-0d04-0410-961f-82ee72b054a4 libstdc++-v3/ChangeLog * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add missing instantiation for std::lower_bound template. From-SVN: r195783
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/src/c++11/hashtable_c++0x.cc7
2 files changed, 13 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index dc96107..a898d77 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2013-02-04 Dodji Seketeli <dodji@redhat.com>
+
+ Add missing explicit instantiation for std::lower_bound template
+ * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
+ missing instantiation for std::lower_bound template.
+
2013-02-04 François Dumont <fdumont@gcc.gnu.org>
* include/bits/functional_hash.h (std::__is_fast_hash<>): New.
diff --git a/libstdc++-v3/src/c++11/hashtable_c++0x.cc b/libstdc++-v3/src/c++11/hashtable_c++0x.cc
index 7617c58..b6a56bc 100644
--- a/libstdc++-v3/src/c++11/hashtable_c++0x.cc
+++ b/libstdc++-v3/src/c++11/hashtable_c++0x.cc
@@ -94,4 +94,11 @@ namespace __detail
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace __detail
+
+ // Instantiations.
+ template
+ const unsigned long*
+ lower_bound<const unsigned long*, size_t>(const unsigned long*,
+ const unsigned long*,
+ const size_t&);
} // namespace std