mirror of
https://github.com/boostorg/mpl.git
synced 2025-08-02 06:15:23 +02:00
MPL: Limit a GCC workaround to a version tested to not need it.
[SVN r86261]
This commit is contained in:
@@ -61,11 +61,14 @@ namespace boost { namespace mpl {
|
|||||||
|
|
||||||
template< typename T, bool has_type_ >
|
template< typename T, bool has_type_ >
|
||||||
struct quote_impl
|
struct quote_impl
|
||||||
// GCC has a problem with metafunction forwarding when T is a
|
// GCC had a problem with metafunction forwarding when T is a
|
||||||
// specialization of a template called 'type'.
|
// specialization of a template called 'type'. It is unknown which release
|
||||||
# if BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4)) \
|
// fixed this, but it was previously tested to be broken with GCC 4.0.2.
|
||||||
&& BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(0)) \
|
// It certainly works with 4.6.4 and has not been tested with intermediate
|
||||||
&& BOOST_WORKAROUND(__GNUC_PATCHLEVEL__, BOOST_TESTED_AT(2))
|
// versions.
|
||||||
|
# if BOOST_WORKAROUND(__GNUC__, <= 4) \
|
||||||
|
&& BOOST_WORKAROUND(__GNUC_MINOR__, <= 6) \
|
||||||
|
&& BOOST_WORKAROUND(__GNUC_PATCHLEVEL__, <= 4)
|
||||||
{
|
{
|
||||||
typedef typename T::type type;
|
typedef typename T::type type;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user