aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/config
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2016-08-26 10:41:37 +0000
committerJonathan Wakely <jwakely@redhat.com>2016-08-26 10:41:37 +0000
commit51ef02400d80578ca82ccd75ce3a4f9c25c93d80 (patch)
tree9d9fb8d2a5ed3f9cae9cb638921086c39e5690d5 /libstdc++-v3/config
parentc36b3eea56d738d3c3082707fe5d78f79c2f2ebe (diff)
Add new std::basic_string constructor (LWG 2583)
* config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more precise patterns for basic_string constructors. (GLIBCXX_3.4.23): Export new constructors. * doc/xml/manual/intro.xml: Document LWG 2583 status. * doc/html/*: Regenerate. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string(const basic_string&, size_type, const Alloc&)): Add new constructor for LWG 2583. (basic_string(const basic_string&, size_type, size_type)): Remove default argument. [!_GLIBCXX_USE_CXX11_ABI]: Likewise. * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it. * testsuite/21_strings/basic_string/cons/char/8.cc: New test. * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@239773 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/config')
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver34
1 files changed, 31 insertions, 3 deletions
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index f51c6f961b0..0ab4bb10b35 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -206,7 +206,14 @@ GLIBCXX_3.4 {
# std::string
# 'y' here and below represents 'unsigned long long'
# where it is used for size_type on LLP64 platforms.
- _ZNSsC[12][EI][PRjmvyN]*;
+ _ZNSsC[12]EPKc*;
+ _ZNSsC[12]ERKSaIcE;
+ _ZNSsC[12]ERKSs;
+# _ZNSsC[12]ERKSs[jmy]RKSaIcE;
+ _ZNSsC[12]ERKSs[jmy][jmy]*;
+ _ZNSsC[12]E[jmy]cRKSaIcE;
+ _ZNSsC[12]Ev;
+ _ZNSsC[12]I[PN]*;
_ZNSsD*;
_ZNSs[0-58-9]a*;
_ZNSs5beginEv;
@@ -267,7 +274,13 @@ GLIBCXX_3.4 {
_ZNKSs4copyEPc[jmy][jmy];
# std::wstring
- _ZNSbIwSt11char_traitsIwESaIwEEC[12][EI][PRjmvyN]*;
+ _ZNSbIwSt11char_traitsIwESaIwEEC[12]EPKw*;
+ _ZNSbIwSt11char_traitsIwESaIwEEC[12]ERKS[12]_;
+# _ZNSbIwSt11char_traitsIwESaIwEEC[12]ERKS2_mRKS1_;
+ _ZNSbIwSt11char_traitsIwESaIwEEC[12]ERKS2_[jmy][jmy]*;
+ _ZNSbIwSt11char_traitsIwESaIwEEC[12]E[jmy]wRKS1_;
+ _ZNSbIwSt11char_traitsIwESaIwEEC[12]Ev;
+ _ZNSbIwSt11char_traitsIwESaIwEEC[12]I[PN]*;
_ZNSbIwSt11char_traitsIwESaIwEED*;
_ZNSbIwSt11char_traitsIwESaIwEE[0-58-9]a*;
_ZNSbIwSt11char_traitsIwESaIwEE5beginEv;
@@ -1683,7 +1696,17 @@ GLIBCXX_3.4.21 {
_ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_M*;
_ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE1[3-9]*;
_ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE[2-9]*;
- _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE[CDaip]*;
+ _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]EOS4_*;
+ _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]EPK*;
+ _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]ERKS[34]_;
+ _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]ERKS4_RKS3_;
+# _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]ERKS4_[jmy]RKS3_;
+ _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]ERKS4_[jmy][jmy]*;
+ _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]ESt16*;
+ _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]E[jmy][cw]RKS3_;
+ _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]Ev;
+ _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]I[PN]*;
+ _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE[Daip]*;
_ZNKSt7__cxx1112basic_string*;
# operator+ for ABI-tagged std::basic_string
@@ -1919,6 +1942,11 @@ GLIBCXX_3.4.23 {
# basic_string<C, T, A>::_Alloc_hider::_Alloc_hider(C*, A&&)
_ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_Alloc_hiderC[12]EP[cw]OS3_;
+ # basic_string<C, T, A>::basic_string(const basic_string&, size_type, const A&)
+ _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]ERKS4_[jmy]RKS3_;
+ _ZNSsC[12]ERKSs[jmy]RKSaIcE;
+ _ZNSbIwSt11char_traitsIwESaIwEEC[12]ERKS2_mRKS1_;
+
} GLIBCXX_3.4.22;
# Symbols in the support library (libsupc++) have their own tag.