fix visibility problems with libstdc++ on Debian and Ubuntu

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2007-07-22 09:20:42 +00:00
parent a2c5db764c
commit d6f513f829
6 changed files with 127 additions and 0 deletions

View File

@@ -46,3 +46,7 @@
#endif
#endif
// see beforestd.h for explanation
#if defined(HAVE_VISIBILITY) && defined(HAVE_BROKEN_LIBSTDCXX_VISIBILITY)
#pragma GCC visibility pop
#endif

View File

@@ -63,3 +63,13 @@
#pragma warning(disable:4786)
#endif // VC++ < 7
/**
GCC's visibility support is broken for libstdc++ in some older versions
(namely Debian/Ubuntu's GCC 4.1, see
https://bugs.launchpad.net/ubuntu/+source/gcc-4.1/+bug/109262). We fix it
here by mimicking newer versions' behaviour of using default visibility
for libstdc++ code.
*/
#if defined(HAVE_VISIBILITY) && defined(HAVE_BROKEN_LIBSTDCXX_VISIBILITY)
#pragma GCC visibility push(default)
#endif

View File

@@ -11,12 +11,16 @@
#if wxUSE_STD_IOSTREAM
#include "wx/beforestd.h"
#if wxUSE_IOSTREAMH
# include <iostream.h>
#else
# include <iostream>
#endif
#include "wx/afterstd.h"
#ifdef __WXMSW__
# include "wx/msw/winundef.h"
#endif