diff options
| author | Tobias Markmann <tm@ayena.de> | 2014-10-19 20:22:58 (GMT) | 
|---|---|---|
| committer | Tobias Markmann <tm@ayena.de> | 2014-10-20 13:49:33 (GMT) | 
| commit | 6b22dfcf59474dd016a0355a3102a1dd3692d92c (patch) | |
| tree | 2b1fd33be433a91e81fee84fdc2bf1b52575d934 /3rdParty/Boost/src/boost/detail/fenv.hpp | |
| parent | 38b0cb785fea8eae5e48fae56440695fdfd10ee1 (diff) | |
| download | swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.zip swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.tar.bz2 | |
Update Boost in 3rdParty to version 1.56.0.
This updates Boost in our 3rdParty directory to version 1.56.0.
Updated our update.sh script to stop on error.
Changed error reporting in SwiftTools/CrashReporter.cpp to SWIFT_LOG due to
missing include of <iostream> with newer Boost.
Change-Id: I4b35c77de951333979a524097f35f5f83d325edc
Diffstat (limited to '3rdParty/Boost/src/boost/detail/fenv.hpp')
| -rw-r--r-- | 3rdParty/Boost/src/boost/detail/fenv.hpp | 33 | 
1 files changed, 30 insertions, 3 deletions
| diff --git a/3rdParty/Boost/src/boost/detail/fenv.hpp b/3rdParty/Boost/src/boost/detail/fenv.hpp index f048706..b268f5c 100644 --- a/3rdParty/Boost/src/boost/detail/fenv.hpp +++ b/3rdParty/Boost/src/boost/detail/fenv.hpp @@ -15,5 +15,5 @@  #define BOOST_DETAIL_FENV_HPP -/* If we're using clang + glibc, we have to get hacky.  +/* If we're using clang + glibc, we have to get hacky.   * See http://llvm.org/bugs/show_bug.cgi?id=6907 */  #if defined(__clang__)       &&  (__clang_major__ < 3) &&    \ @@ -62,9 +62,37 @@    } } +#elif defined(__MINGW32__) && defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 + +  // MinGW (32-bit) has a bug in mingw32/bits/c++config.h, it does not define _GLIBCXX_HAVE_FENV_H, +  // which prevents the C fenv.h header contents to be included in the C++ wrapper header fenv.h. This is at least +  // the case with gcc 4.8.1 packages tested so far, up to 4.8.1-4. Note that there is no issue with +  // MinGW-w64. +  // To work around the bug we avoid including the C++ wrapper header and include the C header directly +  // and import all relevant symbols into std:: ourselves. + +  #include <../include/fenv.h> + +  namespace std { +    using ::fenv_t; +    using ::fexcept_t; +    using ::fegetexceptflag; +    using ::fesetexceptflag; +    using ::feclearexcept; +    using ::feraiseexcept; +    using ::fetestexcept; +    using ::fegetround; +    using ::fesetround; +    using ::fegetenv; +    using ::fesetenv; +    using ::feupdateenv; +    using ::feholdexcept; +  } +  #else /* if we're not using GNU's C stdlib, fenv.h should work with clang */ +    #if defined(__SUNPRO_CC) /* lol suncc */      #include <stdio.h>    #endif -   +    #include <fenv.h> @@ -72,3 +100,2 @@  #endif /* BOOST_DETAIL_FENV_HPP */ -  | 
 Swift
 Swift