Re: [Boost-bugs] [Boost C++ Libraries] #4109: xpressive compile error (MingW GCC 4.5)

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4109: xpressive compile error (MingW GCC 4.5)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-04-20 00:51:26


#4109: xpressive compile error (MingW GCC 4.5)
----------------------------------------+-----------------------------------
 Reporter: Duzy Chan <duzy@…> | Owner: eric_niebler
     Type: Bugs | Status: assigned
Milestone: Boost 1.44.0 | Component: xpressive
  Version: Boost 1.42.0 | Severity: Problem
 Keywords: is_pure template_arity |
----------------------------------------+-----------------------------------
Changes (by eric_niebler):

  * keywords: is_pure => is_pure template_arity

Comment:

 After a bit of digging, it seems the problem is actually in MPL (and by
 admission, in xpressive's reliance on an implementation detail of MPL).
 The following program, which compiles on gcc-4.4 but not on gcc-4.5,
 demonstrates the problem:

 {{{
   #include <boost/mpl/aux_/template_arity.hpp>
   #include <boost/mpl/aux_/lambda_arity_param.hpp>

   template<class A>
   struct T : A::x
   {};

   template<
     class T
     BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
       int Arity = boost::mpl::aux::template_arity<T>::value
     )
>
   struct S
   {};

   template<template<class A> class P, class X>
   struct S<P<X> BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(1)>
   {};

   int main()
   {
     S<T<int> > s0;
   }
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4109#comment:7>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:02 UTC