| Boost Phoenix: A Library for Functional Programming in C++ |
| http://www.boost.org/ |
| |
| Copyright (c) 2005-2010 Joel de Guzman |
| Copyright (c) 2010-2013 Thomas Heller |
| Copyright (c) 2014-2015 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. |
| - Check all the examples and ammend as needed. |
| - Update documentation to be consistent with examples. |
| - Identify other boost libraries using Phoenix in order to |
| decide on priorities for fixing the bugs below. |
| One such library is Boost log. |
| - Identify dependencies on other libraries and cooperate on bugs. |
| It is now known that the other libraries which use Boost Phoenix |
| are Boost Spirit and Boost Meta State Machine (MSM) |
| - Add more examples |
| - Develop documentation. |
| A start has been made on this in release 3.1.0 |
| - Inspection report outstanding issues |
| 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 |
| #9742 (NEW) |
| #9291, #9260, #8820, #8800 |
| #8558, #8504, #8187, #8156, #7996 |
| #7953, #7946, #7481, #7480, #7423 |
| #7391, #7356, #6911, #6848, |
| #6202, #6133, #6026, #5687 |
| - Feature requests |
| #7730 Potential fixes for this have been removed for further work. |
| #7633, #5541 |
| - Complete work on the following under investigation |
| #9363, #9362, #8564, #7199 |
| - #5875 local variable in phoenix let discards value |
| This seemed already fixed but is not doing well in tests. |
| Added test bug5875 - test withdrawn for further checking. |
| ------------------------------------------------------------------------------- |
| |
| CHANGELOG |
| |
| - DEVELOP |
| |
| - V3.2.0 |
| |
| - patch for #10927 in test/stdlib/cmath.cpp |
| - patch for #11085 in test/function/function_tests.cpp |
| |
| - Bump version number to 3.2.0 in version.hpp. |
| |
| - New header files in boost/phoenix/function |
| These are the first versions of the lazy functionality being introduced. |
| This is reimplementation of the ideas in FC++ on top of Phoenix. |
| The Phoenix code used is Phoenix.Function, along with Boost.Function. |
| lazy_prelude.hpp This is the top level header and also has prelude functions. |
| lazy_operator.hpp This defines lazy operators such as plus and minus. |
| lazy_list.hpp This defines list<T> a lazy list class and associated code. |
| lazy_reuser.hpp This defines the reuser functions used in the code. |
| |
| - New tests for lazy functionality. |
| test/include/function/lazy_headers Test of the header structure. |
| test/function/lazy_list_tests Simple tests of list<T>. |
| test/function/lazy_list2_tests More tests of list<T>. |
| - Develop documentation for version 3.2.0 |
| This includes a new section on the lazy list implementation. |
| |
| - V3.1.1 |
| |
| - Bump version number to 3.1.1 in version.hpp and branch for release. |
| |
| - New tests for lazy functions using existing phoenix/function capability. |
| lazy_argument_tests, lazy_make_pair_tests, lazy_templated_struct_tests |
| |
| - New example bind_goose.cpp comparing boost.bind and boost.phoenix.bind. |
| |
| - Changes to let_tests and more_let_tests to avoid failing cases. |
| |
| - Updates to documentation. |
| |
| - V3.1.0 |
| - Bump version number to 3.1.0 in version.hpp and branch for release. |
| - New file boost/phoenix/config.hpp to centralise configuration issues. |
| At the moment it simply includes boost/config.hpp |
| - Changes to some tests to identify problems with several compilers. |
| - Add more cases to cmath test to test failures on some compilers. |
| - #7165 and #7166 Change tests to phoenix/core.hpp to reduce compiler load |
| - Testing fix for failures of tests as follows |
| bind_member_function_tests, bind_mf2_test, bind_test |
| with compilers including gcc 4.9.0 and clang 3.5 |
| This involves use of boost::lazy_disable_if to resolve |
| the choice of overloaded bind functions in |
| bind/bind_member_variable.hpp |
| bind/bind_member_function.hpp Add reverse test boost::lazy_enable_if |
| This resolves a smaller number of failures. |
| - #9742 New tests for_each and for_test to attempt to resolve this. |
| - bind_rv_sp_test changed to give workaround for MSVC 8,9,10, |
| This removes a COMDAT error which does not occur with boost/bind. |
| |
| - V3.0.6 |
| - Fixed bug in example/container_actor.cpp in end() function. |
| - Fixed bug4853 and 5626 - added header <utility> for std::forward. |
| - Fixed bug4853 - added header <iostream> for gcc 4.9 test |
| - New Feature - boost::phoenix::display_expr(expr) |
| In file boost/phoenix/core/debug.hpp |
| and also included from boost/phoenix/core.hpp |
| For now this drops through to the boost Proto version. |
| I intend to add some more tags for better information. |
| New test debug for the new header. |
| KNOWN BUG - WARNING |
| - New test more_let_tests to check for problems with losing temporary values. |
| I think this is a serious problem which is affecting some compilers |
| and not others. I have seen the problem with Clang 3.4 although not |
| when run with C++11. These tests should find out where else there is a |
| problem. At the moment these tests are passing. |
| I now have cases which fail for Clang 3.4 with optimization -O2 but not |
| without optimization. Under investigation. |
| |
| - V3.0.5 |
| - Documentation |
| Start on fixing main documentation - whats new. |
| Fixed reference for FC++ in two locations. |
| Fixed example for nested let (#8564) |
| - Fixed #9113 warnings on -Wshadow |
| Fixed all warnings |
| - Fixed #8298 Clang error with Boost Phoenix Local Name Assignment using C++11 |
| This is not expected to compile in the form supplied. |
| Added test bug8298 to show correct operation. |
| Added test bug8298f to show expected failure. |
| - Fixed #7730 Generic specializations of is_nullary for custom terminals |
| are not possible |
| Fix to specialize custom terminals is now set as a default. |
| Define BOOST_PHOENIX_NO_SPECIALIZE_CUSTOM_TERMINAL not to use this. |
| Test bug7730 tests the not use case. |
| |
| - V3.0.4 |
| - Inspection report outstanding issues |
| Fixed copyright and licence in preprocessed files for function_equal |
| - boost/phoenix/version.hpp Added BOOST_PHOENIX_VERSION_NUMBER |
| when boost/predef is available. |
| - Fixed tabs in ChangeLog!! |
| - Fixed #9295 PHOENIX_LIMIT macro clash: property_tree -- log/sink |
| This will not show up in phoenix - used in spirit/classic |
| - Fixed #8704 Using Phoenix lambdas on top of custom Proto expressions |
| This works for C++11 only. |
| Test cmath applies to this. |
| - Fixed #7624 Deduction failure |
| This works for C++11 and has a workaround for C++03 |
| Test bug7624 tests both versions. |
| - Fixed #7166 Phoenix unconditionally sets BOOST_PROTO_MAX_ARITY |
| using patch supplied |
| Added test bug7166 |
| - Fixed #7165 cannot change BOOST_PHOENIX_LIMIT |
| using patch supplied |
| Added test bug7165 |
| - Fixed #6665 not-unary phoenix stl cmath adapted functions not working |
| Added test cmath |
| |
| - V3.0.3 |
| - Fixed #5824 Block statement headers and docs |
| Added test bug5824 |
| |
| - V3.0.2 |
| - Fixed #5715 sequencing with comma does not work for boost::phoenix::bind |
| Added test bug5715 |
| |
| - 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' |
| Fixed copyright and licence issues |
| Fixed tabs in some files |
| Deleted some empty unused files |
| Added tests for includes not being tested. |
| |
| Boost V1.55: |
| - V3.0.0 |
| - Boost Phoenix as passed on to new maintainer John Fletcher |