Boost logo

Boost :

Subject: Re: [boost] [Boost-commit] svn:boost r66442 - in trunk/boost: math/tools test test/impl
From: Bryce Lelbach (admin_at_[hidden])
Date: 2010-11-07 15:49:21


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

Replied to this in Boost.Devel.

On Sun, 7 Nov 2010 21:26:53 +0100
Jürgen Hunold <juergen.hunold_at_[hidden]> wrote:

> Hi !
>
> On Sunday, 7. November 2010 21:05:06 admin_at_[hidden] wrote:
> > Author: wash
> > Date: 2010-11-07 15:05:04 EST (Sun, 07 Nov 2010)
> > New Revision: 66442
> > URL: http://svn.boost.org/trac/boost/changeset/66442
> >
> > Log:
> > Clang hand-holding, mostly for issues caused by Clang defining GCC macros.
>
> I do not think that removing the inclusion of "fenv.h" for clang is the right
> solution. According to
> http://llvm.org/bugs/show_bug.cgi?id=6907
> it is a known compiler bug that clang fails to correctly load "fenv.h" in
> certain environments (several gcc versions installed...)
> I've been working around this by simply adding (see below)
>
> > Text files modified:
> > trunk/boost/math/tools/config.hpp | 2 +-
> > trunk/boost/test/execution_monitor.hpp | 15 ++++++++-------
> > trunk/boost/test/impl/execution_monitor.ipp | 18 +++++++++---------
> > 3 files changed, 18 insertions(+), 17 deletions(-)
> >
> > Modified: trunk/boost/math/tools/config.hpp
> > ===========================================================================
> > === --- trunk/boost/math/tools/config.hpp (original)
> > +++ trunk/boost/math/tools/config.hpp 2010-11-07 15:05:04 EST (Sun, 07
> > Nov 2010) @@ -255,7 +255,7 @@
> > } // namespace tools
> > }} // namespace boost namespace math
> >
> > -#if (defined(__linux__) && !defined(__UCLIBC__)) || defined(__QNX__) ||
> > defined(__IBMCPP__) +#if (defined(__linux__) && !defined(__UCLIBC__) &&
> > !defined(__clang__)) || defined(__QNX__) || defined(__IBMCPP__)
> >
> > #include <fenv.h>
>
> #if defined(__clang__)
> #include </usr/include/fenvh.>
> #else
>
> for my local working copies.
>
> > return ~old_cw & BOOST_FPE_ALL;
> > -#elif defined(__GLIBC__) && defined(__USE_GNU)
> > +#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG)
> >
> > ::feclearexcept(BOOST_FPE_ALL);
>
> And this actually removes fp-Support from Boost.Test.
>
> Not good.
>
> Please find a better solution.
> And/Or mark the relevant places with Todo containing a reference to the clang
> bug report.
>
> Yours,
>
> Jürgen



- --
Bryce Lelbach aka wash
http://groups.google.com/group/ariel_devel
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkzXENEACgkQO/fqqIuE2t5fsACgwpcpFY3FfS8rKho6GhFMoAwL
Xx0AoKpFvcrRpchggFgwNVqUa5f92P6C
=qgAx
-----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