aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/config/abi/pre/gnu.ver
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2018-07-06 13:39:02 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2018-07-06 13:39:02 +0100
commit97271bd88f1c0ea8bf66b68bfbb00c13355e9706 (patch)
tree85d3d00300de01164f05582eb17515a63ae37d0b /libstdc++-v3/config/abi/pre/gnu.ver
parent8660e7908fb884b5a0dda37f937ecced3da16070 (diff)
downloadgcc-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.ver26
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.