diff --git a/include/boost/lambda/detail/lambda_config.hpp b/include/boost/lambda/detail/lambda_config.hpp index 7d2b47e..b171b26 100644 --- a/include/boost/lambda/detail/lambda_config.hpp +++ b/include/boost/lambda/detail/lambda_config.hpp @@ -20,12 +20,15 @@ // add to boost/config.hpp // for now + + # if defined __GNUC__ -# if (__GNUC__ == 2 && __GNUC_MINOR__ <= 97) || __GNUC__ == 3 +# if (__GNUC__ == 2 && __GNUC_MINOR__ <= 97) #define BOOST_NO_TEMPLATED_STREAMS #endif #endif // __GNUC__ + # if defined __KCC #define BOOST_NO_FORWARD_DECLARADED_TEMPLATES_AS_TEMPLATE_TEMPLATE_PARAMETERS diff --git a/include/boost/lambda/detail/operator_actions.hpp b/include/boost/lambda/detail/operator_actions.hpp index ec011aa..f76437e 100644 --- a/include/boost/lambda/detail/operator_actions.hpp +++ b/include/boost/lambda/detail/operator_actions.hpp @@ -126,6 +126,9 @@ BOOST_LAMBDA_BINARY_ACTION(^=,bitwise_assignment_action,xor_action) // && and || are defined directly in specializations for lambda_functor_base // to achieve short circuiting + // Still we define some empty action classes for them, as they are instantiated: + template<> class logical_action : public protectable {}; + template<> class logical_action : public protectable {}; BOOST_LAMBDA_BINARY_ACTION(=,other_action, assignment_action)