Boost logo

Boost :

Subject: Re: [boost] [1.39.0][Signals2] Release branch test failures
From: Frank Mori Hess (frank.hess_at_[hidden])
Date: 2009-04-13 15:25:54


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Monday 13 April 2009, Peter Dimov wrote:
> I haven't. What seems to be happening is that when you pass _1, which is
>
> inline arg<1> _1() { .. }

Also, if I modify bind/placeholders.hpp to define _1 as the usual

boost::arg<1> _1;

the problems seem to go away. Maybe the

defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ <= 400)

should be modified to additionally check that __GNUC_PATCHLEVEL__ is less than
1? I ran the bind tests and they still all pass with g++ 4.0.1 with this
change.

>
> to A1 const& a1, A1 is properly deduced as a function type, but the const
> is not dropped, as it should be; instead, the type of a1 becomes arg<1>
> (&)() const (which is illegal BTW). When this a1 is passed (by value) to
> boost::bind, it decays to its corresponding pointer type, arg<1> (*)()
> const - which is also illegal. :-)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAknjkcIACgkQ5vihyNWuA4WdIACg3MNMqwlrBRI9cJRvM6M0m3zs
HkwAoMKf+0HQL+g7nc05AdygbRmrOXCs
=IgII
-----END PGP SIGNATURE-----


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