2008-02-17 Paolo Carlini <pcarlini@suse.de>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 16 Feb 2008 23:39:56 +0000 (23:39 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 16 Feb 2008 23:39:56 +0000 (23:39 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132372 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/config/abi/pre/gnu.ver
libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/35209.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc [new file with mode: 0644]

index 2c1323c..e1abc1d 100644 (file)
@@ -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.
index 058fc94..0374d25 100644 (file)
@@ -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 (file)
index 0000000..b7755ae
--- /dev/null
@@ -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 (file)
index 0000000..636fdb2
--- /dev/null
@@ -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;
+}