| 1 | Index: boost/phoenix/core/actor.hpp
|
|---|
| 2 | ===================================================================
|
|---|
| 3 | --- boost/phoenix/core/actor.hpp (working copy)
|
|---|
| 4 | +++ boost/phoenix/core/actor.hpp (working copy)
|
|---|
| 5 | @@ -85,3 +85,3 @@
|
|---|
| 6 |
|
|---|
| 7 | - #define BOOST_PHOENIX_ACTOR_ASSIGN_CHILD(Z, N, D) \
|
|---|
| 8 | + #define BOOST_PHOENIX_ACTOR_ASSIGN_CHILD(N) \
|
|---|
| 9 | assign( \
|
|---|
| 10 | @@ -93,3 +93,10 @@
|
|---|
| 11 | /**/
|
|---|
| 12 | - #define BOOST_PHOENIX_ACTOR_ASSIGN_CALL(Z, N, D) \
|
|---|
| 13 | + #define BOOST_PHOENIX_ACTOR_START_ASSIGN_CHILD(Z, N, D) \
|
|---|
| 14 | + proto::and_< \
|
|---|
| 15 | + BOOST_PHOENIX_ACTOR_ASSIGN_CHILD(N) \
|
|---|
| 16 | + /**/
|
|---|
| 17 | + #define BOOST_PHOENIX_ACTOR_END_ASSIGN(Z, N, D) \
|
|---|
| 18 | + > \
|
|---|
| 19 | + /**/
|
|---|
| 20 | + #define BOOST_PHOENIX_ACTOR_ASSIGN_CALL(N) \
|
|---|
| 21 | proto::when< \
|
|---|
| 22 | @@ -98,11 +105,18 @@
|
|---|
| 23 | > \
|
|---|
| 24 | - , proto::and_< \
|
|---|
| 25 | - BOOST_PP_ENUM( \
|
|---|
| 26 | - N \
|
|---|
| 27 | - , BOOST_PHOENIX_ACTOR_ASSIGN_CHILD \
|
|---|
| 28 | - , _ \
|
|---|
| 29 | - ) \
|
|---|
| 30 | - > \
|
|---|
| 31 | + , BOOST_PP_ENUM( \
|
|---|
| 32 | + N \
|
|---|
| 33 | + , BOOST_PHOENIX_ACTOR_START_ASSIGN_CHILD \
|
|---|
| 34 | + , _ \
|
|---|
| 35 | + ) \
|
|---|
| 36 | + BOOST_PP_REPEAT( \
|
|---|
| 37 | + N \
|
|---|
| 38 | + , BOOST_PHOENIX_ACTOR_END_ASSIGN \
|
|---|
| 39 | + , _ \
|
|---|
| 40 | + ) \
|
|---|
| 41 | > \
|
|---|
| 42 | /**/
|
|---|
| 43 | + #define BOOST_PHOENIX_ACTOR_START_ASSIGN_CALL(Z, N, D) \
|
|---|
| 44 | + proto::or_< \
|
|---|
| 45 | + BOOST_PHOENIX_ACTOR_ASSIGN_CALL(N) \
|
|---|
| 46 | + /**/
|
|---|
| 47 |
|
|---|
| 48 | @@ -127,8 +141,7 @@
|
|---|
| 49 | struct assign
|
|---|
| 50 | - : proto::or_<
|
|---|
| 51 | - BOOST_PP_ENUM_SHIFTED(
|
|---|
| 52 | - BOOST_PHOENIX_LIMIT
|
|---|
| 53 | - , BOOST_PHOENIX_ACTOR_ASSIGN_CALL
|
|---|
| 54 | - , _
|
|---|
| 55 | - )
|
|---|
| 56 | + : BOOST_PP_ENUM_SHIFTED(
|
|---|
| 57 | + BOOST_PHOENIX_LIMIT
|
|---|
| 58 | + , BOOST_PHOENIX_ACTOR_START_ASSIGN_CALL
|
|---|
| 59 | + , _
|
|---|
| 60 | + )
|
|---|
| 61 | , proto::when<
|
|---|
| 62 | @@ -137,3 +150,7 @@
|
|---|
| 63 | >
|
|---|
| 64 | - >
|
|---|
| 65 | + BOOST_PP_REPEAT(
|
|---|
| 66 | + BOOST_PP_DEC(BOOST_PHOENIX_LIMIT)
|
|---|
| 67 | + , BOOST_PHOENIX_ACTOR_END_ASSIGN
|
|---|
| 68 | + , _
|
|---|
| 69 | + )
|
|---|
| 70 | {};
|
|---|
| 71 | @@ -146,3 +163,7 @@
|
|---|
| 72 | #undef BOOST_PHOENIX_ACTOR_ASSIGN_CALL
|
|---|
| 73 | + #undef BOOST_PHOENIX_ACTOR_START_ASSIGN_CALL
|
|---|
| 74 | + #undef BOOST_PHOENIX_ACTOR_END_ASSIGN_CALL
|
|---|
| 75 | #undef BOOST_PHOENIX_ACTOR_ASSIGN_CHILD
|
|---|
| 76 | + #undef BOOST_PHOENIX_ACTOR_START_ASSIGN_CHILD
|
|---|
| 77 | + #undef BOOST_PHOENIX_ACTOR_END_ASSIGN_CHILD
|
|---|
| 78 | }
|
|---|
| 79 | Index: libs/phoenix/test/Jamfile
|
|---|
| 80 | ===================================================================
|
|---|
| 81 | --- libs/phoenix/test/Jamfile (working copy)
|
|---|
| 82 | +++ libs/phoenix/test/Jamfile (working copy)
|
|---|
| 83 | @@ -128,2 +128,4 @@
|
|---|
| 84 | [ run regression/bug6040.cpp ]
|
|---|
| 85 | + [ run regression/bug7165.cpp ]
|
|---|
| 86 | ;
|
|---|
| 87 | Index: libs/phoenix/test/regression/bug7165.cpp
|
|---|
| 88 | ===================================================================
|
|---|
| 89 | new file mode 100644
|
|---|
| 90 | --- libs/phoenix/test/regression/bug7165.cpp (revision 0)
|
|---|
| 91 | +++ libs/phoenix/test/regression/bug7165.cpp (working copy)
|
|---|
| 92 | @@ -0,0 +1,6 @@
|
|---|
| 93 | +#define BOOST_PHOENIX_LIMIT 20
|
|---|
| 94 | +#include <boost/phoenix.hpp>
|
|---|
| 95 | +
|
|---|
| 96 | +int main()
|
|---|
| 97 | +{
|
|---|
| 98 | +}
|
|---|