Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r76496 - in branches/release: . boost boost/phoenix/object boost/phoenix/object/detail boost/phoenix/operator boost/phoenix/operator/preprocessed boost/phoenix/stl/container boost/serialization libs libs/phoenix/doc/starter_kit libs/phoenix/preprocess libs/phoenix/test libs/phoenix/test/operator libs/phoenix/test/regression
From: hartmut.kaiser_at_[hidden]
Date: 2012-01-14 15:18:38


Author: hkaiser
Date: 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
New Revision: 76496
URL: http://svn.boost.org/trac/boost/changeset/76496

Log:
Phoenix: merging changes from trunk (as requested by heller)
Added:
   branches/release/libs/phoenix/test/regression/bug6040.cpp
      - copied unchanged from r75069, /trunk/libs/phoenix/test/regression/bug6040.cpp
Properties modified:
   branches/release/ (props changed)
   branches/release/boost/ (props changed)
   branches/release/boost/serialization/ (props changed)
   branches/release/libs/ (props changed)
Text files modified:
   branches/release/boost/phoenix/object/const_cast.hpp | 2
   branches/release/boost/phoenix/object/detail/new_eval.hpp | 4
   branches/release/boost/phoenix/object/dynamic_cast.hpp | 2
   branches/release/boost/phoenix/object/reinterpret_cast.hpp | 2
   branches/release/boost/phoenix/object/static_cast.hpp | 2
   branches/release/boost/phoenix/operator/member.hpp | 2
   branches/release/boost/phoenix/operator/preprocessed/member_10.hpp | 2
   branches/release/boost/phoenix/operator/preprocessed/member_20.hpp | 2
   branches/release/boost/phoenix/operator/preprocessed/member_30.hpp | 2
   branches/release/boost/phoenix/operator/preprocessed/member_40.hpp | 2
   branches/release/boost/phoenix/operator/preprocessed/member_50.hpp | 2
   branches/release/boost/phoenix/stl/container/container.hpp | 84 ++++++++++++++++++++-------------------
   branches/release/boost/serialization/export.hpp | 2
   branches/release/boost/serialization/extended_type_info.hpp | 14 ++++++
   branches/release/libs/phoenix/doc/starter_kit/operator.qbk | 6 ++
   branches/release/libs/phoenix/doc/starter_kit/values.qbk | 9 ++-
   branches/release/libs/phoenix/preprocess/wave.cfg | 8 +++
   branches/release/libs/phoenix/test/Jamfile | 1
   branches/release/libs/phoenix/test/operator/member.cpp | 20 +++-----
   19 files changed, 98 insertions(+), 70 deletions(-)

Modified: branches/release/boost/phoenix/object/const_cast.hpp
==============================================================================
--- branches/release/boost/phoenix/object/const_cast.hpp (original)
+++ branches/release/boost/phoenix/object/const_cast.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -29,7 +29,7 @@
         struct result;
 
         template <typename This, typename Target, typename Source, typename Context>
- struct result<This(Target const &, Source const&, Context)>
+ struct result<This(Target, Source, Context)>
             : detail::result_of::target<Target>
         {};
 

Modified: branches/release/boost/phoenix/object/detail/new_eval.hpp
==============================================================================
--- branches/release/boost/phoenix/object/detail/new_eval.hpp (original)
+++ branches/release/boost/phoenix/object/detail/new_eval.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -31,8 +31,8 @@
 #pragma wave option(preserve: 1)
 #endif
 
