forked from boostorg/config
Merge branch 'develop'
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
# *** DO NOT EDIT THIS FILE BY HAND ***
|
||||||
# This file was automatically generated on Fri Jun 26 21:48:00 2015
|
# This file was automatically generated on Thu Aug 13 16:32:12 2015
|
||||||
# by libs/config/tools/generate.cpp
|
# by libs/config/tools/generate.cpp
|
||||||
# Copyright John Maddock.
|
# Copyright John Maddock.
|
||||||
# Use, modification and distribution are subject to the
|
# Use, modification and distribution are subject to the
|
||||||
@@ -41,6 +41,9 @@ explicit dirent_h ;
|
|||||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_EXPM1 : expm1 ;
|
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_EXPM1 : expm1 ;
|
||||||
alias expm1 : expm1.output ;
|
alias expm1 : expm1.output ;
|
||||||
explicit expm1 ;
|
explicit expm1 ;
|
||||||
|
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_FLOAT128 : float128 ;
|
||||||
|
alias float128 : float128.output ;
|
||||||
|
explicit float128 ;
|
||||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_FTIME : ftime ;
|
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_FTIME : ftime ;
|
||||||
alias ftime : ftime.output ;
|
alias ftime : ftime.output ;
|
||||||
explicit ftime ;
|
explicit ftime ;
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
// This file was automatically generated on Fri Jun 26 21:48:00 2015
|
// This file was automatically generated on Thu Aug 13 16:32:12 2015
|
||||||
// by libs/config/tools/generate.cpp
|
// by libs/config/tools/generate.cpp
|
||||||
// Copyright John Maddock 2002-4.
|
// Copyright John Maddock 2002-4.
|
||||||
// Use, modification and distribution are subject to the
|
// Use, modification and distribution are subject to the
|
||||||
@@ -29,6 +29,10 @@ namespace test = boost_has_dirent_h;
|
|||||||
# include "../test/boost_has_expm1.ipp"
|
# include "../test/boost_has_expm1.ipp"
|
||||||
namespace test = boost_has_expm1;
|
namespace test = boost_has_expm1;
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef TEST_BOOST_HAS_FLOAT128
|
||||||
|
# include "../test/boost_has_float128.ipp"
|
||||||
|
namespace test = boost_has_float128;
|
||||||
|
#endif
|
||||||
#ifdef TEST_BOOST_HAS_FTIME
|
#ifdef TEST_BOOST_HAS_FTIME
|
||||||
# include "../test/boost_has_ftime.ipp"
|
# include "../test/boost_has_ftime.ipp"
|
||||||
namespace test = boost_has_ftime;
|
namespace test = boost_has_ftime;
|
||||||
|
@@ -1427,6 +1427,25 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p>
|
||||||
|
<code class="computeroutput"><span class="identifier">BOOST_HAS_FLOAT128</span></code>
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<p>
|
||||||
|
Compiler
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<p>
|
||||||
|
The compiler has <code class="computeroutput"><span class="identifier">__float128</span></code>
|
||||||
|
as a native type which is distinct from all the regular C++ floating
|
||||||
|
point types.
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
<code class="computeroutput"><span class="identifier">BOOST_HAS_FTIME</span></code>
|
<code class="computeroutput"><span class="identifier">BOOST_HAS_FTIME</span></code>
|
||||||
|
@@ -988,7 +988,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||||
<td align="left"><p><small>Last revised: July 07, 2015 at 10:18:34 GMT</small></p></td>
|
<td align="left"><p><small>Last revised: August 13, 2015 at 16:11:58 GMT</small></p></td>
|
||||||
<td align="right"><div class="copyright-footer"></div></td>
|
<td align="right"><div class="copyright-footer"></div></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@@ -348,6 +348,9 @@ The platform has the POSIX header `<dirent.h>`.
|
|||||||
[[`BOOST_HAS_EXPM1`][Platform][
|
[[`BOOST_HAS_EXPM1`][Platform][
|
||||||
The platform has the functions `expm1`, `expm1f` and `expm1l` in `<math.h>`
|
The platform has the functions `expm1`, `expm1f` and `expm1l` in `<math.h>`
|
||||||
]]
|
]]
|
||||||
|
[[`BOOST_HAS_FLOAT128`][Compiler][
|
||||||
|
The compiler has `__float128` as a native type which is distinct
|
||||||
|
from all the regular C++ floating point types.]]
|
||||||
[[`BOOST_HAS_FTIME`][Platform][
|
[[`BOOST_HAS_FTIME`][Platform][
|
||||||
The platform has the Win32 API type FTIME.
|
The platform has the Win32 API type FTIME.
|
||||||
]]
|
]]
|
||||||
|
@@ -23,6 +23,10 @@
|
|||||||
#define __has_extension __has_feature
|
#define __has_extension __has_feature
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __has_attribute
|
||||||
|
#define __has_attribute(x) 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
|
#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
|
||||||
# define BOOST_NO_EXCEPTIONS
|
# define BOOST_NO_EXCEPTIONS
|
||||||
#endif
|
#endif
|
||||||
@@ -255,13 +259,15 @@
|
|||||||
// All versions with __cplusplus above this value seem to support this:
|
// All versions with __cplusplus above this value seem to support this:
|
||||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||||
#endif
|
#endif
|
||||||
|
//
|
||||||
|
// __builtin_unreachable:
|
||||||
// Unused attribute:
|
#if defined(__has_builtin) && __has_builtin(__builtin_unreachable)
|
||||||
#if defined(__GNUC__) && (__GNUC__ >= 4)
|
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
|
||||||
# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused))
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Clang has supported the 'unused' attribute since the first release.
|
||||||
|
#define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))
|
||||||
|
|
||||||
#ifndef BOOST_COMPILER
|
#ifndef BOOST_COMPILER
|
||||||
# define BOOST_COMPILER "Clang version " __clang_version__
|
# define BOOST_COMPILER "Clang version " __clang_version__
|
||||||
#endif
|
#endif
|
||||||
|
@@ -143,6 +143,19 @@
|
|||||||
#if defined(__SIZEOF_INT128__) && !defined(__CUDACC__)
|
#if defined(__SIZEOF_INT128__) && !defined(__CUDACC__)
|
||||||
# define BOOST_HAS_INT128
|
# define BOOST_HAS_INT128
|
||||||
#endif
|
#endif
|
||||||
|
//
|
||||||
|
// Recent GCC versions have a __float128 native type, we need to
|
||||||
|
// include a std lib header to detect this - not ideal, but we'll
|
||||||
|
// be including <cstddef> later anyway when we select the std lib.
|
||||||
|
//
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#include <cstddef>
|
||||||
|
#else
|
||||||
|
#include <stddef.h>
|
||||||
|
#endif
|
||||||
|
#if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__)
|
||||||
|
# define BOOST_HAS_FLOAT128
|
||||||
|
#endif
|
||||||
|
|
||||||
// C++0x features in 4.3.n and later
|
// C++0x features in 4.3.n and later
|
||||||
//
|
//
|
||||||
@@ -263,7 +276,12 @@
|
|||||||
//
|
//
|
||||||
// Unused attribute:
|
// Unused attribute:
|
||||||
#if __GNUC__ >= 4
|
#if __GNUC__ >= 4
|
||||||
# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused))
|
# define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))
|
||||||
|
#endif
|
||||||
|
//
|
||||||
|
// __builtin_unreachable:
|
||||||
|
#if BOOST_GCC_VERSION >= 40800
|
||||||
|
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef BOOST_COMPILER
|
#ifndef BOOST_COMPILER
|
||||||
|
@@ -20,6 +20,9 @@
|
|||||||
|
|
||||||
#include <boost/config/compiler/visualc.hpp>
|
#include <boost/config/compiler/visualc.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MSVC
|
||||||
|
#undef BOOST_MSVC_FULL_VER
|
||||||
|
|
||||||
#if (__INTEL_COMPILER >= 1500) && (_MSC_VER >= 1900)
|
#if (__INTEL_COMPILER >= 1500) && (_MSC_VER >= 1900)
|
||||||
//
|
//
|
||||||
// These appear to be supported, even though VC++ may not support them:
|
// These appear to be supported, even though VC++ may not support them:
|
||||||
@@ -36,6 +39,9 @@
|
|||||||
|
|
||||||
#include <boost/config/compiler/gcc.hpp>
|
#include <boost/config/compiler/gcc.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_GCC_VERSION
|
||||||
|
#undef BOOST_GCC_CXX11
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#undef BOOST_COMPILER
|
#undef BOOST_COMPILER
|
||||||
|
@@ -125,19 +125,15 @@
|
|||||||
#define BOOST_NO_CXX11_FINAL
|
#define BOOST_NO_CXX11_FINAL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
#if (__SUNPRO_CC < 0x5140) || (__cplusplus < 201103)
|
||||||
// Issues that effect all known versions:
|
|
||||||
//
|
|
||||||
// Variadic templates pass our test case, but enabling this
|
|
||||||
// causes the compiler to issue a signal 11 and bail out
|
|
||||||
// in various libraries. The others fail our test cases.
|
|
||||||
//
|
|
||||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||||
#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||||
|
#endif
|
||||||
|
|
||||||
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||||
//
|
//
|
||||||
// C++0x features
|
// C++0x features
|
||||||
|
18
include/boost/config/platform/cloudabi.hpp
Normal file
18
include/boost/config/platform/cloudabi.hpp
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
// Copyright Nuxi, https://nuxi.nl/ 2015.
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#define BOOST_PLATFORM "CloudABI"
|
||||||
|
|
||||||
|
#define BOOST_HAS_DIRENT_H
|
||||||
|
#define BOOST_HAS_STDINT_H
|
||||||
|
#define BOOST_HAS_UNISTD_H
|
||||||
|
|
||||||
|
#define BOOST_HAS_CLOCK_GETTIME
|
||||||
|
#define BOOST_HAS_EXPM1
|
||||||
|
#define BOOST_HAS_GETTIMEOFDAY
|
||||||
|
#define BOOST_HAS_LOG1P
|
||||||
|
#define BOOST_HAS_NANOSLEEP
|
||||||
|
#define BOOST_HAS_PTHREADS
|
||||||
|
#define BOOST_HAS_SCHED_YIELD
|
@@ -74,6 +74,14 @@
|
|||||||
# define BOOST_HAS_GETSYSTEMTIMEASFILETIME
|
# define BOOST_HAS_GETSYSTEMTIMEASFILETIME
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Windows Runtime
|
||||||
|
//
|
||||||
|
#if defined(WINAPI_FAMILY) && \
|
||||||
|
(WINAPI_FAMILY == WINAPI_FAMILY_APP || WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
|
||||||
|
# define BOOST_NO_ANSI_APIS
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef BOOST_DISABLE_WIN32
|
#ifndef BOOST_DISABLE_WIN32
|
||||||
// WEK: Added
|
// WEK: Added
|
||||||
#define BOOST_HAS_FTIME
|
#define BOOST_HAS_FTIME
|
||||||
|
@@ -80,6 +80,10 @@
|
|||||||
#elif defined(__VMS)
|
#elif defined(__VMS)
|
||||||
// VMS:
|
// VMS:
|
||||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp"
|
# define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp"
|
||||||
|
|
||||||
|
#elif defined(__CloudABI__)
|
||||||
|
// Nuxi CloudABI:
|
||||||
|
# define BOOST_PLATFORM_CONFIG "boost/config/platform/cloudabi.hpp"
|
||||||
#else
|
#else
|
||||||
|
|
||||||
# if defined(unix) \
|
# if defined(unix) \
|
||||||
|
@@ -172,10 +172,19 @@
|
|||||||
// Bug specific to VC14,
|
// Bug specific to VC14,
|
||||||
// See https://connect.microsoft.com/VisualStudio/feedback/details/1348277/link-error-when-using-std-codecvt-utf8-utf16-char16-t
|
// See https://connect.microsoft.com/VisualStudio/feedback/details/1348277/link-error-when-using-std-codecvt-utf8-utf16-char16-t
|
||||||
// and discussion here: http://blogs.msdn.com/b/vcblog/archive/2014/11/12/visual-studio-2015-preview-now-available.aspx?PageIndex=2
|
// and discussion here: http://blogs.msdn.com/b/vcblog/archive/2014/11/12/visual-studio-2015-preview-now-available.aspx?PageIndex=2
|
||||||
#if _CPPLIB_VER == 650
|
#if defined(_CPPLIB_VER) && (_CPPLIB_VER == 650)
|
||||||
# define BOOST_NO_CXX11_HDR_CODECVT
|
# define BOOST_NO_CXX11_HDR_CODECVT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 650)
|
||||||
|
// If _HAS_AUTO_PTR_ETC is defined to 0, std::auto_ptr is not available.
|
||||||
|
// See https://www.visualstudio.com/en-us/news/vs2015-vs.aspx#C++
|
||||||
|
// and http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx
|
||||||
|
# if defined(_HAS_AUTO_PTR_ETC) && (_HAS_AUTO_PTR_ETC == 0)
|
||||||
|
# define BOOST_NO_AUTO_PTR
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef _CPPLIB_VER
|
#ifdef _CPPLIB_VER
|
||||||
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
|
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
|
||||||
#else
|
#else
|
||||||
|
@@ -251,6 +251,10 @@
|
|||||||
#define BOOST_NO_CXX11_HDR_FUTURE
|
#define BOOST_NO_CXX11_HDR_FUTURE
|
||||||
#define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
#define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||||
#define BOOST_NO_CXX11_HDR_ATOMIC
|
#define BOOST_NO_CXX11_HDR_ATOMIC
|
||||||
|
// shared_ptr is present, but is not convertible to bool
|
||||||
|
// which causes all kinds of problems especially in Boost.Thread
|
||||||
|
// but probably elsewhere as well.
|
||||||
|
#define BOOST_NO_CXX11_SMART_PTR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1))
|
#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1))
|
||||||
|
@@ -444,10 +444,12 @@ namespace std {
|
|||||||
// is defined, in which case it evaluates to return x; Use when you have a return
|
// is defined, in which case it evaluates to return x; Use when you have a return
|
||||||
// statement that can never be reached.
|
// statement that can never be reached.
|
||||||
|
|
||||||
#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
#ifndef BOOST_UNREACHABLE_RETURN
|
||||||
# define BOOST_UNREACHABLE_RETURN(x) return x;
|
# ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||||
#else
|
# define BOOST_UNREACHABLE_RETURN(x) return x;
|
||||||
# define BOOST_UNREACHABLE_RETURN(x)
|
# else
|
||||||
|
# define BOOST_UNREACHABLE_RETURN(x)
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------//
|
// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------//
|
||||||
@@ -501,6 +503,16 @@ namespace boost{
|
|||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
// same again for __float128:
|
||||||
|
#if defined(BOOST_HAS_FLOAT128) && defined(__cplusplus)
|
||||||
|
namespace boost {
|
||||||
|
# ifdef __GNUC__
|
||||||
|
__extension__ typedef __float128 float128_type;
|
||||||
|
# else
|
||||||
|
typedef __float128 float128_type;
|
||||||
|
# endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//
|
// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//
|
||||||
|
|
||||||
|
@@ -69,7 +69,7 @@
|
|||||||
|
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#ifdef __QNX__
|
#if defined(__QNX__) && defined(__EXT_QNX)
|
||||||
|
|
||||||
// QNX (Dinkumware stdlib) defines these as non-standard names.
|
// QNX (Dinkumware stdlib) defines these as non-standard names.
|
||||||
// Reflect to the standard names.
|
// Reflect to the standard names.
|
||||||
|
@@ -19,7 +19,7 @@
|
|||||||
// BOOST_VERSION / 100 % 1000 is the minor version
|
// BOOST_VERSION / 100 % 1000 is the minor version
|
||||||
// BOOST_VERSION / 100000 is the major version
|
// BOOST_VERSION / 100000 is the major version
|
||||||
|
|
||||||
#define BOOST_VERSION 105900
|
#define BOOST_VERSION 106000
|
||||||
|
|
||||||
//
|
//
|
||||||
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
|
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
|
||||||
@@ -27,6 +27,6 @@
|
|||||||
// number, y is the minor version number, and z is the patch level if not 0.
|
// number, y is the minor version number, and z is the patch level if not 0.
|
||||||
// This is used by <config/auto_link.hpp> to select which library version to link to.
|
// This is used by <config/auto_link.hpp> to select which library version to link to.
|
||||||
|
|
||||||
#define BOOST_LIB_VERSION "1_59"
|
#define BOOST_LIB_VERSION "1_60"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -78,7 +78,7 @@ test-suite config
|
|||||||
[ run config_info.cpp : : : <test-info>always_show_run_output <exception-handling>off : config_info_no_except ]
|
[ run config_info.cpp : : : <test-info>always_show_run_output <exception-handling>off : config_info_no_except ]
|
||||||
[ run math_info.cpp : : : <test-info>always_show_run_output <toolset>borland:<runtime-link>static <toolset>borland:<link>static ]
|
[ run math_info.cpp : : : <test-info>always_show_run_output <toolset>borland:<runtime-link>static <toolset>borland:<link>static ]
|
||||||
[ run abi/abi_test.cpp abi/main.cpp ]
|
[ run abi/abi_test.cpp abi/main.cpp ]
|
||||||
[ run limits_test.cpp ../../test/build//boost_test_exec_monitor ]
|
[ run limits_test.cpp ]
|
||||||
[ run link/main.cpp link//link_test
|
[ run link/main.cpp link//link_test
|
||||||
: #args
|
: #args
|
||||||
: #input-files
|
: #input-files
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Regression test Jamfile for boost configuration setup.
|
# Regression test Jamfile for boost configuration setup.
|
||||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
# *** DO NOT EDIT THIS FILE BY HAND ***
|
||||||
# This file was automatically generated on Fri Jun 26 21:48:00 2015
|
# This file was automatically generated on Thu Aug 13 16:32:12 2015
|
||||||
# by libs/config/tools/generate.cpp
|
# by libs/config/tools/generate.cpp
|
||||||
# Copyright John Maddock.
|
# Copyright John Maddock.
|
||||||
# Use, modification and distribution are subject to the
|
# Use, modification and distribution are subject to the
|
||||||
@@ -37,6 +37,9 @@ test-suite "BOOST_HAS_DIRENT_H" :
|
|||||||
test-suite "BOOST_HAS_EXPM1" :
|
test-suite "BOOST_HAS_EXPM1" :
|
||||||
[ run ../has_expm1_pass.cpp ]
|
[ run ../has_expm1_pass.cpp ]
|
||||||
[ compile-fail ../has_expm1_fail.cpp ] ;
|
[ compile-fail ../has_expm1_fail.cpp ] ;
|
||||||
|
test-suite "BOOST_HAS_FLOAT128" :
|
||||||
|
[ run ../has_float128_pass.cpp ]
|
||||||
|
[ compile-fail ../has_float128_fail.cpp ] ;
|
||||||
test-suite "BOOST_HAS_FTIME" :
|
test-suite "BOOST_HAS_FTIME" :
|
||||||
[ run ../has_ftime_pass.cpp ]
|
[ run ../has_ftime_pass.cpp ]
|
||||||
[ compile-fail ../has_ftime_fail.cpp ] ;
|
[ compile-fail ../has_ftime_fail.cpp ] ;
|
||||||
|
29
test/boost_has_float128.ipp
Normal file
29
test/boost_has_float128.ipp
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
// (C) Copyright John Maddock 2012.
|
||||||
|
// Use, modification and distribution are subject to the
|
||||||
|
// Boost Software License, Version 1.0. (See accompanying file
|
||||||
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
// See http://www.boost.org/libs/config for most recent version.
|
||||||
|
|
||||||
|
// MACRO: BOOST_HAS_FLOAT128
|
||||||
|
// TITLE: __float128
|
||||||
|
// DESCRIPTION: The platform supports __float128.
|
||||||
|
|
||||||
|
#include <cstdlib>
|
||||||
|
|
||||||
|
|
||||||
|
namespace boost_has_float128{
|
||||||
|
|
||||||
|
int test()
|
||||||
|
{
|
||||||
|
#ifdef __GNUC__
|
||||||
|
__extension__ __float128 big_float = 0.0Q;
|
||||||
|
#else
|
||||||
|
__float128 big_float = 0.0Q;
|
||||||
|
#endif
|
||||||
|
(void)&big_float;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@@ -937,6 +937,7 @@ void print_boost_macros()
|
|||||||
PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME);
|
PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME);
|
||||||
PRINT_MACRO(BOOST_HAS_DIRENT_H);
|
PRINT_MACRO(BOOST_HAS_DIRENT_H);
|
||||||
PRINT_MACRO(BOOST_HAS_EXPM1);
|
PRINT_MACRO(BOOST_HAS_EXPM1);
|
||||||
|
PRINT_MACRO(BOOST_HAS_FLOAT128);
|
||||||
PRINT_MACRO(BOOST_HAS_FTIME);
|
PRINT_MACRO(BOOST_HAS_FTIME);
|
||||||
PRINT_MACRO(BOOST_HAS_GETSYSTEMTIMEASFILETIME);
|
PRINT_MACRO(BOOST_HAS_GETSYSTEMTIMEASFILETIME);
|
||||||
PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY);
|
PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY);
|
||||||
@@ -1125,6 +1126,7 @@ void print_boost_macros()
|
|||||||
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
|
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// END GENERATED BLOCK
|
// END GENERATED BLOCK
|
||||||
|
|
||||||
PRINT_MACRO(BOOST_INTEL);
|
PRINT_MACRO(BOOST_INTEL);
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
// This file was automatically generated on Fri Jun 26 21:48:00 2015
|
// This file was automatically generated on Thu Aug 13 16:32:12 2015
|
||||||
// by libs/config/tools/generate.cpp
|
// by libs/config/tools/generate.cpp
|
||||||
// Copyright John Maddock 2002-4.
|
// Copyright John Maddock 2002-4.
|
||||||
// Use, modification and distribution are subject to the
|
// Use, modification and distribution are subject to the
|
||||||
@@ -753,6 +753,11 @@ namespace boost_has_dirent_h = empty_boost;
|
|||||||
#else
|
#else
|
||||||
namespace boost_has_expm1 = empty_boost;
|
namespace boost_has_expm1 = empty_boost;
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef BOOST_HAS_FLOAT128
|
||||||
|
#include "boost_has_float128.ipp"
|
||||||
|
#else
|
||||||
|
namespace boost_has_float128 = empty_boost;
|
||||||
|
#endif
|
||||||
#ifdef BOOST_HAS_FTIME
|
#ifdef BOOST_HAS_FTIME
|
||||||
#include "boost_has_ftime.ipp"
|
#include "boost_has_ftime.ipp"
|
||||||
#else
|
#else
|
||||||
@@ -1016,6 +1021,11 @@ int main( int, char *[] )
|
|||||||
std::cerr << "Failed test for BOOST_HAS_EXPM1 at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
std::cerr << "Failed test for BOOST_HAS_EXPM1 at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
++error_count;
|
++error_count;
|
||||||
}
|
}
|
||||||
|
if(0 != boost_has_float128::test())
|
||||||
|
{
|
||||||
|
std::cerr << "Failed test for BOOST_HAS_FLOAT128 at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
|
++error_count;
|
||||||
|
}
|
||||||
if(0 != boost_has_ftime::test())
|
if(0 != boost_has_ftime::test())
|
||||||
{
|
{
|
||||||
std::cerr << "Failed test for BOOST_HAS_FTIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
std::cerr << "Failed test for BOOST_HAS_FTIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
|
37
test/has_float128_fail.cpp
Normal file
37
test/has_float128_fail.cpp
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
// This file was automatically generated on Thu Aug 13 16:29:35 2015
|
||||||
|
// by libs/config/tools/generate.cpp
|
||||||
|
// Copyright John Maddock 2002-4.
|
||||||
|
// Use, modification and distribution are subject to the
|
||||||
|
// Boost Software License, Version 1.0. (See accompanying file
|
||||||
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
// See http://www.boost.org/libs/config for the most recent version.//
|
||||||
|
// Revision $Id$
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Test file for macro BOOST_HAS_FLOAT128
|
||||||
|
// This file should not compile, if it does then
|
||||||
|
// BOOST_HAS_FLOAT128 should be defined.
|
||||||
|
// See file boost_has_float128.ipp for details
|
||||||
|
|
||||||
|
// Must not have BOOST_ASSERT_CONFIG set; it defeats
|
||||||
|
// the objective of this file:
|
||||||
|
#ifdef BOOST_ASSERT_CONFIG
|
||||||
|
# undef BOOST_ASSERT_CONFIG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <boost/config.hpp>
|
||||||
|
#include "test.hpp"
|
||||||
|
|
||||||
|
#ifndef BOOST_HAS_FLOAT128
|
||||||
|
#include "boost_has_float128.ipp"
|
||||||
|
#else
|
||||||
|
#error "this file should not compile"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main( int, char *[] )
|
||||||
|
{
|
||||||
|
return boost_has_float128::test();
|
||||||
|
}
|
||||||
|
|
37
test/has_float128_pass.cpp
Normal file
37
test/has_float128_pass.cpp
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
// This file was automatically generated on Thu Aug 13 16:29:35 2015
|
||||||
|
// by libs/config/tools/generate.cpp
|
||||||
|
// Copyright John Maddock 2002-4.
|
||||||
|
// Use, modification and distribution are subject to the
|
||||||
|
// Boost Software License, Version 1.0. (See accompanying file
|
||||||
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
// See http://www.boost.org/libs/config for the most recent version.//
|
||||||
|
// Revision $Id$
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Test file for macro BOOST_HAS_FLOAT128
|
||||||
|
// This file should compile, if it does not then
|
||||||
|
// BOOST_HAS_FLOAT128 should not be defined.
|
||||||
|
// See file boost_has_float128.ipp for details
|
||||||
|
|
||||||
|
// Must not have BOOST_ASSERT_CONFIG set; it defeats
|
||||||
|
// the objective of this file:
|
||||||
|
#ifdef BOOST_ASSERT_CONFIG
|
||||||
|
# undef BOOST_ASSERT_CONFIG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <boost/config.hpp>
|
||||||
|
#include "test.hpp"
|
||||||
|
|
||||||
|
#ifdef BOOST_HAS_FLOAT128
|
||||||
|
#include "boost_has_float128.ipp"
|
||||||
|
#else
|
||||||
|
namespace boost_has_float128 = empty_boost;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main( int, char *[] )
|
||||||
|
{
|
||||||
|
return boost_has_float128::test();
|
||||||
|
}
|
||||||
|
|
@@ -9,8 +9,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <boost/limits.hpp>
|
#include <boost/limits.hpp>
|
||||||
#define BOOST_INCLUDE_MAIN
|
#include <boost/detail/lightweight_main.hpp>
|
||||||
#include <boost/test/test_tools.hpp>
|
#include <boost/core/lightweight_test.hpp>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -82,10 +82,10 @@ void test_integral_limits(const T &, const char * msg)
|
|||||||
<< ", max: " << make_char_numeric_for_streaming((lim::max)())
|
<< ", max: " << make_char_numeric_for_streaming((lim::max)())
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
|
|
||||||
BOOST_CHECK(static_cast<bool>(lim::is_specialized));
|
BOOST_TEST(static_cast<bool>(lim::is_specialized));
|
||||||
BOOST_CHECK(static_cast<bool>(lim::is_integer));
|
BOOST_TEST(static_cast<bool>(lim::is_integer));
|
||||||
// BOOST_CHECK(lim::is_modulo);
|
// BOOST_TEST(lim::is_modulo);
|
||||||
BOOST_CHECK(static_cast<bool>((lim::min)() < (lim::max)()));
|
BOOST_TEST(static_cast<bool>((lim::min)() < (lim::max)()));
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
@@ -107,10 +107,10 @@ void test_float_limits(const T &, const char * msg)
|
|||||||
std::cout << "\nTesting " << msg << std::endl;
|
std::cout << "\nTesting " << msg << std::endl;
|
||||||
typedef std::numeric_limits<T> lim;
|
typedef std::numeric_limits<T> lim;
|
||||||
|
|
||||||
BOOST_CHECK(static_cast<bool>(lim::is_specialized));
|
BOOST_TEST(static_cast<bool>(lim::is_specialized));
|
||||||
BOOST_CHECK(static_cast<bool>(!lim::is_modulo));
|
BOOST_TEST(static_cast<bool>(!lim::is_modulo));
|
||||||
BOOST_CHECK(static_cast<bool>(!lim::is_integer));
|
BOOST_TEST(static_cast<bool>(!lim::is_integer));
|
||||||
BOOST_CHECK(static_cast<bool>(lim::is_signed));
|
BOOST_TEST(static_cast<bool>(lim::is_signed));
|
||||||
|
|
||||||
const T infinity = lim::infinity();
|
const T infinity = lim::infinity();
|
||||||
const T qnan = lim::quiet_NaN();
|
const T qnan = lim::quiet_NaN();
|
||||||
@@ -127,15 +127,15 @@ void test_float_limits(const T &, const char * msg)
|
|||||||
print_hex_val(qnan, "qnan");
|
print_hex_val(qnan, "qnan");
|
||||||
print_hex_val(snan, "snan");
|
print_hex_val(snan, "snan");
|
||||||
|
|
||||||
BOOST_CHECK((lim::max)() > 1000);
|
BOOST_TEST((lim::max)() > 1000);
|
||||||
BOOST_CHECK((lim::min)() > 0);
|
BOOST_TEST((lim::min)() > 0);
|
||||||
BOOST_CHECK((lim::min)() < 0.001);
|
BOOST_TEST((lim::min)() < 0.001);
|
||||||
BOOST_CHECK(lim::epsilon() > 0);
|
BOOST_TEST(lim::epsilon() > 0);
|
||||||
|
|
||||||
if(lim::is_iec559) {
|
if(lim::is_iec559) {
|
||||||
BOOST_CHECK(static_cast<bool>(lim::has_infinity));
|
BOOST_TEST(static_cast<bool>(lim::has_infinity));
|
||||||
BOOST_CHECK(static_cast<bool>(lim::has_quiet_NaN));
|
BOOST_TEST(static_cast<bool>(lim::has_quiet_NaN));
|
||||||
BOOST_CHECK(static_cast<bool>(lim::has_signaling_NaN));
|
BOOST_TEST(static_cast<bool>(lim::has_signaling_NaN));
|
||||||
} else {
|
} else {
|
||||||
std::cout << "Does not claim IEEE conformance" << std::endl;
|
std::cout << "Does not claim IEEE conformance" << std::endl;
|
||||||
}
|
}
|
||||||
@@ -143,8 +143,8 @@ void test_float_limits(const T &, const char * msg)
|
|||||||
if(lim::has_infinity) {
|
if(lim::has_infinity) {
|
||||||
// Make sure those values are not 0 or similar nonsense.
|
// Make sure those values are not 0 or similar nonsense.
|
||||||
// Infinity must compare as if larger than the maximum representable value.
|
// Infinity must compare as if larger than the maximum representable value.
|
||||||
BOOST_CHECK(infinity > (lim::max)());
|
BOOST_TEST(infinity > (lim::max)());
|
||||||
BOOST_CHECK(-infinity < -(lim::max)());
|
BOOST_TEST(-infinity < -(lim::max)());
|
||||||
} else {
|
} else {
|
||||||
std::cout << "Does not have infinity" << std::endl;
|
std::cout << "Does not have infinity" << std::endl;
|
||||||
}
|
}
|
||||||
@@ -153,26 +153,26 @@ void test_float_limits(const T &, const char * msg)
|
|||||||
// NaNs shall always compare "false" when compared for equality
|
// NaNs shall always compare "false" when compared for equality
|
||||||
// If one of these fail, your compiler may be optimizing incorrectly,
|
// If one of these fail, your compiler may be optimizing incorrectly,
|
||||||
// or the standard library is incorrectly configured.
|
// or the standard library is incorrectly configured.
|
||||||
BOOST_CHECK(! (qnan == 42));
|
BOOST_TEST(! (qnan == 42));
|
||||||
BOOST_CHECK(qnan != 42);
|
BOOST_TEST(qnan != 42);
|
||||||
if(lim::is_iec559)
|
if(lim::is_iec559)
|
||||||
{
|
{
|
||||||
BOOST_CHECK(! (qnan == qnan));
|
BOOST_TEST(! (qnan == qnan));
|
||||||
BOOST_CHECK(qnan != qnan);
|
BOOST_TEST(qnan != qnan);
|
||||||
}
|
}
|
||||||
|
|
||||||
// The following tests may cause arithmetic traps.
|
// The following tests may cause arithmetic traps.
|
||||||
// BOOST_CHECK(! (qnan < 42));
|
// BOOST_TEST(! (qnan < 42));
|
||||||
// BOOST_CHECK(! (qnan > 42));
|
// BOOST_TEST(! (qnan > 42));
|
||||||
// BOOST_CHECK(! (qnan <= 42));
|
// BOOST_TEST(! (qnan <= 42));
|
||||||
// BOOST_CHECK(! (qnan >= 42));
|
// BOOST_TEST(! (qnan >= 42));
|
||||||
} else {
|
} else {
|
||||||
std::cout << "Does not have QNaN" << std::endl;
|
std::cout << "Does not have QNaN" << std::endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int test_main(int, char*[])
|
int cpp_main(int, char*[])
|
||||||
{
|
{
|
||||||
test_integral_limits(bool(), "bool");
|
test_integral_limits(bool(), "bool");
|
||||||
test_integral_limits(char(), "char");
|
test_integral_limits(char(), "char");
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
#include <boost/filesystem/path.hpp>
|
#include <boost/filesystem/path.hpp>
|
||||||
#include <boost/filesystem/operations.hpp>
|
#include <boost/filesystem/operations.hpp>
|
||||||
#include <boost/filesystem/fstream.hpp>
|
#include <boost/filesystem/fstream.hpp>
|
||||||
#include <boost/test/included/prg_exec_monitor.hpp>
|
#include <boost/detail/lightweight_main.hpp>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
Reference in New Issue
Block a user