|
Boost : |
Subject: Re: [boost] [Boost-commit] svn:boost r66442 - in trunk/boost: math/tools test test/impl
From: Jürgen Hunold (juergen.hunold_at_[hidden])
Date: 2010-11-07 15:26:53
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
-- * Dipl.-Math. Jürgen Hunold ! Ingenieurgesellschaft für * voice: ++49 511 262926 57 ! Verkehrs- und Eisenbahnwesen mbH * fax : ++49 511 262926 99 ! Lister Straße 15 * juergen.hunold_at_[hidden] ! www.ivembh.de * * Geschäftsführer: ! Sitz des Unternehmens: Hannover * Prof. Dr.-Ing. Thomas Siefer ! Amtsgericht Hannover, HRB 56965 * PD Dr.-Ing. Alfons Radtke !
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk