Boost logo

Boost :

From: JOAQUIN LOPEZ MU?Z (joaquin_at_[hidden])
Date: 2004-10-17 06:50:03


----- Mensaje original -----
De: Tobias Schwinger <tschwinger_at_[hidden]>
Fecha: Domingo, Octubre 17, 2004 1:01 pm
Asunto: [boost] Re: [tuple] attempt to fix a BCB regression,and a plea
for help

> JOAQUIN LOPEZ MU?Z wrote:
> > Umm... This got me thinking, maybe the whole BCB-specific
> > patch is just overkill, and it only takes to avoid
> > the add_const<> construct.
> > The attached file does just this, i.e. it relies on
> > the default implementation for element<>, using
> > plain const-qualifying instead of add_const<> for
> > BCB. Would you be so kind to give it a try? Thanks in
> > advance.
> >
>
> This new version compiles fine with BCC 5.6.4 but does not compile
> with
> BCC 5.5.1 (and versions below this, according to Boost.Config).
>
> The patch is the difference from the file attached to the post I
> reply
> to (and not the first file you sent) and makes it work again.
>
> It uses the previous workaround in case
> BOOST_NO_CV_SPECIALIZATIONS is set.
> Another check for BCB within this block could be made in order to
> use
> 'add_const' for compilers where it works fine (I omitted it, for now).
>
>
> Here's my (still fuzzy) problem analysis:
>
> 1. The "BCC <= 5.5.1 - problem" is that for these versions of BCC
> cv-specializations don't work.
>
> 2. The "add_const - problem" could have something todo with the
> fact
> that for BCC 'type const' and 'const type' can be different types.
> [ see the note regarding the '__BORLANDC__' - block in
> 'is_const.hpp' ]

As I understand it, the comment you refer to has to do
with cv-qualifying references --not our problem now, I think.

> I am not sure if and how this affects template argument
> substitution,
> but I changed
>
> typename T::head_type const
>
> to
>
> const typename T::head_type
>
> , just in case...
>

My only objection to your patch is that the problem
with add_const is attributed to BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
Do you have any reason to think so? I'd prefer to
have that part guarded by a simple __BORLANDC__ workaround,
given our current (lack of) knowledge about what's
causing the problem.

If no one complains, I'll commit this stuff to the
CVS tomorrow. Thanks everyboydy for your help.

Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk