Skip to content

Commit

Permalink
Fix FTBFS with Boost 1.49.0
Browse files Browse the repository at this point in the history
The implementation of BOOST_PP_ITERATION_FLAGS() changed in Boost 1.49.0,
which causes Luabind to fail to build with GCC (reproduced with GCC 4.4
and GCC 4.6).

https://svn.boost.org/trac/boost/ticket/6631

http://thread.gmane.org/gmane.comp.lib.boost.devel/228802

http://article.gmane.org/gmane.comp.lib.boost.devel/228836

The work-around is to replace the pattern

 #if !defined(MACRO)
     // A
 #elif MACRO()
     // B
 #endif

with

 #if !defined(MACRO)
     // A
 #else
     #if MACRO()
         // B
     #endif
 #endif
  • Loading branch information
Peter Colberg committed Mar 15, 2012
1 parent f5fe839 commit 085f2e0
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 3 deletions.
4 changes: 3 additions & 1 deletion luabind/detail/call_function.hpp
Expand Up @@ -317,7 +317,8 @@ namespace luabind

#endif // LUABIND_CALL_FUNCTION_HPP_INCLUDED

#elif BOOST_PP_ITERATION_FLAGS() == 1
#else
#if BOOST_PP_ITERATION_FLAGS() == 1

#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n *
#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n
Expand Down Expand Up @@ -432,4 +433,5 @@ namespace luabind


#endif
#endif

4 changes: 3 additions & 1 deletion luabind/detail/call_member.hpp
Expand Up @@ -312,7 +312,8 @@ namespace luabind

#endif // LUABIND_CALL_MEMBER_HPP_INCLUDED

#elif BOOST_PP_ITERATION_FLAGS() == 1
#else
#if BOOST_PP_ITERATION_FLAGS() == 1

#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n *
#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n
Expand Down Expand Up @@ -356,4 +357,5 @@ namespace luabind
#undef LUABIND_TUPLE_PARAMS

#endif
#endif

4 changes: 3 additions & 1 deletion luabind/wrapper_base.hpp
Expand Up @@ -89,7 +89,8 @@ namespace luabind

#endif // LUABIND_WRAPPER_BASE_HPP_INCLUDED

#elif BOOST_PP_ITERATION_FLAGS() == 1
#else
#if BOOST_PP_ITERATION_FLAGS() == 1

#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n *
#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n
Expand Down Expand Up @@ -188,3 +189,4 @@ namespace luabind
#undef N

#endif
#endif

0 comments on commit 085f2e0

Please sign in to comment.