diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..32487d4 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,48 @@ +Boost Phoenix: A Standard compliant C++ preprocessor library +http://www.boost.org/ + +Copyright (c) 2005-2010 Joel de Guzman +Copyright (c) 2010-2013 Thomas Heller +Copyright (c) 2014 John Fletcher + +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) + +------------------------------------------------------------------------------- + +TODO (known issues): +- Create a full list of known issues. +- Inspection report outstanding issues + Fix copyright and licence in preprocessed files for function_equal + Fix libs/phoenix/doc/html/boostbook.css: Unlinked File +- Investigate fixes needed for the following bugs +(all refer to phoenix though not all may be in fact phoenix bugs) +#9295, #9291, #9260, #8820, #8800, #8774, #8704 +#8564, #8558, #8504, #8298, #8187, #8156, #7996 +#7953, #7946, #7730, #7633, #7481, #7480, #7423 +#7391, #7356, #7166, #7165, #6911, #6848, #6665 +#6202, #6133, #6026, #5875, #5824, #5715, #5687 +- Complete work on the following under investigation +#9363, #9362, #7624, #7199 +- #9113 warnings on -Wshadow - find and fix remaining warnings +------------------------------------------------------------------------------- + +CHANGELOG + +- V3.0.1 +- Started CHANGELOG +- Fixed bug_000008 to use phoenix headers correctly. + This fixes it for most systems but not for + Clang Linux C++11 with libstdc++ where the problem seems + to be in boost/thread. Clang Linux C++11 with libc++ works. +- Fixed #9113 warnings on -Wshadow (some fixed) +- Fixed #9111 unused parameter warning in phoenix bind +- Fixed #8417 Minor documentation +- Fixed #7181 MSVC warnings +- Fixed #6268 phoenix and fusion operator < and added test bug6268 +- Fixed many issues from Inspection report + phoenix/core/detail/phx_result.hpp Fixed clash with Apple macro 'check' + +Boost V1.55: +- V3.0.0 + diff --git a/example/generator.cpp b/example/generator.cpp index 60e3d27..e312068 100644 --- a/example/generator.cpp +++ b/example/generator.cpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2011 Thomas Heller - 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) ==============================================================================*/ diff --git a/example/generator2.cpp b/example/generator2.cpp index 3691351..aef2f98 100644 --- a/example/generator2.cpp +++ b/example/generator2.cpp @@ -1,3 +1,9 @@ +/*============================================================================= + Copyright (c) 2011 Thomas Heller + + 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) +==============================================================================*/ #include #include @@ -7,26 +13,26 @@ int main() { - using boost::phoenix::lambda; - using boost::phoenix::let; - using boost::phoenix::ref; - using boost::phoenix::construct; - using boost::phoenix::local_names::_a; - using boost::phoenix::arg_names::_1; + using boost::phoenix::lambda; + using boost::phoenix::let; + using boost::phoenix::ref; + using boost::phoenix::construct; + using boost::phoenix::local_names::_a; + using boost::phoenix::arg_names::_1; - BOOST_AUTO( - generator - , (lambda - ( - _a = val(_1) - ) - [ - std::cout << _a << " " - , _a++ - ]) - ); + BOOST_AUTO( + generator + , (lambda + ( + _a = val(_1) + ) + [ + std::cout << _a << " " + , _a++ + ] ) + ); - int i = 0; - std::vector v(10); - std::for_each(v.begin(), v.end(), generator(0)); + int i = 0; + std::vector v(10); + std::for_each(v.begin(), v.end(), generator(0)); } diff --git a/example/identity_transform.cpp b/example/identity_transform.cpp index 2950dec..471bec0 100644 --- a/example/identity_transform.cpp +++ b/example/identity_transform.cpp @@ -1,3 +1,9 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ #include diff --git a/example/parallel_for.cpp b/example/parallel_for.cpp index e021df0..1fc11d1 100644 --- a/example/parallel_for.cpp +++ b/example/parallel_for.cpp @@ -1,3 +1,9 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ #include diff --git a/include/boost/phoenix/bind/detail/function_ptr.hpp b/include/boost/phoenix/bind/detail/function_ptr.hpp index 6ede485..d947f63 100644 --- a/include/boost/phoenix/bind/detail/function_ptr.hpp +++ b/include/boost/phoenix/bind/detail/function_ptr.hpp @@ -38,7 +38,7 @@ namespace boost { namespace phoenix { namespace detail } template - bool operator==(function_ptr const & rhs) const + bool operator==(function_ptr const & /*rhs*/) const { return false; } diff --git a/include/boost/phoenix/core/actor.hpp b/include/boost/phoenix/core/actor.hpp index f2b47de..9a8d7eb 100644 --- a/include/boost/phoenix/core/actor.hpp +++ b/include/boost/phoenix/core/actor.hpp @@ -29,6 +29,8 @@ #ifdef BOOST_MSVC #pragma warning(push) #pragma warning(disable: 4522) // 'this' used in base member initializer list +#pragma warning(disable: 4510) // default constructor could not be generated +#pragma warning(disable: 4610) // can never be instantiated - user defined constructor required #endif namespace boost { namespace phoenix diff --git a/include/boost/phoenix/core/detail/phx2_result.hpp b/include/boost/phoenix/core/detail/phx2_result.hpp index 76babd2..3f7f485 100644 --- a/include/boost/phoenix/core/detail/phx2_result.hpp +++ b/include/boost/phoenix/core/detail/phx2_result.hpp @@ -23,13 +23,13 @@ namespace boost { namespace phoenix { typedef char (&no)[2]; template - static yes check(typename A::type *); + static yes check_(typename A::type *); template - static no check(...); + static no check_(...); - static bool const value = (sizeof(yes) == sizeof(check(0))); + static bool const value = (sizeof(yes) == sizeof(check_(0))); typedef boost::mpl::bool_ type; }; diff --git a/include/boost/phoenix/core/value.hpp b/include/boost/phoenix/core/value.hpp index 5ffa98d..6c46242 100644 --- a/include/boost/phoenix/core/value.hpp +++ b/include/boost/phoenix/core/value.hpp @@ -56,11 +56,11 @@ namespace boost { namespace phoenix template struct result : boost::remove_const< - typename boost::remove_reference< + typename boost::remove_reference< typename evaluator::impl::result_type - >::type - > - {}; + >::type + > + {}; template typename result const &, Context &)>::type diff --git a/include/boost/phoenix/core/visit_each.hpp b/include/boost/phoenix/core/visit_each.hpp index ad4ca14..9a8971e 100644 --- a/include/boost/phoenix/core/visit_each.hpp +++ b/include/boost/phoenix/core/visit_each.hpp @@ -22,7 +22,7 @@ namespace boost { namespace phoenix struct visit_each_impl { Visitor& visitor; - visit_each_impl(Visitor& visitor ) : visitor(visitor) {} + visit_each_impl(Visitor& visitor_ ) : visitor(visitor_) {} template void operator()(T const& t) const diff --git a/include/boost/phoenix/function/function.hpp b/include/boost/phoenix/function/function.hpp index 20d58aa..4817100 100644 --- a/include/boost/phoenix/function/function.hpp +++ b/include/boost/phoenix/function/function.hpp @@ -37,8 +37,8 @@ namespace boost { namespace phoenix : f() {} - BOOST_CONSTEXPR function(F f) - : f(f) + BOOST_CONSTEXPR function(F f_) + : f(f_) {} template diff --git a/include/boost/phoenix/operator/comparison.hpp b/include/boost/phoenix/operator/comparison.hpp index 987c5a7..bea292f 100644 --- a/include/boost/phoenix/operator/comparison.hpp +++ b/include/boost/phoenix/operator/comparison.hpp @@ -11,6 +11,7 @@ #include #include #include +#include // Added to solve bug 6268 namespace boost { namespace phoenix { diff --git a/include/boost/phoenix/scope/lambda.hpp b/include/boost/phoenix/scope/lambda.hpp index 432edd9..0162fe7 100644 --- a/include/boost/phoenix/scope/lambda.hpp +++ b/include/boost/phoenix/scope/lambda.hpp @@ -96,22 +96,22 @@ namespace boost { namespace phoenix >::type env_type; - typedef - typename result_of::eval< - Lambda - , typename result_of::context< - scoped_environment< - env_type - , outer_env_type - , locals_type - , map_type - > - , typename result_of::actions< - Context - >::type - >::type - >::type - type; + typedef + typename result_of::eval< + Lambda + , typename result_of::context< + scoped_environment< + env_type + , outer_env_type + , locals_type + , map_type + > + , typename result_of::actions< + Context + >::type + >::type + >::type + type; }; template @@ -148,7 +148,7 @@ namespace boost { namespace phoenix >::type env_type; - scoped_environment< + scoped_environment< env_type , outer_env_type , locals_type diff --git a/include/boost/phoenix/scope/scoped_environment.hpp b/include/boost/phoenix/scope/scoped_environment.hpp index a53b4e5..94e5bd3 100644 --- a/include/boost/phoenix/scope/scoped_environment.hpp +++ b/include/boost/phoenix/scope/scoped_environment.hpp @@ -44,11 +44,11 @@ namespace boost { namespace phoenix , locals(locals) {} - scoped_environment(scoped_environment const & o) - : env(o.env) + scoped_environment(scoped_environment const & o) + : env(o.env) , outer_env(o.outer_env) - , locals(o.locals) - {}; + , locals(o.locals) + {}; Env const & env; OuterEnv const & outer_env; diff --git a/include/boost/phoenix/scope/this.hpp b/include/boost/phoenix/scope/this.hpp index de50e80..ebc0888 100644 --- a/include/boost/phoenix/scope/this.hpp +++ b/include/boost/phoenix/scope/this.hpp @@ -62,56 +62,56 @@ namespace boost { namespace phoenix { template struct result { - typedef - typename proto::detail::uncvref< - typename result_of::env< - Context - >::type - >::type - outer_env_type; - - typedef - typename remove_pointer< - typename remove_reference< - typename fusion::result_of::at_c< - outer_env_type - , 0 - >::type - >::type - >::type - actor_type; - - typedef - typename result_of::eval< - A0 const & - , Context const & - >::type - a0_type; + typedef + typename proto::detail::uncvref< + typename result_of::env< + Context + >::type + >::type + outer_env_type; - typedef - vector2 - inner_env_type; + typedef + typename remove_pointer< + typename remove_reference< + typename fusion::result_of::at_c< + outer_env_type + , 0 + >::type + >::type + >::type + actor_type; - typedef - scoped_environment< - inner_env_type - , outer_env_type - , vector0<> - , detail::map_local_index_to_tuple<> - > - env_type; - - typedef - typename result_of::eval< - actor_type const & - , typename result_of::context< - inner_env_type - , typename result_of::actions< - Context - >::type - >::type - >::type - type; + typedef + typename result_of::eval< + A0 const & + , Context const & + >::type + a0_type; + + typedef + vector2 + inner_env_type; + + typedef + scoped_environment< + inner_env_type + , outer_env_type + , vector0<> + , detail::map_local_index_to_tuple<> + > + env_type; + + typedef + typename result_of::eval< + actor_type const & + , typename result_of::context< + inner_env_type + , typename result_of::actions< + Context + >::type + >::type + >::type + type; }; template @@ -121,50 +121,50 @@ namespace boost { namespace phoenix { //std::cout << typeid(checker).name() << "\n"; //std::cout << typeid(checker).name() << "\n"; - typedef - typename proto::detail::uncvref< - typename result_of::env< - Context - >::type - >::type - outer_env_type; - - typedef - typename remove_pointer< - typename remove_reference< - typename fusion::result_of::at_c< - outer_env_type - , 0 - >::type - >::type - >::type - actor_type; - - typedef - typename result_of::eval< - A0 const & - , Context const & - >::type - a0_type; + typedef + typename proto::detail::uncvref< + typename result_of::env< + Context + >::type + >::type + outer_env_type; - typedef - vector2 - inner_env_type; + typedef + typename remove_pointer< + typename remove_reference< + typename fusion::result_of::at_c< + outer_env_type + , 0 + >::type + >::type + >::type + actor_type; - typedef - scoped_environment< - inner_env_type - , outer_env_type - , vector0<> - , detail::map_local_index_to_tuple<> - > - env_type; + typedef + typename result_of::eval< + A0 const & + , Context const & + >::type + a0_type; - inner_env_type inner_env = {fusion::at_c<0>(phoenix::env(ctx)), phoenix::eval(a0, ctx)}; - vector0<> locals; - env_type env(inner_env, phoenix::env(ctx), locals); + typedef + vector2 + inner_env_type; - return phoenix::eval(*fusion::at_c<0>(phoenix::env(ctx)), phoenix::context(inner_env, phoenix::actions(ctx))); + typedef + scoped_environment< + inner_env_type + , outer_env_type + , vector0<> + , detail::map_local_index_to_tuple<> + > + env_type; + + inner_env_type inner_env = {fusion::at_c<0>(phoenix::env(ctx)), phoenix::eval(a0, ctx)}; + vector0<> locals; + env_type env(inner_env, phoenix::env(ctx), locals); + + return phoenix::eval(*fusion::at_c<0>(phoenix::env(ctx)), phoenix::context(inner_env, phoenix::actions(ctx))); //return (*fusion::at_c<0>(phoenix::env(ctx)))(eval(a0, ctx)); } }; @@ -174,17 +174,17 @@ namespace boost { namespace phoenix { : call {}; - template + template struct is_nullary::when : proto::make {}; - template - typename expression::this_::type const - this_(A0 const & a0) - { - return expression::this_::make(a0); - } + template + typename expression::this_::type const + this_(A0 const & a0) + { + return expression::this_::make(a0); + } }} diff --git a/include/boost/phoenix/statement/do_while.hpp b/include/boost/phoenix/statement/do_while.hpp index d9b5361..ff0a297 100644 --- a/include/boost/phoenix/statement/do_while.hpp +++ b/include/boost/phoenix/statement/do_while.hpp @@ -43,8 +43,8 @@ namespace boost { namespace phoenix template struct do_while_gen { - do_while_gen(Do const& do_) - : do_(do_) {} + do_while_gen(Do const& do_it) + : do_(do_it) {} template typename expression::do_while::type const diff --git a/include/boost/phoenix/statement/for.hpp b/include/boost/phoenix/statement/for.hpp index e98a1dc..ad4670e 100644 --- a/include/boost/phoenix/statement/for.hpp +++ b/include/boost/phoenix/statement/for.hpp @@ -56,17 +56,17 @@ namespace boost { namespace phoenix template struct for_gen { - for_gen(Init const& init, Cond const& cond, Step const& step) - : init(init), cond(cond), step(step) {} + for_gen(Init const& init_, Cond const& cond_, Step const& step_) + : init(init_), cond(cond_), step(step_) {} template typename expression::for_::type const - operator[](Do const& do_) const + operator[](Do const& do_it) const { return expression:: for_:: - make(init, cond, step, do_); + make(init, cond, step, do_it); } Init init; diff --git a/include/boost/phoenix/statement/if.hpp b/include/boost/phoenix/statement/if.hpp index e9e9334..41badc9 100644 --- a/include/boost/phoenix/statement/if.hpp +++ b/include/boost/phoenix/statement/if.hpp @@ -93,9 +93,9 @@ namespace boost { namespace phoenix template struct else_gen { - else_gen(Cond const & cond, Then const & then) - : cond(cond) - , then(then) {} + else_gen(Cond const & cond_, Then const & then_) + : cond(cond_) + , then(then_) {} template typename expression::if_else_statement::type const @@ -135,8 +135,8 @@ namespace boost { namespace phoenix template struct if_gen { - if_gen(Cond const & cond) - : cond(cond) {} + if_gen(Cond const & cond_) + : cond(cond_) {} template typename expression::if_::type const diff --git a/include/boost/phoenix/statement/switch.hpp b/include/boost/phoenix/statement/switch.hpp index d101c03..20a53e7 100644 --- a/include/boost/phoenix/statement/switch.hpp +++ b/include/boost/phoenix/statement/switch.hpp @@ -238,7 +238,7 @@ namespace boost { namespace phoenix { template struct switch_gen { - switch_gen(Cond const& cond) : cond(cond) {} + switch_gen(Cond const& cond_) : cond(cond_) {} template typename expression::switch_< diff --git a/include/boost/phoenix/statement/try_catch.hpp b/include/boost/phoenix/statement/try_catch.hpp index d3e40cf..a7ea8bf 100644 --- a/include/boost/phoenix/statement/try_catch.hpp +++ b/include/boost/phoenix/statement/try_catch.hpp @@ -274,7 +274,7 @@ namespace boost { namespace phoenix template struct catch_gen { - catch_gen(TryCatch const& try_catch) : try_catch(try_catch) {} + catch_gen(TryCatch const& try_catch_) : try_catch(try_catch_) {} template typename boost::disable_if< @@ -301,7 +301,7 @@ namespace boost { namespace phoenix template struct catch_all_gen { - catch_all_gen(TryCatch const& try_catch) : try_catch(try_catch) {} + catch_all_gen(TryCatch const& try_catch_) : try_catch(try_catch_) {} template typename boost::disable_if< diff --git a/include/boost/phoenix/support/vector.hpp b/include/boost/phoenix/support/vector.hpp index 82ec6af..6899d85 100644 --- a/include/boost/phoenix/support/vector.hpp +++ b/include/boost/phoenix/support/vector.hpp @@ -1,3 +1,9 @@ +#ifdef BOOST_MSVC +#pragma warning(push) +#pragma warning(disable: 4512) // assignment operator could not be generated +#pragma warning(disable: 4510) // default constructor could not be generated +#pragma warning(disable: 4610) // can never be instantiated - user defined constructor required +#endif #if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) #ifndef BOOST_PHOENIX_SUPPORT_VECTOR_HPP @@ -132,3 +138,7 @@ BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL( #endif #endif + +#ifdef BOOST_MSVC +#pragma warning(pop) +#endif diff --git a/include/boost/phoenix/version.hpp b/include/boost/phoenix/version.hpp index 9b3fd04..f639cd3 100644 --- a/include/boost/phoenix/version.hpp +++ b/include/boost/phoenix/version.hpp @@ -13,6 +13,6 @@ // This is the version of the library // /////////////////////////////////////////////////////////////////////////////// -#define BOOST_PHOENIX_VERSION 0x3000 // 3.0.0 +#define BOOST_PHOENIX_VERSION 0x3001 // 3.0.1 #endif diff --git a/test/Jamfile b/test/Jamfile index 70f0bd7..0e2805f 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -126,6 +126,7 @@ test-suite phoenix_regression : [ run regression/bug5626.cpp ] [ run regression/bug5968.cpp ] [ run regression/bug6040.cpp ] + [ run regression/bug6268.cpp ] ; test-suite phoenix_include : @@ -139,6 +140,8 @@ test-suite phoenix_include : [ run include/statement.cpp ] [ run include/stl.cpp ] [ run include/version.cpp ] + [ run include/bind/bind_member_function.cpp ] + [ run include/bind/bind_member_variable.cpp ] [ run include/core/actor.cpp ] [ run include/core/argument.cpp ] [ run include/core/arity.cpp ] @@ -148,13 +151,13 @@ test-suite phoenix_include : [ run include/core/function_equal.cpp ] [ run include/core/is_actor.cpp ] [ run include/core/is_nullary.cpp ] - [ run include/core/nothing.cpp ] - [ run include/core/meta_grammar.cpp ] [ run include/core/limits.cpp ] + [ run include/core/meta_grammar.cpp ] + [ run include/core/nothing.cpp ] + [ run include/core/reference.cpp ] [ run include/core/terminal.cpp ] [ run include/core/value.cpp ] [ run include/core/visit_each.cpp ] - [ run include/core/reference.cpp ] [ run include/function/function.cpp : : : : function_function ] [ run include/fusion/at.cpp ] [ run include/object/const_cast.cpp ] diff --git a/test/bind/bug5782.cpp b/test/bind/bug5782.cpp index e07b526..37b38c9 100644 --- a/test/bind/bug5782.cpp +++ b/test/bind/bug5782.cpp @@ -1,3 +1,9 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ #include #include diff --git a/test/include/bind/bind.cpp b/test/include/bind/bind.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/test/include/core/test.cpp b/test/include/core/test.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/test/include/operator/operator.cpp b/test/include/operator/operator.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/test/regression/bug5626.cpp b/test/regression/bug5626.cpp index 2a6d39e..83d731b 100644 --- a/test/regression/bug5626.cpp +++ b/test/regression/bug5626.cpp @@ -1,3 +1,10 @@ +/*============================================================================== + Copyright (c) 2005-2010 Joel de Guzman + Copyright (c) 2010 Thomas Heller + + 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) +==============================================================================*/ #include #include diff --git a/test/regression/bug5968.cpp b/test/regression/bug5968.cpp index 403c945..113360a 100644 --- a/test/regression/bug5968.cpp +++ b/test/regression/bug5968.cpp @@ -1,3 +1,10 @@ +/*============================================================================== + Copyright (c) 2005-2010 Joel de Guzman + Copyright (c) 2010 Thomas Heller + + 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) +==============================================================================*/ #include #include diff --git a/test/regression/bug6040.cpp b/test/regression/bug6040.cpp index 041dea3..dce413c 100644 --- a/test/regression/bug6040.cpp +++ b/test/regression/bug6040.cpp @@ -1,3 +1,11 @@ +/*============================================================================== + Copyright (c) 2005-2010 Joel de Guzman + Copyright (c) 2010 Thomas Heller + + 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) +==============================================================================*/ + #include #include #include diff --git a/test/regression/bug6268.cpp b/test/regression/bug6268.cpp new file mode 100644 index 0000000..7bfc3f9 --- /dev/null +++ b/test/regression/bug6268.cpp @@ -0,0 +1,20 @@ +#include +#include +#include +#include + +struct foo : boost::fusion::sequence_facade +{ + // Rest of the sequence_facade extension mechanism code omitted, + // as it is not needed to reproduce the error + + foo() : x(), y() {} + + int x; + int y; +}; + +int main() +{ + /*auto x = */ boost::phoenix::arg_names::arg1 < foo(); +} diff --git a/test/scope/bug_000008.cpp b/test/scope/bug_000008.cpp index cd524d1..de39398 100644 --- a/test/scope/bug_000008.cpp +++ b/test/scope/bug_000008.cpp @@ -11,11 +11,13 @@ // for a description of the bug being tested for by this program // // This code is borrowed from Spirit's bug_000008.cpp test for multithreads. + // Now modified to point to the Phoenix headers + // instead of the ones in Spirit. #include #include #include #include -#include +#include #if defined(DONT_HAVE_BOOST) \ || !defined(BOOST_HAS_THREADS) \ @@ -42,15 +44,16 @@ main() #else // the real MT stuff -#include -#include +#include +#include #include static const int number_of_calls_per_thread=20000; struct test_dynamic : boost::phoenix::dynamic { - test_dynamic() : b(*this) {} + // test_dynamic() : b(*this) {} + test_dynamic() : b(init<0>(this)) {} member1 b; }; diff --git a/test/scope/lambda_tests.cpp b/test/scope/lambda_tests.cpp index f77af2a..294d91f 100644 --- a/test/scope/lambda_tests.cpp +++ b/test/scope/lambda_tests.cpp @@ -184,16 +184,16 @@ main() } { - { + { // $$$ Fixme. This should not be failing $$$ //int x = (let(_a = lambda[val(1)])[_a])()(); //BOOST_TEST(x == 1); - } + } - { + { int x = (let(_a = lambda[val(1)])[bind(_a)])(); BOOST_TEST(x == 1); - } + } } { diff --git a/test/scope/this.cpp b/test/scope/this.cpp index 4695453..2f9ae57 100644 --- a/test/scope/this.cpp +++ b/test/scope/this.cpp @@ -59,20 +59,20 @@ int main() std::cout << _1 << " " , this_(_1 - 1) ] - , val(0) + , val(0) )); - /* - f(( - if_else( +/* + f(( + if_else( _1 == 0 , _1 ,this_(_1 - 1) ) )); - */ - - f(( +*/ + + f(( if_else( _1 != 0 ,this_(_1 - 1) @@ -120,5 +120,5 @@ int main() ) ) )); - */ +*/ } diff --git a/test/stdlib/cmath.cpp b/test/stdlib/cmath.cpp index 40dcf49..8ee3a5d 100644 --- a/test/stdlib/cmath.cpp +++ b/test/stdlib/cmath.cpp @@ -1,3 +1,10 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ + #include #include #include