P0935R0 Eradicating unnecessarily explicit default constructors
authorJonathan Wakely <jwakely@redhat.com>
Fri, 6 Jul 2018 12:39:02 +0000 (13:39 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 6 Jul 2018 12:39:02 +0000 (13:39 +0100)
commit97271bd88f1c0ea8bf66b68bfbb00c13355e9706
tree85d3d00300de01164f05582eb17515a63ae37d0b
parent8660e7908fb884b5a0dda37f937ecced3da16070
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
libstdc++-v3/ChangeLog
libstdc++-v3/config/abi/pre/gnu.ver
libstdc++-v3/include/std/sstream
libstdc++-v3/testsuite/27_io/basic_istringstream/cons/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/char/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/wchar_t/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/27_io/basic_stringstream/cons/default.cc [new file with mode: 0644]