diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2018-07-06 13:39:02 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2018-07-06 13:39:02 +0100 |
commit | 97271bd88f1c0ea8bf66b68bfbb00c13355e9706 (patch) | |
tree | 85d3d00300de01164f05582eb17515a63ae37d0b /libstdc++-v3/config/abi/pre/gnu.ver | |
parent | 8660e7908fb884b5a0dda37f937ecced3da16070 (diff) | |
download | gcc-97271bd88f1c0ea8bf66b68bfbb00c13355e9706.zip gcc-97271bd88f1c0ea8bf66b68bfbb00c13355e9706.tar.gz gcc-97271bd88f1c0ea8bf66b68bfbb00c13355e9706.tar.bz2 |
P0935R0 Eradicating unnecessarily explicit default constructors
This is the last remaining piece of P0935R0. This adds a default
constructor to each of the streambuf and stream types in <sstream> so
that default construction does not use the 'explicit' constructor that
has a single, defaulted argument.
P0935R0 Eradicating unnecessarily explicit default constructors
* config/abi/pre/gnu.ver: Tighten existing patterns and export new
default constructor symbols.
* include/std/sstream (basic_stringbuf, basic_istringstream)
(basic_ostringstream, basic_stringstream): Remove default arguments
from explicit constructors taking ios_base::openmode and add separate
non-explicit default constructors.
* testsuite/27_io/basic_istringstream/cons/default.cc: New.
* testsuite/27_io/basic_ostringstream/cons/default.cc: New.
* testsuite/27_io/basic_stringstream/cons/default.cc: New.
* testsuite/27_io/basic_stringbuf/cons/char/default.cc: New.
* testsuite/27_io/basic_stringbuf/cons/wchar_t/default.cc: New.
From-SVN: r262474
Diffstat (limited to 'libstdc++-v3/config/abi/pre/gnu.ver')
-rw-r--r-- | libstdc++-v3/config/abi/pre/gnu.ver | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index 521cebf..e634d3a 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -1748,10 +1748,20 @@ GLIBCXX_3.4.21 { _ZStplI[cw]St11char_traitsI[cw]ESaI[cw]EENSt7__cxx1112basic_stringIT_T0_T1_EE*; # ABI-tagged stringstreams - _ZNSt7__cxx1115basic_stringbuf*; - _ZNSt7__cxx1118basic_stringstream*; - _ZNSt7__cxx1119basic_istringstream*; - _ZNSt7__cxx1119basic_ostringstream*; +# _ZNSt7__cxx1115basic_stringbufI[cw]St11char_traitsI[cw]*; + _ZNSt7__cxx1115basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]E[ORS]*; + _ZNSt7__cxx1115basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EED[012]Ev; + _ZNSt7__cxx1115basic_stringbufI[cw]St11char_traitsI[cw]*__xfer_bufptrs*; + _ZNSt7__cxx1115basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[a1346789]*; +# _ZNSt7__cxx1118basic_stringstreamI[cw]St11char_traitsI[cw]*; + _ZNSt7__cxx1118basic_stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]E[ORS]*; + _ZNSt7__cxx1118basic_stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EED[012]Ev; + _ZNSt7__cxx1118basic_stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EE[a34]*; +# _ZNSt7__cxx1119basic_istringstreamI[cw]St11char_traitsI[cw]*; +# _ZNSt7__cxx1119basic_ostringstreamI[cw]St11char_traitsI[cw]*; + _ZNSt7__cxx1119basic_[io]stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]E[ORS]*; + _ZNSt7__cxx1119basic_[io]stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EED[012]Ev; + _ZNSt7__cxx1119basic_[io]stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EE[a34]*; _ZNKSt7__cxx1115basic_stringbuf*; _ZNKSt7__cxx1118basic_stringstream*; _ZNKSt7__cxx1119basic_istringstream*; @@ -2021,6 +2031,14 @@ GLIBCXX_3.4.26 { _ZNSt13runtime_errorC[12]EOS_; _ZNSt13runtime_erroraSEOS_; + # Default constructors for stringstreams + _ZNSt15basic_stringbuf[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]Ev; + _ZNSt18basic_stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]Ev; + _ZNSt19basic_[io]stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]Ev; + _ZNSt7__cxx1115basic_stringbuf[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]Ev; + _ZNSt7__cxx1118basic_stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]Ev; + _ZNSt7__cxx1119basic_[io]stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]Ev; + } GLIBCXX_3.4.25; # Symbols in the support library (libsupc++) have their own tag. |