Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r61467 - in trunk/boost/mpl/aux_: . preprocessed/gcc
From: hartmut.kaiser_at_[hidden]
Date: 2010-04-21 13:19:07


Author: hkaiser
Date: 2010-04-21 13:19:06 EDT (Wed, 21 Apr 2010)
New Revision: 61467
URL: http://svn.boost.org/trac/boost/changeset/61467

Log:
MPL: fixed #4061: gcc-4.5 compilation problems related to arity_helper, applied attached patch to the main aux_/template_arity.hpp and regenerated the corresponding file preprocessed/gcc/template_arity.hpp. No other preprocessed files are affected.

This patch seemed to be fine as all it does is to qualify an internal name in order to avoid it being looked up through ADL. This appears to be reasonably safe as this name is internal and not supposed to be found using ADL in the first place.

Text files modified:
   trunk/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp | 8 ++------
   trunk/boost/mpl/aux_/template_arity.hpp | 2 +-
   2 files changed, 3 insertions(+), 7 deletions(-)

Modified: trunk/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp
==============================================================================
--- trunk/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp (original)
+++ trunk/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp 2010-04-21 13:19:06 EDT (Wed, 21 Apr 2010)
@@ -6,11 +6,10 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 //
 
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
+// *Preprocessed* version of the main "template_arity.hpp" header
 // -- DO NOT modify by hand!
 
 namespace boost { namespace mpl { namespace aux {
-
 template< int N > struct arity_tag
 {
     typedef char (&type)[N + 1];
@@ -23,7 +22,6 @@
 {
     BOOST_STATIC_CONSTANT(int, value =
           ( C6 > 0 ? C6 : ( C5 > 0 ? C5 : ( C4 > 0 ? C4 : ( C3 > 0 ? C3 : ( C2 > 0 ? C2 : ( C1 > 0 ? C1 : -1 ) ) ) ) ) )
-
         );
 };
 
@@ -83,7 +81,7 @@
 struct template_arity_impl
 {
     BOOST_STATIC_CONSTANT(int, value =
- sizeof(arity_helper(type_wrapper<F>(), arity_tag<N>())) - 1
+ sizeof(::boost::mpl::aux::arity_helper(type_wrapper<F>(), arity_tag<N>())) - 1
         );
 };
 
@@ -92,9 +90,7 @@
 {
     BOOST_STATIC_CONSTANT(int, value = (
           max_arity< template_arity_impl< F,1 >::value, template_arity_impl< F,2 >::value, template_arity_impl< F,3 >::value, template_arity_impl< F,4 >::value, template_arity_impl< F,5 >::value, template_arity_impl< F,6 >::value >::value
-
         ));
-
     typedef mpl::int_<value> type;
 };
 

Modified: trunk/boost/mpl/aux_/template_arity.hpp
==============================================================================
--- trunk/boost/mpl/aux_/template_arity.hpp (original)
+++ trunk/boost/mpl/aux_/template_arity.hpp 2010-04-21 13:19:06 EDT (Wed, 21 Apr 2010)
@@ -98,7 +98,7 @@
 struct template_arity_impl
 {
     BOOST_STATIC_CONSTANT(int, value =
- sizeof(arity_helper(type_wrapper<F>(),arity_tag<N>())) - 1
+ sizeof(::boost::mpl::aux::arity_helper(type_wrapper<F>(),arity_tag<N>())) - 1
         );
 };
 


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk