diff options
author | redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-08-26 10:41:37 +0000 |
---|---|---|
committer | redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-08-26 10:41:37 +0000 |
commit | 409191e46895a8df5aec6a84a1484e7b33f05a16 (patch) | |
tree | 9d9fb8d2a5ed3f9cae9cb638921086c39e5690d5 /libstdc++-v3/config | |
parent | 79f5d5e3cd5a668d5ecb2b6b0cce80ef5706ac53 (diff) | |
download | gcc-409191e46895a8df5aec6a84a1484e7b33f05a16.tar.gz |
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: svn+ssh://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.ver | 34 |
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. |