mirror of
https://github.com/boostorg/mpl.git
synced 2025-08-04 15:24:29 +02:00
Workarounds for GCC bug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26904
[SVN r33505]
This commit is contained in:
@@ -13,8 +13,8 @@ namespace boost { namespace mpl {
|
||||
|
||||
template< typename T, bool has_type_ >
|
||||
struct quote_impl
|
||||
: T
|
||||
{
|
||||
typedef typename T::type type;
|
||||
};
|
||||
|
||||
template< typename T >
|
||||
|
@@ -60,9 +60,19 @@ namespace boost { namespace mpl {
|
||||
|
||||
template< typename T, bool has_type_ >
|
||||
struct quote_impl
|
||||
// GCC has a problem with metafunction forwarding when T is a
|
||||
// specialization of a template called 'type'.
|
||||
# if BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4)) \
|
||||
&& BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(0)) \
|
||||
&& BOOST_WORKAROUND(__GNUC_PATCHLEVEL__ BOOST_TESTED_AT(2))
|
||||
{
|
||||
typedef typename T::type type;
|
||||
};
|
||||
# else
|
||||
: T
|
||||
{
|
||||
};
|
||||
# endif
|
||||
|
||||
template< typename T >
|
||||
struct quote_impl<T,false>
|
||||
|
Reference in New Issue
Block a user