Details
-
Bug
-
Resolution: Duplicate
-
Not Evaluated
-
None
-
4.8.0
-
None
-
Gentoo Linux
boost-1.48
Qt-4.8.0
gcc-4.6.2
Description
boost provides BOOST_JOIN macro:
//
// Helper macro BOOST_JOIN:
// The following piece of macro magic joins the two
// arguments together, even when one of the arguments is
// itself a macro (see 16.3.1 in C++ standard). The key
// is that macro expansion of macro arguments does not
// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.
//
#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y )
#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y)
#define BOOST_DO_JOIN2( X, Y ) X##Y
This macro is not new in dev-libs/boost:1.48, but it is now used in more
places.
Some packages (e.g. sci-chemistry/avogadro) use moc and headers of
dev-libs/boost.
The attached test header shows parse error. (A separate bug is that moc
truncates name of header in error message.)
$ moc -I/usr/include test.h -o test.moc
usr/include/boost-1_48/boost/type_traits/detail/has_binary_operator.hp:50:
Parse error at "BOOST_JOIN"
Line 50 in
/usr/include/boost-1_48/boost/type_traits/detail/has_binary_operator.hpp is:
namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
Initial bug report on GentoO Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=401551
Attachments
Issue Links
- is replaced by
-
QTBUG-22829 boost 1.48, Qt and [Parse error at "BOOST_JOIN"] error
- Closed