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.

Tested x86_64-linux, committed to trunk.


commit 158dfd8b832f5f6f560955081259f3454507c54c
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Tue Oct 16 11:55:46 2018 +0100

    PR libstdc++/87618 fix typos in linker script
    
            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.

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 <sstream>
@@ -29,7 +30,15 @@ void test01()
   test.operator()<std::stringbuf>();
 }
 
-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 <sstream>
@@ -29,7 +30,15 @@ void test01()
   test.operator()<std::wstringbuf>();
 }
 
-int main() 
+void test02()
+{
+  // PR libstdc++/87618
+  // Compiled without optimisation to check this constructor is exported.
+  std::wstringbuf sb;
+}
+
+int main()
 {
   test01();
+  test02();
 }

Reply via email to