diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 832c51479c8..1b4179ee6d5 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2018-10-16 Jonathan Wakely + + PR libstdc++/87618 + * config/abi/pre/gnu.ver: Fix typos in patterns for basic_stringbuf. + * testsuite/27_io/basic_stringbuf/cons/char/default.cc: Disable + optimisation to check constructor definition can be linked to. + * testsuite/27_io/basic_stringbuf/cons/wchar_t/default.cc: Likewise. + 2018-10-15 Jonathan Wakely * testsuite/22_locale/numpunct/members/char/3.cc: Adjust test to diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index 4766d28f708..f90ead30dd1 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -2032,10 +2032,10 @@ GLIBCXX_3.4.26 { _ZNSt13runtime_erroraSEOS_; # Default constructors for stringstreams - _ZNSt15basic_stringbuf[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]Ev; + _ZNSt15basic_stringbufI[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__cxx1115basic_stringbufI[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; diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/char/default.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/char/default.cc index 06b242f8295..44a8c4f8da6 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/char/default.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/char/default.cc @@ -17,6 +17,7 @@ // C++11 27.8.2.1 basic_stringbuf constructors [stringbuf.cons] +// { dg-options "-O0" } // { dg-do run { target c++11 } } #include @@ -29,7 +30,15 @@ void test01() test.operator()(); } -int main() +void test02() +{ + // PR libstdc++/87618 + // Compiled without optimisation to check this constructor is exported. + std::stringbuf sb; +} + +int main() { test01(); + test02(); } diff --git a/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/wchar_t/default.cc b/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/wchar_t/default.cc index 6ac75ab65c3..e51154e54b6 100644 --- a/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/wchar_t/default.cc +++ b/libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/wchar_t/default.cc @@ -17,6 +17,7 @@ // C++11 27.8.2.1 basic_stringbuf constructors [stringbuf.cons] +// { dg-options "-O0" } // { dg-do run { target c++11 } } #include @@ -29,7 +30,15 @@ void test01() test.operator()(); } -int main() +void test02() +{ + // PR libstdc++/87618 + // Compiled without optimisation to check this constructor is exported. + std::wstringbuf sb; +} + +int main() { test01(); + test02(); }