-#define BOOST_PHOENIX_ITERATION_PARAMS \
- (3, (2, BOOST_PHOENIX_COMPOSITE_LIMIT, \
+#define BOOST_PHOENIX_ITERATION_PARAMS \
+ (3, (2, BOOST_PHOENIX_COMPOSITE_LIMIT, \
     <boost/phoenix/object/detail/new_eval.hpp>))
 #include BOOST_PHOENIX_ITERATE()
 

Modified: branches/release/boost/phoenix/object/dynamic_cast.hpp
==============================================================================
--- branches/release/boost/phoenix/object/dynamic_cast.hpp (original)
+++ branches/release/boost/phoenix/object/dynamic_cast.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -29,7 +29,7 @@
         struct result;
 
         template <typename This, typename Target, typename Source, typename Context>
- struct result<This(Target const &, Source const&, Context)>
+ struct result<This(Target, Source, Context)>
             : detail::result_of::target<Target>
         {};
 

Modified: branches/release/boost/phoenix/object/reinterpret_cast.hpp
==============================================================================
--- branches/release/boost/phoenix/object/reinterpret_cast.hpp (original)
+++ branches/release/boost/phoenix/object/reinterpret_cast.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -29,7 +29,7 @@
         struct result;
 
         template <typename This, typename Target, typename Source, typename Context>
- struct result<This(Target const &, Source const&, Context)>
+ struct result<This(Target, Source, Context)>
             : detail::result_of::target<Target>
         {};
 

Modified: branches/release/boost/phoenix/object/static_cast.hpp
==============================================================================
--- branches/release/boost/phoenix/object/static_cast.hpp (original)
+++ branches/release/boost/phoenix/object/static_cast.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -29,7 +29,7 @@
         struct result;
 
         template <typename This, typename Target, typename Source, typename Context>
- struct result<This(Target const &, Source const&, Context)>
+ struct result<This(Target, Source, Context)>
             : detail::result_of::target<Target>
         {};
 

Modified: branches/release/boost/phoenix/operator/member.hpp
==============================================================================
--- branches/release/boost/phoenix/operator/member.hpp (original)
+++ branches/release/boost/phoenix/operator/member.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -44,7 +44,7 @@
 
     template <typename Object, typename MemPtr>
     inline
- typename enable_if<
+ typename boost::enable_if<
         is_member_function_pointer<MemPtr>
       , detail::mem_fun_ptr_gen<actor<Object>, MemPtr> const
>::type

Modified: branches/release/boost/phoenix/operator/preprocessed/member_10.hpp
==============================================================================
--- branches/release/boost/phoenix/operator/preprocessed/member_10.hpp (original)
+++ branches/release/boost/phoenix/operator/preprocessed/member_10.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -10,7 +10,7 @@
     namespace expression { template <typename Lhs, typename Rhs> struct mem_ptr : expr<proto::tag:: mem_ptr, Lhs, Rhs> {}; typedef proto::functional::make_expr<proto::tag:: mem_ptr> make_mem_ptr; } namespace rule { struct mem_ptr : expression:: mem_ptr<meta_grammar, meta_grammar> {}; } template <typename Dummy> struct meta_grammar::case_<proto::tag:: mem_ptr, Dummy> : enable_rule<rule:: mem_ptr, Dummy> {};
     template <typename Object, typename MemPtr>
     inline
- typename enable_if<
+ typename boost::enable_if<
         is_member_function_pointer<MemPtr>
       , detail::mem_fun_ptr_gen<actor<Object>, MemPtr> const
>::type

Modified: branches/release/boost/phoenix/operator/preprocessed/member_20.hpp
==============================================================================
--- branches/release/boost/phoenix/operator/preprocessed/member_20.hpp (original)
+++ branches/release/boost/phoenix/operator/preprocessed/member_20.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -10,7 +10,7 @@
     namespace expression { template <typename Lhs, typename Rhs> struct mem_ptr : expr<proto::tag:: mem_ptr, Lhs, Rhs> {}; typedef proto::functional::make_expr<proto::tag:: mem_ptr> make_mem_ptr; } namespace rule { struct mem_ptr : expression:: mem_ptr<meta_grammar, meta_grammar> {}; } template <typename Dummy> struct meta_grammar::case_<proto::tag:: mem_ptr, Dummy> : enable_rule<rule:: mem_ptr, Dummy> {};
     template <typename Object, typename MemPtr>
     inline
- typename enable_if<
+ typename boost::enable_if<
         is_member_function_pointer<MemPtr>
       , detail::mem_fun_ptr_gen<actor<Object>, MemPtr> const
>::type

Modified: branches/release/boost/phoenix/operator/preprocessed/member_30.hpp
==============================================================================
--- branches/release/boost/phoenix/operator/preprocessed/member_30.hpp (original)
+++ branches/release/boost/phoenix/operator/preprocessed/member_30.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -10,7 +10,7 @@
     namespace expression { template <typename Lhs, typename Rhs> struct mem_ptr : expr<proto::tag:: mem_ptr, Lhs, Rhs> {}; typedef proto::functional::make_expr<proto::tag:: mem_ptr> make_mem_ptr; } namespace rule { struct mem_ptr : expression:: mem_ptr<meta_grammar, meta_grammar> {}; } template <typename Dummy> struct meta_grammar::case_<proto::tag:: mem_ptr, Dummy> : enable_rule<rule:: mem_ptr, Dummy> {};
     template <typename Object, typename MemPtr>
     inline
- typename enable_if<
+ typename boost::enable_if<
         is_member_function_pointer<MemPtr>
       , detail::mem_fun_ptr_gen<actor<Object>, MemPtr> const
>::type

Modified: branches/release/boost/phoenix/operator/preprocessed/member_40.hpp
==============================================================================
--- branches/release/boost/phoenix/operator/preprocessed/member_40.hpp (original)
+++ branches/release/boost/phoenix/operator/preprocessed/member_40.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -10,7 +10,7 @@
     namespace expression { template <typename Lhs, typename Rhs> struct mem_ptr : expr<proto::tag:: mem_ptr, Lhs, Rhs> {}; typedef proto::functional::make_expr<proto::tag:: mem_ptr> make_mem_ptr; } namespace rule { struct mem_ptr : expression:: mem_ptr<meta_grammar, meta_grammar> {}; } template <typename Dummy> struct meta_grammar::case_<proto::tag:: mem_ptr, Dummy> : enable_rule<rule:: mem_ptr, Dummy> {};
     template <typename Object, typename MemPtr>
     inline
- typename enable_if<
+ typename boost::enable_if<
         is_member_function_pointer<MemPtr>
       , detail::mem_fun_ptr_gen<actor<Object>, MemPtr> const
>::type

Modified: branches/release/boost/phoenix/operator/preprocessed/member_50.hpp
==============================================================================
--- branches/release/boost/phoenix/operator/preprocessed/member_50.hpp (original)
+++ branches/release/boost/phoenix/operator/preprocessed/member_50.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -10,7 +10,7 @@
     namespace expression { template <typename Lhs, typename Rhs> struct mem_ptr : expr<proto::tag:: mem_ptr, Lhs, Rhs> {}; typedef proto::functional::make_expr<proto::tag:: mem_ptr> make_mem_ptr; } namespace rule { struct mem_ptr : expression:: mem_ptr<meta_grammar, meta_grammar> {}; } template <typename Dummy> struct meta_grammar::case_<proto::tag:: mem_ptr, Dummy> : enable_rule<rule:: mem_ptr, Dummy> {};
     template <typename Object, typename MemPtr>
     inline
- typename enable_if<
+ typename boost::enable_if<
         is_member_function_pointer<MemPtr>
       , detail::mem_fun_ptr_gen<actor<Object>, MemPtr> const
>::type

Modified: branches/release/boost/phoenix/stl/container/container.hpp
==============================================================================
--- branches/release/boost/phoenix/stl/container/container.hpp (original)
+++ branches/release/boost/phoenix/stl/container/container.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -2,7 +2,7 @@
     Copyright (c) 2004 Angus Leeming
     Copyright (c) 2004 Joel de Guzman
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 #ifndef BOOST_PHOENIX_STL_CONTAINER_CONTAINER_HPP
@@ -98,7 +98,7 @@
             {
                 typedef typename add_reference<C>::type type;
             };
-
+
             template <
                 typename This
               , typename C
@@ -109,7 +109,7 @@
             {
                 typedef typename add_reference<C>::type type;
             };
-
+
             template <
                 typename This
               , typename C
@@ -189,7 +189,7 @@
             template <typename This, typename C>
             struct result<This(C&)>
             {
- typedef
+ typedef
                     typename const_qualified_reference_of<C>::type
                 type;
             };
@@ -482,7 +482,7 @@
             struct result<This(C &, Arg1)>
                 : result_of::insert<C, Arg1>
             {};
-
+
             template <
                 typename This
               , typename C
@@ -492,7 +492,7 @@
             struct result<This(C &, Arg1, Arg2)>
                 : result_of::insert<C, Arg1, Arg2>
             {};
-
+
             template <
                 typename This
               , typename C
@@ -786,41 +786,45 @@
     // The lazy functions themselves.
     //
     ///////////////////////////////////////////////////////////////////////////////
- BOOST_PHOENIX_ADAPT_CALLABLE(assign, boost::phoenix::stl::assign, 2)
- BOOST_PHOENIX_ADAPT_CALLABLE(assign, boost::phoenix::stl::assign, 3)
- BOOST_PHOENIX_ADAPT_CALLABLE(assign, boost::phoenix::stl::assign, 4)
- BOOST_PHOENIX_ADAPT_CALLABLE(at, ::boost::phoenix::stl::at_impl, 2)
- BOOST_PHOENIX_ADAPT_CALLABLE(back, stl::back, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(begin, stl::begin, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(capacity, stl::capacity, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(clear, stl::clear, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(empty, stl::empty, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(end, stl::end, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(erase, stl::erase, 2)
- BOOST_PHOENIX_ADAPT_CALLABLE(erase, stl::erase, 3)
- BOOST_PHOENIX_ADAPT_CALLABLE(front, stl::front, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(get_allocator, stl::get_allocator, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(insert, stl::insert, 2)
- BOOST_PHOENIX_ADAPT_CALLABLE(insert, stl::insert, 3)
- BOOST_PHOENIX_ADAPT_CALLABLE(insert, stl::insert, 4)
- BOOST_PHOENIX_ADAPT_CALLABLE(key_comp, stl::key_comp, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(max_size, stl::max_size, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(pop_back, stl::pop_back, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(pop_front, stl::pop_front, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(push_back, stl::push_back, 2)
- BOOST_PHOENIX_ADAPT_CALLABLE(push_front, stl::push_front, 2)
- BOOST_PHOENIX_ADAPT_CALLABLE(rbegin, stl::rbegin, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(rend, stl::rend, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(reserve, stl::reserve, 2)
- BOOST_PHOENIX_ADAPT_CALLABLE(resize, stl::resize, 2)
- BOOST_PHOENIX_ADAPT_CALLABLE(resize, stl::resize, 3)
- BOOST_PHOENIX_ADAPT_CALLABLE(size, stl::size, 1)
- BOOST_PHOENIX_ADAPT_CALLABLE(splice, stl::splice, 2)
- BOOST_PHOENIX_ADAPT_CALLABLE(splice, stl::splice, 3)
- BOOST_PHOENIX_ADAPT_CALLABLE(splice, stl::splice, 4)
- BOOST_PHOENIX_ADAPT_CALLABLE(splice, stl::splice, 5)
- BOOST_PHOENIX_ADAPT_CALLABLE(value_comp, stl::value_comp, 1)
+ namespace adl_barrier
+ {
+ BOOST_PHOENIX_ADAPT_CALLABLE(assign, boost::phoenix::stl::assign, 2)
+ BOOST_PHOENIX_ADAPT_CALLABLE(assign, boost::phoenix::stl::assign, 3)
+ BOOST_PHOENIX_ADAPT_CALLABLE(assign, boost::phoenix::stl::assign, 4)
+ BOOST_PHOENIX_ADAPT_CALLABLE(at, ::boost::phoenix::stl::at_impl, 2)
+ BOOST_PHOENIX_ADAPT_CALLABLE(back, stl::back, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(begin, stl::begin, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(capacity, stl::capacity, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(clear, stl::clear, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(empty, stl::empty, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(end, stl::end, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(erase, stl::erase, 2)
+ BOOST_PHOENIX_ADAPT_CALLABLE(erase, stl::erase, 3)
+ BOOST_PHOENIX_ADAPT_CALLABLE(front, stl::front, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(get_allocator, stl::get_allocator, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(insert, stl::insert, 2)
+ BOOST_PHOENIX_ADAPT_CALLABLE(insert, stl::insert, 3)
+ BOOST_PHOENIX_ADAPT_CALLABLE(insert, stl::insert, 4)
+ BOOST_PHOENIX_ADAPT_CALLABLE(key_comp, stl::key_comp, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(max_size, stl::max_size, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(pop_back, stl::pop_back, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(pop_front, stl::pop_front, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(push_back, stl::push_back, 2)
+ BOOST_PHOENIX_ADAPT_CALLABLE(push_front, stl::push_front, 2)
+ BOOST_PHOENIX_ADAPT_CALLABLE(rbegin, stl::rbegin, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(rend, stl::rend, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(reserve, stl::reserve, 2)
+ BOOST_PHOENIX_ADAPT_CALLABLE(resize, stl::resize, 2)
+ BOOST_PHOENIX_ADAPT_CALLABLE(resize, stl::resize, 3)
+ BOOST_PHOENIX_ADAPT_CALLABLE(size, stl::size, 1)
+ BOOST_PHOENIX_ADAPT_CALLABLE(splice, stl::splice, 2)
+ BOOST_PHOENIX_ADAPT_CALLABLE(splice, stl::splice, 3)
+ BOOST_PHOENIX_ADAPT_CALLABLE(splice, stl::splice, 4)
+ BOOST_PHOENIX_ADAPT_CALLABLE(splice, stl::splice, 5)
+ BOOST_PHOENIX_ADAPT_CALLABLE(value_comp, stl::value_comp, 1)
+ }
 
+ using namespace phoenix::adl_barrier;
 }} // namespace boost::phoenix
 
 #endif // BOOST_PHOENIX_STL_CONTAINERS_HPP

Modified: branches/release/boost/serialization/export.hpp
==============================================================================
--- branches/release/boost/serialization/export.hpp (original)
+++ branches/release/boost/serialization/export.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -124,7 +124,7 @@
 
 template<class T>
 struct guid_initializer
-{
+{
     void export_guid(mpl::false_) const {
         // generates the statically-initialized objects whose constructors
         // register the information allowing serialization of T objects

Modified: branches/release/boost/serialization/extended_type_info.hpp
==============================================================================
--- branches/release/boost/serialization/extended_type_info.hpp (original)
+++ branches/release/boost/serialization/extended_type_info.hpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -91,9 +91,21 @@
 
 template<class T>
 struct guid_defined : boost::mpl::false_ {};
+
+namespace ext {
+ template <typename T>
+ struct guid_impl
+ {
+ static inline const char * call()
+ {
+ return NULL;
+ }
+ };
+}
+
 template<class T>
 inline const char * guid(){
- return NULL;
+ return ext::guid_impl<T>::call();
 }
 
 } // namespace serialization

Modified: branches/release/libs/phoenix/doc/starter_kit/operator.qbk
==============================================================================
--- branches/release/libs/phoenix/doc/starter_kit/operator.qbk (original)
+++ branches/release/libs/phoenix/doc/starter_kit/operator.qbk 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -40,6 +40,12 @@
     x[ref(i)] // illegal (x is not a phoenix primitive or expression)
     ref(x[ref(i)]) // illegal (x is not a phoenix primitive or expression)
 
+Why are the last two expression illegal? Although `operator[]` looks as
+much like a binary operator as `operator=` above it; the difference is
+that the former must be a member (i.e. `x` must have an `operator[]`
+that takes a phoenix primitive or expression as its argument). This will
+most likely not be the case.
+
 [blurb __tip__ Learn more about operators [link phoenix.modules.operator here.]]
 
 [heading First Practical Example]

Modified: branches/release/libs/phoenix/doc/starter_kit/values.qbk
==============================================================================
--- branches/release/libs/phoenix/doc/starter_kit/values.qbk (original)
+++ branches/release/libs/phoenix/doc/starter_kit/values.qbk 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -20,10 +20,11 @@
 
 [heading Lazy Evaluation]
 
-Confused? `val(3)` is a unary function, you say? Yes it is. However, read
-carefully: /"evaluates to a nullary function"/. `val(3)` evaluates to (returns) a
-nullary function. Aha! `val(3)` returns a function! So, since `val(3)` returns a
-function, you can invoke it. Example:
+Confused? `val` is a unary function and `val(3)` invokes it, you say?
+Yes. However, read carefully: /"evaluates to a nullary function"/.
+`val(3)` evaluates to (returns) a nullary function. Aha! `val(3)`
+returns a function! So, since `val(3)` returns a function, you can
+invoke it. Example:
 
     std::cout << val(3)() << std::endl;
 

Modified: branches/release/libs/phoenix/preprocess/wave.cfg
==============================================================================
--- branches/release/libs/phoenix/preprocess/wave.cfg (original)
+++ branches/release/libs/phoenix/preprocess/wave.cfg 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -1,9 +1,17 @@
 -DBOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
 -DBOOST_PHOENIX_CREATE_PREPROCESSED_FILES
 -S/home/thomas/programming/boost/trunk
+-S/home/heller/programming/boost/trunk
+-S/home/cip/ce/sithhell/programming/boost
 -S/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/include
+-S/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.1/include
+-S/usr/lib/gcc/i486-linux-gnu/4.4.5/include
 -S/usr/include/c++/4.6.0
+-S/usr/include/c++/4.6.1
+-S/usr/include/c++/4.4.5
 -S/usr/include/c++/4.6.0/x86_64-unknown-linux-gnu
+-S/usr/include/c++/4.6.1/x86_64-unknown-linux-gnu
+-S/usr/include/c++/4.4.5/i486-linux-gnu
 -S/usr/include
 --variadics
 -NBOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL

Modified: branches/release/libs/phoenix/test/Jamfile
==============================================================================
--- branches/release/libs/phoenix/test/Jamfile (original)
+++ branches/release/libs/phoenix/test/Jamfile 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -117,6 +117,7 @@
     [ run regression/bug4853.cpp ]
     [ run regression/bug5626.cpp ]
     [ run regression/bug5968.cpp ]
+ [ run regression/bug6040.cpp ]
     ;
 
 test-suite phoenix_include :

Modified: branches/release/libs/phoenix/test/operator/member.cpp
==============================================================================
--- branches/release/libs/phoenix/test/operator/member.cpp (original)
+++ branches/release/libs/phoenix/test/operator/member.cpp 2012-01-14 15:18:36 EST (Sat, 14 Jan 2012)
@@ -43,21 +43,17 @@
     Test* ptr = &test;
 
     BOOST_TEST((val(ptr)->*&Test::value)() == 1);
- /*
     BOOST_TEST((val(cptr)->*&Test::value)() == 1);
     BOOST_TEST((arg1->*&Test::value)(cptr) == 1);
- */
 
- /*
     ((val(ptr)->*&Test::value) = 2)();
     BOOST_TEST(test.value == 2);
- */
 
 
- BOOST_TEST((val(ptr)->*&Test::func)(3)() == 3);
+ BOOST_TEST((val(ptr)->*&Test::func)(val(3))() == 3);
     int i = 33;
     BOOST_TEST((arg1->*&Test::func)(arg2)(cptr, i) == i);
- BOOST_TEST((val(cptr)->*&Test::func)(4)() == 4);
+ //BOOST_TEST((val(cptr)->*&Test::func)(4)() == 4);
     BOOST_TEST((val(ptr)->*&Test::dunc)()() == 10);
 
     BOOST_TEST((arg1->*&Test::func)(5)(ptr) == 5);
@@ -65,32 +61,32 @@
 
     shared_ptr<Test> sptr(new Test(test));
 
- //BOOST_TEST((arg1->*&Test::value)(sptr) == 2);
+ BOOST_TEST((arg1->*&Test::value)(sptr) == 2);
     BOOST_TEST((arg1->*&Test::func)(6)(sptr) == 6);
 
     scoped_ptr<Test> scptr(new Test(test));
 
- //BOOST_TEST((arg1->*&Test::value)(scptr) == 2);
+ BOOST_TEST((arg1->*&Test::value)(scptr) == 2);
     BOOST_TEST((arg1->*&Test::func)(7)(scptr) == 7);
 
     shared_ptr<const Test> csptr(new Test(test));
 
- //BOOST_TEST((arg1->*&Test::value)(csptr) == 2);
+ BOOST_TEST((arg1->*&Test::value)(csptr) == 2);
     BOOST_TEST((arg1->*&Test::func)(8)(csptr) == 8);
 
     scoped_ptr<const Test> cscptr(new Test(test));
 
- //BOOST_TEST((arg1->*&Test::value)(cscptr) == 2);
+ BOOST_TEST((arg1->*&Test::value)(cscptr) == 2);
     BOOST_TEST((arg1->*&Test::func)(9)(cscptr) == 9);
 
     std::auto_ptr<Test> aptr(new Test(test));
 
- //BOOST_TEST((arg1->*&Test::value)(aptr) == 2);
+ BOOST_TEST((arg1->*&Test::value)(aptr) == 2);
     BOOST_TEST((arg1->*&Test::func)(10)(aptr) == 10);
 
     std::auto_ptr<const Test> captr(new Test(test));
 
- //BOOST_TEST((arg1->*&Test::value)(captr) == 2);
+ BOOST_TEST((arg1->*&Test::value)(captr) == 2);
     BOOST_TEST((arg1->*&Test::func)(11)(captr) == 11);
 
     return boost::report_errors();


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