aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver5
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/35209.cc40
-rw-r--r--libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc40
4 files changed, 91 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 2c1323c..e1abc1d 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,10 @@
+2008-02-17 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/35209
+ * config/abi/pre/gnu.ver: Export stdio_sync_filebuf symbols.
+ * testsuite/ext/stdio_sync_filebuf/char/35209.cc: New.
+ * testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc: Likewise.
+
2008-02-16 Benjamin Kosnik <bkoz@redhat.com>
* include/parallel/random_number.h: Use TR1's mersenne_twister.
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 058fc94..0374d25 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -1,6 +1,6 @@
## Linker script for GNU versioning (GNU ld 2.13.91+ only.)
##
-## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
+## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
## Free Software Foundation, Inc.
##
## This file is part of the GNU ISO C++ Library. This library is free
@@ -793,6 +793,9 @@ GLIBCXX_3.4.10 {
_ZNSt8__detail12__prime_listE;
_ZNSt3tr18__detail12__prime_listE;
+ _ZN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EE4syncEv;
+ _ZN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EE[5-9CD]*;
+
} GLIBCXX_3.4.9;
# Symbols in the support library (libsupc++) have their own tag.
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/35209.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/35209.cc
new file mode 100644
index 0000000..b7755ae
--- /dev/null
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/35209.cc
@@ -0,0 +1,40 @@
+// Copyright (C) 2008 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// { dg-do link }
+
+#include <ext/stdio_sync_filebuf.h>
+
+struct my_ssf
+: __gnu_cxx::stdio_sync_filebuf<char>
+{
+ my_ssf(std::__c_file* __f)
+ : __gnu_cxx::stdio_sync_filebuf<char>(__f) { }
+};
+
+// libstdc++/35209
+void test01()
+{
+ my_ssf ss1(0);
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc
new file mode 100644
index 0000000..636fdb2
--- /dev/null
+++ b/libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc
@@ -0,0 +1,40 @@
+// Copyright (C) 2008 Free Software Foundation
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// { dg-do link }
+
+#include <ext/stdio_sync_filebuf.h>
+
+struct my_ssf
+: __gnu_cxx::stdio_sync_filebuf<wchar_t>
+{
+ my_ssf(std::__c_file* __f)
+ : __gnu_cxx::stdio_sync_filebuf<wchar_t>(__f) { }
+};
+
+// libstdc++/35209
+void test01()
+{
+ my_ssf ss1(0);
+}
+
+int main()
+{
+ test01();
+ return 0;
+}