Index: boost/spirit/home/phoenix/statement/detail/catch_eval.hpp =================================================================== --- boost/spirit/home/phoenix/statement/detail/catch_eval.hpp (revision 49077) +++ boost/spirit/home/phoenix/statement/detail/catch_eval.hpp (working copy) @@ -41,7 +41,10 @@ #endif -#elif BOOST_PP_ITERATION_DEPTH() == 1 +// For gcc 4.4 compatability, we must include the +// BOOST_PP_ITERATION_DEPTH test inside an #else clause. +#else // BOOST_PP_IS_ITERATING +#if BOOST_PP_ITERATION_DEPTH() == 1 #define PHOENIX_ITERATION BOOST_PP_ITERATION() @@ -76,4 +79,5 @@ #undef PHOENIX_ITERATION +#endif // BOOST_PP_ITERATION_DEPTH() #endif Index: boost/spirit/home/phoenix/statement/detail/catch_all_eval.hpp =================================================================== --- boost/spirit/home/phoenix/statement/detail/catch_all_eval.hpp (revision 49077) +++ boost/spirit/home/phoenix/statement/detail/catch_all_eval.hpp (working copy) @@ -57,7 +57,10 @@ #endif -#elif BOOST_PP_ITERATION_DEPTH() == 1 +// For gcc 4.4 compatability, we must include the +// BOOST_PP_ITERATION_DEPTH test inside an #else clause. +#else // BOOST_PP_IS_ITERATING +#if BOOST_PP_ITERATION_DEPTH() == 1 #define PHOENIX_ITERATION BOOST_PP_ITERATION() @@ -98,4 +101,5 @@ #undef PHOENIX_ITERATION +#endif // BOOST_PP_ITERATION_DEPTH() #endif