default gcc visibility for exception types, <link>static requirement in test Jamfile.

[SVN r65763]
This commit is contained in:
Emil Dotchevski
2010-10-05 15:04:50 +00:00
parent 6d41b399d0
commit 56ae4311bb
3 changed files with 23 additions and 0 deletions

View File

@ -68,6 +68,7 @@ boost
boost::exception, boost::exception,
std::bad_alloc std::bad_alloc
{ {
~bad_alloc_() throw() { }
}; };
struct struct
@ -75,6 +76,7 @@ boost
boost::exception, boost::exception,
std::bad_exception std::bad_exception
{ {
~bad_exception_() throw() { }
}; };
template <class Exception> template <class Exception>
@ -104,6 +106,11 @@ boost
e = get_static_exception_object<Exception>(); e = get_static_exception_object<Exception>();
} }
#if defined(__GNUC__)
# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
# pragma GCC visibility push (default)
# endif
#endif
class class
unknown_exception: unknown_exception:
public boost::exception, public boost::exception,
@ -143,6 +150,11 @@ boost
#endif #endif
} }
}; };
#if defined(__GNUC__)
# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
# pragma GCC visibility pop
# endif
#endif
namespace namespace
exception_detail exception_detail

View File

@ -189,6 +189,11 @@ boost
E const & set_info( E const &, throw_line const & ); E const & set_info( E const &, throw_line const & );
} }
#if defined(__GNUC__)
# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
# pragma GCC visibility push (default)
# endif
#endif
class class
exception exception
{ {
@ -251,6 +256,11 @@ boost
mutable char const * throw_file_; mutable char const * throw_file_;
mutable int throw_line_; mutable int throw_line_;
}; };
#if defined(__GNUC__)
# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
# pragma GCC visibility pop
# endif
#endif
inline inline
exception:: exception::

View File

@ -9,6 +9,7 @@ import testing ;
project project
: requirements : requirements
<link>static
<exception-handling>on <exception-handling>on
<source>/boost//exception <source>/boost//exception
<define>BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR <define>BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR