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
This commit is contained in:
Benjamin Kosnik 2011-01-20 20:04:25 +00:00 committed by Benjamin Kosnik
parent 191e7a3000
commit 9b690d8cc3
4 changed files with 106 additions and 26 deletions

View File

@ -1,3 +1,10 @@
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/

View File

@ -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:
*;

View File

@ -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

View File

@ -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