aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2011-01-20 20:04:25 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2011-01-20 20:04:25 +0000
commit9b690d8cc39a3dc6d78dde98ac2e339182bb798d (patch)
treee15df2961e3042199f2b8c132a0935254907f314
parent191e7a3000dae4cde90123c0228138217abbad4d (diff)
downloadgcc-9b690d8cc39a3dc6d78dde98ac2e339182bb798d.zip
gcc-9b690d8cc39a3dc6d78dde98ac2e339182bb798d.tar.gz
gcc-9b690d8cc39a3dc6d78dde98ac2e339182bb798d.tar.bz2
PR libstdc++/36104 part three
2011-01-20 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/36104 part three * src/hashtable_c++0x.cc: Adjust namespace macros. * testsuite/util/testsuite_rvalref.h: Don't forward declare hash. * config/abi/pre/gnu-versioned-namespace.ver: Update. From-SVN: r169063
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver105
-rw-r--r--libstdc++-v3/src/hashtable_c++0x.cc11
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_rvalref.h9
4 files changed, 106 insertions, 26 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 1fdfa915..5de3330 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,12 @@
2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
+ PR libstdc++/36104 part three
+ * src/hashtable_c++0x.cc: Adjust namespace macros.
+ * testsuite/util/testsuite_rvalref.h: Don't forward declare hash.
+ * config/abi/pre/gnu-versioned-namespace.ver: Update.
+
+2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
+
* include/ext/pb_ds/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp: Adjust assert condition.
* include/ext/pb_ds/detail/pat_trie_/
diff --git a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
index be4c589..dfb1345 100644
--- a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
+++ b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
@@ -1,6 +1,7 @@
## Linker script for GNU namespace versioning.
##
-## Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+## Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009, 2011
+## Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
##
@@ -19,7 +20,7 @@
## with this library; see the file COPYING3. If not see
## <http://www.gnu.org/licenses/>.
-GLIBCXX_3.7 {
+GLIBCXX_5.0 {
global:
@@ -30,6 +31,15 @@ GLIBCXX_3.7 {
std::*
};
+ # locale
+ _ZNSt2_69has_facetINS_*;
+
+ # hash
+ _ZNSt2_68__detail12__prime_listE;
+
+ # thread/mutex/condition_variable/future
+ __once_proxy;
+
# operator new(size_t)
_Znw[jm];
# operator new(size_t, std::nothrow_t const&)
@@ -87,7 +97,12 @@ GLIBCXX_3.7 {
_ZN9__gnu_cxx2_69free_list6_M_getE[jm];
_ZN9__gnu_cxx2_69free_list8_M_clearEv;
+ # __gnu_cxx::stdio_sync_filebuf
+ _ZTVN9__gnu_cxx2_618stdio_sync_filebufI[cw]St2_611char_traitsI[cw]EEE;
+ _ZN9__gnu_cxx2_618stdio_sync_filebufI[cw]NSt2_611char_traitsI[cw]EEE[5-9]*;
+
# debug mode
+# xxx cxx1998?
_ZN10__gnu_norm15_List_node_base4hook*;
_ZN10__gnu_norm15_List_node_base4swap*;
_ZN10__gnu_norm15_List_node_base6unhookEv;
@@ -106,8 +121,8 @@ GLIBCXX_3.7 {
_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv;
_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_;
- _ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb;
- _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb;
+ _ZN11__gnu_debug19_Safe_iterator_base9_M_attach*;
+ _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_single*;
_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv;
_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv;
_ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv;
@@ -127,7 +142,7 @@ GLIBCXX_3.7 {
# Symbols in the support library (libsupc++) have their own tag.
-CXXABI_1.7 {
+CXXABI_2.0 {
global:
__cxa_allocate_exception;
@@ -165,6 +180,41 @@ CXXABI_1.7 {
__gxx_personality_sj0;
__dynamic_cast;
+ # std::exception_ptr
+ _ZNSt15__exception_ptr13exception_ptrC1Ev;
+ _ZNSt15__exception_ptr13exception_ptrC2Ev;
+ _ZNSt15__exception_ptr13exception_ptrC1ERKS0_;
+ _ZNSt15__exception_ptr13exception_ptrC2ERKS0_;
+ _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE;
+ _ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE;
+ _ZNSt15__exception_ptr13exception_ptrD1Ev;
+ _ZNSt15__exception_ptr13exception_ptrD2Ev;
+ _ZNSt15__exception_ptr13exception_ptraSERKS0_;
+ _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv;
+ _ZNKSt15__exception_ptr13exception_ptrntEv;
+ _ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv;
+ _ZNSt15__exception_ptr13exception_ptr4swapERS0_;
+ _ZNSt15__exception_ptreqERKNS_13exception_ptrES2_;
+ _ZNSt15__exception_ptrneERKNS_13exception_ptrES2_;
+
+ _ZSt17current_exceptionv;
+ _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE;
+
+ # std::bad_function_call.
+ _ZNSt17bad_function_callD*;
+ _ZTISt17bad_function_call;
+ _ZTSSt17bad_function_call;
+ _ZTVSt17bad_function_call;
+
+ # Default function.
+ _ZSt11_Hash_bytesPKv*;
+
+ # FNV hash.
+ _ZSt15_Fnv_hash_bytesPKv*;
+
+ # __gnu_cxx::_verbose_terminate_handler()
+ _ZN9__gnu_cxx2_627__verbose_terminate_handlerEv;
+
# *_type_info classes, ctor and dtor
_ZN10__cxxabiv117__array_type_info*;
_ZN10__cxxabiv117__class_type_info*;
@@ -186,18 +236,6 @@ CXXABI_1.7 {
_ZNK10__cxxabiv120__si_class_type_info*;
_ZNK10__cxxabiv121__vmi_class_type_info*;
- # virtual table
- _ZTVN10__cxxabiv117__array_type_infoE;
- _ZTVN10__cxxabiv117__class_type_infoE;
- _ZTVN10__cxxabiv116__enum_type_infoE;
- _ZTVN10__cxxabiv120__function_type_infoE;
- _ZTVN10__cxxabiv123__fundamental_type_infoE;
- _ZTVN10__cxxabiv117__pbase_type_infoE;
- _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
- _ZTVN10__cxxabiv119__pointer_type_infoE;
- _ZTVN10__cxxabiv120__si_class_type_infoE;
- _ZTVN10__cxxabiv121__vmi_class_type_infoE;
-
# typeinfo structure
_ZTI[a-z];
_ZTIP[a-z];
@@ -214,6 +252,8 @@ CXXABI_1.7 {
_ZTIN10__cxxabiv121__vmi_class_type_infoE;
_ZTIN10__cxxabiv115__forced_unwindE;
_ZTIN10__cxxabiv119__foreign_exceptionE;
+ _ZTIN10__cxxabiv115__forced_unwindE;
+ _ZTIN10__cxxabiv119__foreign_exceptionE;
# typeinfo name
_ZTS[a-z];
@@ -230,8 +270,35 @@ CXXABI_1.7 {
_ZTSN10__cxxabiv120__si_class_type_infoE;
_ZTSN10__cxxabiv121__vmi_class_type_infoE;
- # __gnu_cxx::_verbose_terminate_handler()
- _ZN9__gnu_cxx2_627__verbose_terminate_handlerEv;
+ # typeinfo for char16_t and char32_t
+ _ZTIDs;
+ _ZTIPDs;
+ _ZTIPKDs;
+ _ZTIDi;
+ _ZTIPDi;
+ _ZTIPKDi;
+
+ # typeinfo for decimal floating point types
+ _ZTID[fde];
+ _ZTIPD[fde];
+ _ZTIPKD[fde];
+
+ # typeinfo for decltype(nullptr)
+ _ZTIDn;
+ _ZTIPDn;
+ _ZTIPKDn;
+
+ # virtual table
+ _ZTVN10__cxxabiv117__array_type_infoE;
+ _ZTVN10__cxxabiv117__class_type_infoE;
+ _ZTVN10__cxxabiv116__enum_type_infoE;
+ _ZTVN10__cxxabiv120__function_type_infoE;
+ _ZTVN10__cxxabiv123__fundamental_type_infoE;
+ _ZTVN10__cxxabiv117__pbase_type_infoE;
+ _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
+ _ZTVN10__cxxabiv119__pointer_type_infoE;
+ _ZTVN10__cxxabiv120__si_class_type_infoE;
+ _ZTVN10__cxxabiv121__vmi_class_type_infoE;
local:
*;
diff --git a/libstdc++-v3/src/hashtable_c++0x.cc b/libstdc++-v3/src/hashtable_c++0x.cc
index c99a094..0b5f79c 100644
--- a/libstdc++-v3/src/hashtable_c++0x.cc
+++ b/libstdc++-v3/src/hashtable_c++0x.cc
@@ -1,6 +1,6 @@
// std::__detail definitions -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -22,11 +22,14 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
+#include <bits/c++config.h>
+
#ifndef __GXX_EXPERIMENTAL_CXX0X__
# error "hashtable_c++0x.cc must be compiled with -std=gnu++0x"
#endif
-namespace std
-{
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
#include "hashtable-aux.cc"
-}
+
+_GLIBCXX_END_NAMESPACE // namespace std
diff --git a/libstdc++-v3/testsuite/util/testsuite_rvalref.h b/libstdc++-v3/testsuite/util/testsuite_rvalref.h
index 5610b77..acf25da 100644
--- a/libstdc++-v3/testsuite/util/testsuite_rvalref.h
+++ b/libstdc++-v3/testsuite/util/testsuite_rvalref.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Testing utilities for the rvalue reference.
//
-// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -174,10 +174,12 @@ namespace __gnu_test
} // namespace __gnu_test
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+
+#include <bits/functional_hash.h>
+
namespace std
{
- template<typename _Tp> struct hash;
-
/// std::hash specialization for type_index.
template<>
struct hash<__gnu_test::rvalstruct>
@@ -190,5 +192,6 @@ namespace std
{ return __rvs.val; }
};
}
+#endif
#endif // _GLIBCXX_TESTSUITE_TR1_H