|
Boost : |
From: Daniel Walker (daniel.j.walker_at_[hidden])
Date: 2007-05-10 11:25:19
On 5/10/07, Peter Dimov <pdimov_at_[hidden]> wrote:
> Daniel Walker wrote:
> > On 5/9/07, Peter Dimov <pdimov_at_[hidden]> wrote:
>
> >> How about just using
> >>
> >> #if defined(__BORLANDC__) || defined(__GNUC__) && (__GNUC__ * 100 +
> >> __GNUC_MINOR__ <= 400)
> >>
> >> ?
> >
> > I just like the idea of being able to search for BOOST_WORKAROUND and
> > find workaround specific code. I think it should be
> >
> > #if defined(__BORLANDC__) || (defined(BOOST_GCC) &&
> > BOOST_WORKAROUND(BOOST_GCC, <= 0x0400))
>
> I still prefer the above, sorry. It limits the patch to just
> placeholders.hpp and is consistent with the rest of its checks. Let's leave
> the task of defining BOOST_GCC properly to someone else. I see that there is
> already BOOST_CXX_GNUC in Boost.Config along with a bunch of other
> BOOST_CXX_ macros, but it seems always zero.
I agree that it's not good to have patches touch files outside the
given library. But I know as soon as BOOST_GCC is gone I'll discover
that I need it again. If my current approach is unsatisfactory and
someone can give me instructions, I'll volunteer for the job and send
another patch. Or if my current approach is OK, maybe someone can
apply the patch interactively or copy and past that single line into
boost/config/compiler/gcc.hpp.
As for using BOOST_WORKAROUND in bind, that's your call. What ever
your prefer is fine with me, I just want to be able to use the object
placeholders in recent gcc versions. ;-)
Thanks,
Daniel
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk