
The macro BOOST_TT_AUX_BOOL_TRAIT_DEF1 is only designed to be used inside namespace boost, but here it is used inside boost::type_traits::detail, causing Borland to complain that there is no definition for the symbol `template_arity' (in that scope). -- Dave Abrahams Boost Consulting www.boost-consulting.com

David Abrahams <dave@boost-consulting.com> writes:
The macro BOOST_TT_AUX_BOOL_TRAIT_DEF1 is only designed to be used inside namespace boost, but here it is used inside boost::type_traits::detail, causing Borland to complain that there is no definition for the symbol `template_arity' (in that scope).
In fact, I can't imagine why one would use BOOST_TT_AUX_BOOL_TRAIT_DEF1 here; that's meant for public-interface metafunctions of the type traits library. It seems to have been used without an understanding of its purpose. I suggest a quick review of all the type traits implementation macro usage in this file. The enclosed seems to fix the problem. -- Dave Abrahams Boost Consulting www.boost-consulting.com

OK, I'll move defs to namespace boost. Is it the only problem with integral_promotion on Borland? What version of Borland are you trying to support? David Abrahams wrote:
The macro BOOST_TT_AUX_BOOL_TRAIT_DEF1 is only designed to be used inside namespace boost, but here it is used inside boost::type_traits::detail, causing Borland to complain that there is no definition for the symbol `template_arity' (in that scope).
-- Dave Abrahams Boost Consulting www.boost-consulting.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Alexander Nasonov Project Manager http://www.akmosoft.com

Alexander Nasonov <alnsn@yandex.ru> writes:
OK, I'll move defs to namespace boost.
Why? Why not just use the patch I posted?
Is it the only problem with integral_promotion on Borland?
It shouldn't be; it looks like a plain-old bug. type_traits::detail::mpl::aux::template_arity is not likely to have been defined, don't you think?
What version of Borland are you trying to support?
5.64 But my guess is that this header only got included on that one compiler.
David Abrahams wrote:
The macro BOOST_TT_AUX_BOOL_TRAIT_DEF1 is only designed to be used inside namespace boost, but here it is used inside boost::type_traits::detail, causing Borland to complain that there is no definition for the symbol `template_arity' (in that scope).
-- Dave Abrahams Boost Consulting www.boost-consulting.com

Alexander Nasonov <alnsn@yandex.ru> writes:
OK, I'll move defs to namespace boost.
Why? Why not just use the patch I posted?
Because I didn't know that you already sent it when I was writing my first post in this thread. I'll apply your patch tonight.
But my guess is that this header only got included on that one compiler. Yes, I recently added it to boost/type_traits.hpp.
-- Alexander Nasonov

John Maddock wrote:
BTW are the docs ready to be merged in? Reference section is ready. I still not decided whether to put my example in TT examples section or to a place suggested by you in a private e-mail. Attached is an output of cvs diff -u type_traits.qbk > type_traits.qbk.diff command. Note that [section:to_double Convert Numeric Types and Enums to double] doesn't contain a text yet.
I can commit the reference section separately. -- Alexander Nasonov Project Manager http://www.akmosoft.com

"Alexander Nasonov" <alnsn@yandex.ru> writes:
Alexander Nasonov <alnsn@yandex.ru> writes:
OK, I'll move defs to namespace boost.
Why? Why not just use the patch I posted?
Because I didn't know that you already sent it when I was writing my first post in this thread. I'll apply your patch tonight.
Great. What about taking this suggestion, to make sure what you did really makes sense?
I suggest a quick review of all the type traits implementation macro usage in this file.
-- Dave Abrahams Boost Consulting www.boost-consulting.com

David Abrahams wrote:
Great. What about taking this suggestion, to make sure what you did really makes sense?
I suggest a quick review of all the type traits implementation macro usage in this file.
See attached diff. GCC 3.2, 3.3, 3.4 and Intel 8.1 compile all promote_*_test.cpp files fine. OK to apply? -- Alexander Nasonov Project Manager http://www.akmosoft.com

See attached diff. GCC 3.2, 3.3, 3.4 and Intel 8.1 compile all promote_*_test.cpp files fine. OK to apply? Applied.
-- Alexander Nasonov Project Manager http://www.akmosoft.com
participants (3)
-
Alexander Nasonov
-
David Abrahams
-
John Maddock