re PR libstdc++/35209 (__gnu_cxx::stdio_sync_filebuf<char> constructor isn't exported by the DSO)

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.

From-SVN: r132372
This commit is contained in:
Paolo Carlini 2008-02-16 23:39:56 +00:00 committed by Paolo Carlini
parent 459af5a02d
commit 83c69a08b4
4 changed files with 91 additions and 1 deletions

View 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.

View 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.

View File

@ -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;
}

View File

@ -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;
}