This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
[v3] libstdc++/35209
- From: Paolo Carlini <pcarlini at suse dot de>
- To: Gcc Patch List <gcc-patches at gcc dot gnu dot org>
- Cc: libstdc++ <libstdc++ at gcc dot gnu dot org>
- Date: Sun, 17 Feb 2008 00:43:37 +0100
- Subject: [v3] libstdc++/35209
Hi,
tested x86_64-linux, committed to mainline.
Paolo.
///////////////////
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.
Index: testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc
===================================================================
--- testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc (revision 0)
+++ testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc (revision 0)
@@ -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;
+}
Index: testsuite/ext/stdio_sync_filebuf/char/35209.cc
===================================================================
--- testsuite/ext/stdio_sync_filebuf/char/35209.cc (revision 0)
+++ testsuite/ext/stdio_sync_filebuf/char/35209.cc (revision 0)
@@ -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;
+}
Index: config/abi/pre/gnu.ver
===================================================================
--- config/abi/pre/gnu.ver (revision 132368)
+++ config/abi/pre/gnu.ver (working copy)
@@ -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 @@
_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.