forked from boostorg/config
Merge Boost.Config changes from Trunk.
[SVN r67522]
This commit is contained in:
@ -1695,6 +1695,26 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_HAS_FENV_H</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Platform, Standard library
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The platform has a <code class="computeroutput"><span class="special"><</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>.
|
||||
<a href="../../../../../boost/detail/fenv.hpp" target="_top"><code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code></a>
|
||||
should be included instead of <code class="computeroutput"><span class="special"><</span><span class="identifier">fenv</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>
|
||||
for maximum portability.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_HAS_STDINT_H</span></code>
|
||||
@ -3200,6 +3220,77 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_CONSTEXPR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Some compilers don't support the use of <code class="computeroutput"><span class="identifier">constexpr</span></code>.
|
||||
This macro expands to nothing on those compilers, and <code class="computeroutput"><span class="identifier">constexpr</span></code> elsewhere. For example,
|
||||
when defining a constexpr function or constructor replace:
|
||||
</p>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">constexpr</span> <span class="identifier">tuple</span><span class="special">();</span>
|
||||
</pre>
|
||||
<p>
|
||||
with:
|
||||
</p>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">BOOST_CONSTEXPR</span> <span class="identifier">tuple</span><span class="special">();</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_CONSTEXPR_OR_CONST</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Some compilers don't support the use of <code class="computeroutput"><span class="identifier">constexpr</span></code>.
|
||||
This macro expands to <code class="computeroutput"><span class="keyword">const</span></code>
|
||||
on those compilers, and <code class="computeroutput"><span class="identifier">constexpr</span></code>
|
||||
elsewhere. For example, when defining const expr variables replace:
|
||||
|
||||
</p>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="identifier">UIntType</span> <span class="identifier">xor_mask</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
with:
|
||||
</p>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">static</span> <span class="identifier">BOOST_CONSTEXPR_OR_CONST</span> <span class="identifier">UIntType</span> <span class="identifier">xor_mask</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_STATIC_CONSTEXPR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
This is a shortcut for <code class="computeroutput"><span class="keyword">static</span>
|
||||
<span class="identifier">BOOST_CONSTEXPR_OR_CONST</span></code>For
|
||||
example, when defining const expr variables replace:
|
||||
</p>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">static</span> <span class="identifier">constexpr</span> <span class="identifier">UIntType</span> <span class="identifier">xor_mask</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
with:
|
||||
</p>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">BOOST_STATIC_CONSTEXPR</span> <span class="identifier">UIntType</span> <span class="identifier">xor_mask</span> <span class="special">=</span> <span class="identifier">a</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
@ -3390,6 +3481,96 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_LINUX</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Defined if the system kernel is Linux
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NIX</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Defined if the system is POSIX compliant
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_GENETIC_NIX</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Defined if the system can trace its ancestry to the original AT&T
|
||||
codebase or designs, but is not certified by the Open Group. This
|
||||
is the case for modern open-source BSD systems.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_TRADEMARK_NIX</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Systems certified as POSIX compliant by the Open Group. These systems
|
||||
can use the UNIX trademark. Most commercially developed *nix systems
|
||||
fall into this category.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_FUNCTIONAL_NIX</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Systems which behave in a manner roughly consistent with POSIX
|
||||
standards. Linux and Minix fall into this category.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_DINKUMWARE_STDLIB</span></code>
|
||||
|
@ -28,7 +28,7 @@
|
||||
</h3></div></div></div>
|
||||
<div><p class="copyright">Copyright © 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock</p></div>
|
||||
<div><div class="legalnotice">
|
||||
<a name="id1010243"></a><p>
|
||||
<a name="id896648"></a><p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
@ -950,7 +950,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"><p><small>Last revised: September 26, 2010 at 09:24:20 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: November 25, 2010 at 10:30:55 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
@ -71,6 +71,11 @@ The Platform does not provide `<wchar.h>` and `<cwchar>`.
|
||||
[[`BOOST_NO_CWCTYPE`][Platform][
|
||||
The Platform does not provide `<wctype.h>` and `<cwctype>`.
|
||||
]]
|
||||
[[`BOOST_NO_FENV_H`][Platform, Standard library][
|
||||
The C standard library doesn't provide `<fenv.h>`. [@../../../../boost/detail/fenv.hpp
|
||||
`<boost/detail/fenv.hpp>`] should be included instead of `<fenv.h>` for maximum
|
||||
portability on platforms which do provide `<fenv.h>`.
|
||||
]]
|
||||
[[`BOOST_NO_DEPENDENT_NESTED_DERIVATIONS`][Compiler][
|
||||
The compiler fails to compile a nested class that has a dependent base class:
|
||||
``
|
||||
@ -798,6 +803,38 @@ the arguments is itself a macro (see 16.3.1 in C++ standard). This is normally
|
||||
used to create a mangled name in combination with a predefined macro such a
|
||||
\_\_LINE__.
|
||||
]]
|
||||
[[`BOOST_CONSTEXPR`][
|
||||
Some compilers don't support the use of `constexpr`. This macro expands to nothing on those compilers, and `constexpr`
|
||||
elsewhere. For example, when defining a constexpr function or constructor replace:
|
||||
``
|
||||
constexpr tuple();
|
||||
``
|
||||
with:
|
||||
``
|
||||
BOOST_CONSTEXPR tuple();
|
||||
``
|
||||
]]
|
||||
[[`BOOST_CONSTEXPR_OR_CONST`][
|
||||
Some compilers don't support the use of `constexpr`. This macro expands to `const` on those compilers, and `constexpr`
|
||||
elsewhere. For example, when defining const expr variables replace:
|
||||
``
|
||||
static constexpr UIntType xor_mask = a;
|
||||
``
|
||||
with:
|
||||
``
|
||||
static BOOST_CONSTEXPR_OR_CONST UIntType xor_mask = a;
|
||||
``
|
||||
]]
|
||||
[[`BOOST_STATIC_CONSTEXPR`][
|
||||
This is a shortcut for `static BOOST_CONSTEXPR_OR_CONST`For example, when defining const expr variables replace:
|
||||
``
|
||||
static constexpr UIntType xor_mask = a;
|
||||
``
|
||||
with:
|
||||
``
|
||||
BOOST_STATIC_CONSTEXPR UIntType xor_mask = a;
|
||||
``
|
||||
]]
|
||||
]
|
||||
|
||||
[endsect]
|
||||
@ -845,6 +882,26 @@ Defined to 1 if the compiler is the Clang compiler.
|
||||
[[`BOOST_WINDOWS`][`<boost/config.hpp>`][
|
||||
Defined if the Windows platfrom API is available.
|
||||
]]
|
||||
[[`BOOST_LINUX`][`<boost/config.hpp>`][
|
||||
Defined if the system kernel is Linux
|
||||
]]
|
||||
[[`BOOST_NIX`][`<boost/config.hpp>`][
|
||||
Defined if the system is POSIX compliant
|
||||
]]
|
||||
[[`BOOST_GENETIC_NIX`][`<boost/config.hpp>`][
|
||||
Defined if the system can trace its ancestry to the original AT&T codebase or
|
||||
designs, but is not certified by the Open Group. This is the case for modern
|
||||
open-source BSD systems.
|
||||
]]
|
||||
[[`BOOST_TRADEMARK_NIX`][`<boost/config.hpp>`][
|
||||
Systems certified as POSIX compliant by the Open Group. These systems can use
|
||||
the UNIX trademark. Most commercially developed *nix systems fall into this
|
||||
category.
|
||||
]]
|
||||
[[`BOOST_FUNCTIONAL_NIX`][`<boost/config.hpp>`][
|
||||
Systems which behave in a manner roughly consistent with POSIX standards. Linux
|
||||
and Minix fall into this category.
|
||||
]]
|
||||
[[`BOOST_DINKUMWARE_STDLIB`][`<boost/config.hpp>`][
|
||||
Defined if the dinkumware standard library is in use, takes the same value
|
||||
as the Dinkumware library version macro `_CPPLIB_VER` if defined, otherwise 1.
|
||||
|
@ -414,7 +414,4 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
||||
#if defined(BOOST_DYN_LINK)
|
||||
# undef BOOST_DYN_LINK
|
||||
#endif
|
||||
#if defined(BOOST_AUTO_LINK_NOMANGLE)
|
||||
# undef BOOST_AUTO_LINK_NOMANGLE
|
||||
#endif
|
||||
|
||||
|
@ -12,6 +12,9 @@
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Borland prior to version 5.4:
|
||||
|
||||
#define BOOST_BORLAND __BORLANDC__
|
||||
|
||||
#if __BORLANDC__ < 0x540
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
|
@ -14,6 +14,8 @@
|
||||
|
||||
#include "boost/config/compiler/common_edg.hpp"
|
||||
|
||||
#define BOOST_COMO __COMO_VERSION__
|
||||
|
||||
#if (__COMO_VERSION__ <= 4245)
|
||||
|
||||
# if defined(_MSC_VER) && _MSC_VER <= 1300
|
||||
|
@ -62,10 +62,13 @@
|
||||
#if (__EDG_VERSION__ < 310)
|
||||
# define BOOST_NO_EXTERN_TEMPLATE
|
||||
#endif
|
||||
#if (__EDG_VERSION__ <= 310) || !defined(BOOST_STRICT_CONFIG)
|
||||
#if (__EDG_VERSION__ <= 310)
|
||||
// No support for initializer lists
|
||||
# define BOOST_NO_INITIALIZER_LISTS
|
||||
#endif
|
||||
#if (__EDG_VERSION__ < 400)
|
||||
# define BOOST_NO_VARIADIC_MACROS
|
||||
#endif
|
||||
|
||||
#define BOOST_NO_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||
@ -88,7 +91,6 @@
|
||||
#define BOOST_NO_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_UNICODE_LITERALS
|
||||
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_VARIADIC_MACROS
|
||||
|
||||
#ifdef c_plusplus
|
||||
// EDG has "long long" in non-strict mode
|
||||
|
@ -89,7 +89,6 @@
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// Threading support: Turn this on unconditionally here (except for
|
||||
// those platforms where we can know for sure). It will get turned off again
|
||||
@ -148,8 +147,6 @@
|
||||
|
||||
// C++0x features not implemented in any GCC version
|
||||
//
|
||||
#define BOOST_NO_CONSTEXPR
|
||||
#define BOOST_NO_NULLPTR
|
||||
#define BOOST_NO_TEMPLATE_ALIASES
|
||||
|
||||
// C++0x features in 4.3.n and later
|
||||
@ -211,6 +208,13 @@
|
||||
# define BOOST_NO_UNICODE_LITERALS
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.5.n and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#define BOOST_NO_CONSTEXPR
|
||||
#define BOOST_NO_NULLPTR
|
||||
#endif
|
||||
|
||||
// ConceptGCC compiler:
|
||||
// http://www.generic-programming.org/software/ConceptGCC/
|
||||
#ifdef __GXX_CONCEPTS__
|
||||
@ -231,8 +235,8 @@
|
||||
# error "Compiler not configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 4.4 (Pre-release):
|
||||
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 4))
|
||||
// last known and checked version is 4.6 (Pre-release):
|
||||
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
|
@ -12,6 +12,8 @@
|
||||
|
||||
// Metrowerks C++ compiler setup:
|
||||
|
||||
#define BOOST_MWERKS __MWERKS__
|
||||
|
||||
// locale support is disabled when linking with the dynamic runtime
|
||||
# ifdef _MSL_NO_LOCALE
|
||||
# define BOOST_NO_STD_LOCALE
|
||||
|
@ -11,6 +11,10 @@
|
||||
|
||||
// Sun C++ compiler setup:
|
||||
|
||||
// Macro identifying the Sun compiler
|
||||
|
||||
#define BOOST_SUNCC __SUNPRO_CC
|
||||
|
||||
# if __SUNPRO_CC <= 0x500
|
||||
# define BOOST_NO_MEMBER_TEMPLATES
|
||||
# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
||||
|
@ -37,6 +37,9 @@
|
||||
//
|
||||
#endif
|
||||
|
||||
/// Visual Studio has no fenv.h
|
||||
#define BOOST_NO_FENV_H
|
||||
|
||||
#if (_MSC_VER <= 1300) // 1300 == VC++ 7.0
|
||||
|
||||
# if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) // VC7 bug with /Za
|
||||
@ -94,10 +97,6 @@
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
#endif
|
||||
|
||||
#if _MSC_VER <= 1600 // 1600 == VC++ 10.0
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#endif
|
||||
|
||||
#if _MSC_VER == 1500 // 1500 == VC++ 9.0
|
||||
// A bug in VC9:
|
||||
# define BOOST_NO_ADL_BARRIER
|
||||
@ -181,6 +180,7 @@
|
||||
#define BOOST_NO_STATIC_ASSERT
|
||||
#define BOOST_NO_NULLPTR
|
||||
#endif // _MSC_VER < 1600
|
||||
|
||||
#if _MSC_VER >= 1600
|
||||
#define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
@ -198,10 +198,11 @@
|
||||
#define BOOST_NO_INITIALIZER_LISTS
|
||||
#define BOOST_NO_RAW_LITERALS
|
||||
#define BOOST_NO_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_UNICODE_LITERALS
|
||||
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
//
|
||||
// prefix and suffix headers:
|
||||
//
|
||||
|
@ -1,4 +1,5 @@
|
||||
// (C) Copyright John Maddock 2001 - 2002.
|
||||
// (C) Copyright Bryce Lelbach 2010
|
||||
// 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)
|
||||
@ -9,6 +10,13 @@
|
||||
|
||||
#define BOOST_PLATFORM "IBM Aix"
|
||||
|
||||
#define BOOST_NIX 1
|
||||
//#define BOOST_GENETIC_NIX 1
|
||||
#define BOOST_TRADEMARK_NIX 1
|
||||
//#define BOOST_FUNCTIONAL_NIX 1
|
||||
|
||||
#define BOOST_AIX 1
|
||||
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#define BOOST_HAS_NL_TYPES_H
|
||||
#define BOOST_HAS_NANOSLEEP
|
||||
|
@ -1,4 +1,5 @@
|
||||
// (C) Copyright John Maddock 2002.
|
||||
// (C) Copyright Bryce Lelbach 2010
|
||||
// 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)
|
||||
@ -7,6 +8,8 @@
|
||||
|
||||
#define BOOST_PLATFORM "AmigaOS"
|
||||
|
||||
#define BOOST_AMIGA 1
|
||||
|
||||
#define BOOST_DISABLE_THREADS
|
||||
#define BOOST_NO_CWCHAR
|
||||
#define BOOST_NO_STD_WSTRING
|
||||
|
@ -1,4 +1,5 @@
|
||||
// (C) Copyright John Maddock 2001.
|
||||
// (C) Copyright Bryce Lelbach 2010
|
||||
// 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)
|
||||
@ -9,6 +10,13 @@
|
||||
|
||||
#define BOOST_PLATFORM "BeOS"
|
||||
|
||||
#define BOOST_BEOS 1
|
||||
|
||||
#define BOOST_NIX 1
|
||||
//#define BOOST_GENETIC_NIX 1
|
||||
//#define BOOST_TRADEMARK_NIX 1
|
||||
#define BOOST_FUNCTIONAL_NIX 1
|
||||
|
||||
#define BOOST_NO_CWCHAR
|
||||
#define BOOST_NO_CWCTYPE
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
|
@ -1,6 +1,7 @@
|
||||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Darin Adler 2001.
|
||||
// (C) Copyright Douglas Gregor 2002.
|
||||
// (C) Copyright Bryce Lelbach 2010
|
||||
// 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)
|
||||
@ -9,18 +10,30 @@
|
||||
|
||||
// generic BSD config options:
|
||||
|
||||
#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
|
||||
#error "This platform is not BSD"
|
||||
#if !defined(__FreeBSD__) && \
|
||||
!defined(__NetBSD__) && \
|
||||
!defined(__OpenBSD__) && \
|
||||
!defined(__DragonFly__)
|
||||
#error "This platform is not BSD"
|
||||
#endif
|
||||
|
||||
#define BOOST_NIX 1
|
||||
#define BOOST_GENETIC_NIX 1
|
||||
//#define BOOST_TRADEMARK_NIX 1
|
||||
//#define BOOST_FUNCTIONAL_NIX 1
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)
|
||||
#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)
|
||||
#define BOOST_FREEBSD __FreeBSD__
|
||||
#elif defined(__NetBSD__)
|
||||
#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
|
||||
#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
|
||||
#define BOOST_NETBSD __NetBSD__
|
||||
#elif defined(__OpenBSD__)
|
||||
#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
|
||||
#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
|
||||
#define BOOST_OPENBSD __OpenBSD__
|
||||
#elif defined(__DragonFly__)
|
||||
#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
|
||||
#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
|
||||
#define BOOST_DFBSD __DragonFly__
|
||||
#endif
|
||||
|
||||
//
|
||||
|
@ -1,52 +1,56 @@
|
||||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// 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)
|
||||
// (C) Copyright John Maddock 2001 - 2003
|
||||
// (C) Copyright Bryce Lelbach 2010
|
||||
//
|
||||
// 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 for most recent version.
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
#define BOOST_PLATFORM "Cygwin" // Platform name.
|
||||
#define BOOST_CYGWIN __CYGWIN__ // Boost platform ID macros.
|
||||
|
||||
// cygwin specific config options:
|
||||
|
||||
#define BOOST_PLATFORM "Cygwin"
|
||||
#define BOOST_HAS_DIRENT_H
|
||||
#define BOOST_HAS_LOG1P
|
||||
#define BOOST_HAS_EXPM1
|
||||
|
||||
//
|
||||
// Threading API:
|
||||
// See if we have POSIX threads, if we do use them, otherwise
|
||||
// revert to native Win threads.
|
||||
#define BOOST_NIX 1
|
||||
//#define BOOST_GENETIC_NIX 1
|
||||
//#define BOOST_TRADEMARK_NIX 1
|
||||
#define BOOST_FUNCTIONAL_NIX 1
|
||||
|
||||
// See if we have POSIX threads, otherwise revert to native Win threads.
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS)
|
||||
# define BOOST_HAS_PTHREADS
|
||||
# define BOOST_HAS_SCHED_YIELD
|
||||
# define BOOST_HAS_GETTIMEOFDAY
|
||||
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
# define BOOST_HAS_SIGACTION
|
||||
|
||||
#if defined(_POSIX_THREADS) && (_POSIX_THREADS + 0 >= 0) && \
|
||||
!defined(BOOST_HAS_WINTHREADS)
|
||||
#define BOOST_HAS_PTHREADS
|
||||
#define BOOST_HAS_SCHED_YIELD
|
||||
#define BOOST_HAS_GETTIMEOFDAY
|
||||
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
#define BOOST_HAS_SIGACTION
|
||||
#else
|
||||
# if !defined(BOOST_HAS_WINTHREADS)
|
||||
# define BOOST_HAS_WINTHREADS
|
||||
# endif
|
||||
# define BOOST_HAS_FTIME
|
||||
#if !defined(BOOST_HAS_WINTHREADS)
|
||||
#define BOOST_HAS_WINTHREADS
|
||||
#endif
|
||||
#define BOOST_HAS_FTIME
|
||||
#endif
|
||||
|
||||
//
|
||||
// find out if we have a stdint.h, there should be a better way to do this:
|
||||
//
|
||||
// Find out if we have a stdint.h, there should be a better way to do this.
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef _STDINT_H
|
||||
#define BOOST_HAS_STDINT_H
|
||||
#define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
// boilerplate code:
|
||||
/// Cygwin has no fenv.h
|
||||
#define BOOST_NO_FENV_H
|
||||
|
||||
#include <boost/config/posix_features.hpp>
|
||||
|
||||
//
|
||||
// Cygwin lies about XSI conformance, there is no nl_types.h:
|
||||
//
|
||||
// Cygwin lies about XSI conformance, there is no nl_types.h.
|
||||
#ifdef BOOST_HAS_NL_TYPES_H
|
||||
# undef BOOST_HAS_NL_TYPES_H
|
||||
#undef BOOST_HAS_NL_TYPES_H
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
// (C) Copyright David Abrahams 2002.
|
||||
// (C) Copyright Toon Knapen 2003.
|
||||
// (C) Copyright Boris Gubenko 2006 - 2007.
|
||||
// (C) Copyright Bryce Lelbach 2010
|
||||
// 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)
|
||||
@ -13,6 +14,13 @@
|
||||
|
||||
#define BOOST_PLATFORM "HP-UX"
|
||||
|
||||
#define BOOST_HPUX 1 // platform ID macro
|
||||
|
||||
#define BOOST_NIX 1
|
||||
//#define BOOST_GENETIC_NIX 1
|
||||
#define BOOST_TRADEMARK_NIX 1
|
||||
//#define BOOST_FUNCTIONAL_NIX 1
|
||||
|
||||
// In principle, HP-UX has a nice <stdint.h> under the name <inttypes.h>
|
||||
// However, it has the following problem:
|
||||
// Use of UINT32_C(0) results in "0u l" for the preprocessed source
|
||||
|
@ -1,5 +1,6 @@
|
||||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Jens Maurer 2003.
|
||||
// (C) Copyright Bryce Lelbach 2010
|
||||
// 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)
|
||||
@ -11,6 +12,11 @@
|
||||
|
||||
#define BOOST_PLATFORM "SGI Irix"
|
||||
|
||||
#define BOOST_NIX 1
|
||||
//#define BOOST_GENETIC_NIX 1
|
||||
#define BOOST_TRADEMARK_NIX 1
|
||||
//#define BOOST_FUNCTIONAL_NIX 1
|
||||
|
||||
#define BOOST_NO_SWPRINTF
|
||||
//
|
||||
// these are not auto detected by POSIX feature tests:
|
||||
|
@ -1,5 +1,6 @@
|
||||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Jens Maurer 2001 - 2003.
|
||||
// (C) Copyright Bryce Lelbach 2010
|
||||
// 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)
|
||||
@ -13,6 +14,13 @@
|
||||
// make sure we have __GLIBC_PREREQ if available at all
|
||||
#include <cstdlib>
|
||||
|
||||
#define BOOST_NIX 1
|
||||
//#define BOOST_GENETIC_NIX 1
|
||||
//#define BOOST_TRADEMARK_NIX 1
|
||||
#define BOOST_FUNCTIONAL_NIX 1
|
||||
|
||||
#define BOOST_LINUX 1
|
||||
|
||||
//
|
||||
// <stdint.h> added to glibc 2.1.1
|
||||
// We can only test for 2.1 though:
|
||||
|
@ -1,6 +1,7 @@
|
||||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Darin Adler 2001 - 2002.
|
||||
// (C) Copyright Bill Kempf 2002.
|
||||
// (C) Copyright Bryce Lelbach 2010
|
||||
// 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)
|
||||
@ -13,6 +14,11 @@
|
||||
|
||||
#if __MACH__ && !defined(_MSL_USING_MSL_C)
|
||||
|
||||
#define BOOST_NIX 1
|
||||
//#define BOOST_GENETIC_NIX 1
|
||||
#define BOOST_TRADEMARK_NIX 1
|
||||
//#define BOOST_FUNCTIONAL_NIX 1
|
||||
|
||||
// Using the Mac OS X system BSD-style C library.
|
||||
|
||||
# ifndef BOOST_HAS_UNISTD_H
|
||||
|
@ -1,4 +1,5 @@
|
||||
// (C) Copyright Jim Douglas 2005.
|
||||
// (C) Copyright Bryce Lelbach 2010
|
||||
// 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)
|
||||
@ -7,8 +8,15 @@
|
||||
|
||||
// QNX specific config options:
|
||||
|
||||
#define BOOST_QNX 1
|
||||
|
||||
#define BOOST_PLATFORM "QNX"
|
||||
|
||||
#define BOOST_NIX 1
|
||||
//#define BOOST_GENETIC_NIX 1
|
||||
//#define BOOST_TRADEMARK_NIX 1
|
||||
#define BOOST_FUNCTIONAL_NIX 1
|
||||
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#include <boost/config/posix_features.hpp>
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Jens Maurer 2003.
|
||||
// (C) Copyright Bryce Lelbach 2010
|
||||
// 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)
|
||||
@ -10,6 +11,11 @@
|
||||
|
||||
#define BOOST_PLATFORM "Sun Solaris"
|
||||
|
||||
#define BOOST_NIX 1
|
||||
//#define BOOST_GENETIC_NIX 1
|
||||
#define BOOST_TRADEMARK_NIX 1
|
||||
//#define BOOST_FUNCTIONAL_NIX 1
|
||||
|
||||
#define BOOST_HAS_GETTIMEOFDAY
|
||||
|
||||
// boilerplate code:
|
||||
|
@ -1,6 +1,7 @@
|
||||
// (C) Copyright Yuriy Krasnoschek 2009.
|
||||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Jens Maurer 2001 - 2003.
|
||||
// (C) Copyright Bryce Lelbach 2010
|
||||
// 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)
|
||||
@ -9,13 +10,16 @@
|
||||
|
||||
// symbian specific config options:
|
||||
|
||||
|
||||
#define BOOST_PLATFORM "Symbian"
|
||||
#define BOOST_SYMBIAN 1
|
||||
|
||||
|
||||
#if defined(__S60_3X__)
|
||||
// Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL
|
||||
// Open C / C++ plugin was introdused in this SDK, earlier versions don't have
|
||||
// CRT / STL
|
||||
# define BOOST_NIX 1
|
||||
//# define BOOST_GENETIC_NIX 1
|
||||
//# define BOOST_TRADEMARK_NIX 1
|
||||
# define BOOST_FUNCTIONAL_NIX 1
|
||||
# define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK
|
||||
// make sure we have __GLIBC_PREREQ if available at all
|
||||
# include <cstdlib>
|
||||
|
@ -1,4 +1,5 @@
|
||||
// (C) Copyright Dustin Spicuzza 2009.
|
||||
// (C) Copyright Bryce Lelbach 2010
|
||||
// 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)
|
||||
@ -23,6 +24,11 @@
|
||||
#define _POSIX_TIMERS 1
|
||||
#define _POSIX_THREADS 1
|
||||
|
||||
#define BOOST_NIX 1
|
||||
//#define BOOST_GENETIC_NIX 1
|
||||
#define BOOST_TRADEMARK_NIX 1
|
||||
//#define BOOST_FUNCTIONAL_NIX 1
|
||||
|
||||
// vxworks doesn't work with asio serial ports
|
||||
#define BOOST_ASIO_DISABLE_SERIAL_PORT
|
||||
|
||||
|
@ -31,7 +31,6 @@
|
||||
# define BOOST_SYMBOL_IMPORT __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0)))
|
||||
# define BOOST_HAS_STDINT_H
|
||||
# define __STDC_LIMIT_MACROS
|
||||
@ -39,6 +38,11 @@
|
||||
# define BOOST_HAS_UNISTD_H
|
||||
#endif
|
||||
|
||||
#if defined(__MINGW32__) && (__GNUC__ >= 4)
|
||||
# define BOOST_HAS_EXPM1
|
||||
# define BOOST_HAS_LOG1P
|
||||
# define BOOST_HAS_GETTIMEOFDAY
|
||||
#endif
|
||||
//
|
||||
// Win32 will normally be using native Win32 threads,
|
||||
// but there is a pthread library avaliable as an option,
|
||||
|
@ -107,6 +107,7 @@
|
||||
# define BOOST_NO_0X_HDR_UNORDERED_SET
|
||||
# define BOOST_NO_0X_HDR_TUPLE
|
||||
# define BOOST_NO_0X_HDR_TYPEINDEX
|
||||
# define BOOST_NO_NUMERIC_LIMITS_LOWEST
|
||||
#endif
|
||||
|
||||
#if !defined(_HAS_TR1_IMPORTS) && !defined(BOOST_NO_0X_HDR_TUPLE)
|
||||
@ -125,7 +126,6 @@
|
||||
# define BOOST_NO_0X_HDR_MUTEX
|
||||
# define BOOST_NO_0X_HDR_RATIO
|
||||
# define BOOST_NO_0X_HDR_THREAD
|
||||
# define BOOST_NO_NUMERIC_LIMITS_LOWEST
|
||||
|
||||
#ifdef _CPPLIB_VER
|
||||
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
|
||||
|
@ -54,7 +54,6 @@
|
||||
# define BOOST_HAS_THREADS
|
||||
#endif
|
||||
|
||||
|
||||
#if !defined(_GLIBCPP_USE_LONG_LONG) \
|
||||
&& !defined(_GLIBCXX_USE_LONG_LONG)\
|
||||
&& defined(BOOST_HAS_LONG_LONG)
|
||||
@ -63,6 +62,16 @@
|
||||
# undef BOOST_HAS_LONG_LONG
|
||||
#endif
|
||||
|
||||
// Apple doesn't seem to reliably defined a *unix* macro
|
||||
#if !defined(CYGWIN) && ( defined(__unix__) \
|
||||
|| defined(__unix) \
|
||||
|| defined(unix) \
|
||||
|| defined(__APPLE__) \
|
||||
|| defined(__APPLE) \
|
||||
|| defined(APPLE))
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0
|
||||
# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
|
||||
# define BOOST_HAS_SLIST
|
||||
|
@ -40,6 +40,17 @@
|
||||
# define BOOST_NO_STRINGSTREAM
|
||||
#endif
|
||||
|
||||
// Apple doesn't seem to reliably defined a *unix* macro
|
||||
#if !defined(CYGWIN) && ( defined(__unix__) \
|
||||
|| defined(__unix) \
|
||||
|| defined(unix) \
|
||||
|| defined(__APPLE__) \
|
||||
|| defined(__APPLE) \
|
||||
|| defined(APPLE))
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// Assume no std::locale without own iostreams (this may be an
|
||||
// incorrect assumption in some cases):
|
||||
|
@ -16,6 +16,16 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// Apple doesn't seem to reliably defined a *unix* macro
|
||||
#if !defined(CYGWIN) && ( defined(__unix__) \
|
||||
|| defined(__unix) \
|
||||
|| defined(unix) \
|
||||
|| defined(__APPLE__) \
|
||||
|| defined(__APPLE) \
|
||||
|| defined(APPLE))
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
//
|
||||
// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
// for versions prior to 4.1(beta)
|
||||
|
@ -12,6 +12,16 @@
|
||||
#define BOOST_HAS_MACRO_USE_FACET
|
||||
#define BOOST_NO_STD_MESSAGES
|
||||
|
||||
// Apple doesn't seem to reliably defined a *unix* macro
|
||||
#if !defined(CYGWIN) && ( defined(__unix__) \
|
||||
|| defined(__unix) \
|
||||
|| defined(unix) \
|
||||
|| defined(__APPLE__) \
|
||||
|| defined(__APPLE) \
|
||||
|| defined(APPLE))
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
// C++0x headers not yet implemented
|
||||
//
|
||||
# define BOOST_NO_0X_HDR_ARRAY
|
||||
|
@ -349,6 +349,13 @@
|
||||
#define BOOST_HAS_RVALUE_REFS
|
||||
#endif
|
||||
|
||||
//
|
||||
// Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_VARIADIC_TEMPLATES is not defined
|
||||
//
|
||||
#if !defined(BOOST_NO_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)
|
||||
#define BOOST_HAS_VARIADIC_TMPL
|
||||
#endif
|
||||
|
||||
// BOOST_HAS_ABI_HEADERS
|
||||
// This macro gets set if we have headers that fix the ABI,
|
||||
// and prevent ODR violations when linking to external libraries:
|
||||
@ -632,6 +639,10 @@ namespace std{ using ::typeinfo; }
|
||||
# if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \
|
||||
|| defined(_POSIX_SOURCE)
|
||||
# define BOOST_PLATFORM "Generic Unix"
|
||||
# define BOOST_NIX 1
|
||||
//# define BOOST_GENETIC_NIX 1
|
||||
//# define BOOST_TRADEMARK_NIX 1
|
||||
# define BOOST_FUNCTIONAL_NIX 1
|
||||
# else
|
||||
# define BOOST_PLATFORM "Unknown"
|
||||
# endif
|
||||
@ -643,5 +654,19 @@ namespace std{ using ::typeinfo; }
|
||||
# ifndef BOOST_GPU_ENABLED
|
||||
# define BOOST_GPU_ENABLED
|
||||
# endif
|
||||
|
||||
//
|
||||
// constexpr workarounds
|
||||
//
|
||||
#if defined(BOOST_NO_CONSTEXPR)
|
||||
#define BOOST_CONSTEXPR
|
||||
#define BOOST_CONSTEXPR_OR_CONST const
|
||||
#else
|
||||
#define BOOST_CONSTEXPR constexpr
|
||||
#define BOOST_CONSTEXPR_OR_CONST constexpr
|
||||
#endif
|
||||
|
||||
#define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST
|
||||
|
||||
#endif
|
||||
|
||||
|
78
test/boost_no_fenv_h.ipp
Normal file
78
test/boost_no_fenv_h.ipp
Normal file
@ -0,0 +1,78 @@
|
||||
// (C) Copyright John Maddock 2001.
|
||||
// (C) Copyright Bryce Lelbach 2010.
|
||||
// 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_NO_FENV_H
|
||||
// TITLE: fenv.h
|
||||
// DESCRIPTION: There is no POSIX <fenv.h> available. If <fenv.h> is
|
||||
// available, <boost/detail/fenv.hpp> should be included
|
||||
// instead of directly including <fenv.h>.
|
||||
|
||||
#include <boost/detail/fenv.hpp>
|
||||
|
||||
namespace boost_no_fenv_h {
|
||||
|
||||
int test()
|
||||
{
|
||||
/// POSIX required typedefs
|
||||
typedef ::fenv_t has_fenv_t;
|
||||
typedef ::fexcept_t has_fexcept_t;
|
||||
|
||||
/// POSIX required macros
|
||||
#if !defined(FE_DIVBYZERO)
|
||||
#error platform does not define FE_DIVBYZERO
|
||||
#endif
|
||||
|
||||
#if !defined(FE_INEXACT)
|
||||
#error platform does not define FE_INEXACT
|
||||
#endif
|
||||
|
||||
#if !defined(FE_INVALID)
|
||||
#error platform does not define FE_INVALID
|
||||
#endif
|
||||
|
||||
#if !defined(FE_OVERFLOW)
|
||||
#error platform does not define FE_OVERFLOW
|
||||
#endif
|
||||
|
||||
#if !defined(FE_UNDERFLOW)
|
||||
#error platform does not define FE_UNDERFLOW
|
||||
#endif
|
||||
|
||||
#if !defined(FE_DOWNWARD)
|
||||
#error platform does not define FE_DOWNWARD
|
||||
#endif
|
||||
|
||||
#if !defined(FE_TONEAREST)
|
||||
#error platform does not define FE_TONEAREST
|
||||
#endif
|
||||
|
||||
#if !defined(FE_UPWARD)
|
||||
#error platform does not define FE_UPWARD
|
||||
#endif
|
||||
|
||||
#if !defined(FE_DFL_ENV)
|
||||
#error platform does not define FE_DFL_ENV
|
||||
#endif
|
||||
|
||||
int (*has_feclearexcept)(int) = ::feclearexcept;
|
||||
int (*has_fegetenv)(fenv_t*) = ::fegetenv;
|
||||
int (*has_fegetexcept)(fexcept_t*, int) = ::fegetexcept;
|
||||
int (*has_fegetround)(void) = ::fegetround;
|
||||
int (*has_feholdexcept)(fenv_t*) = ::feholdexcept;
|
||||
int (*has_feraiseexcept)(int) = ::feraiseexcept;
|
||||
int (*has_fesetenv)(const fenv_t*) = ::fesetenv;
|
||||
int (*has_fesetexceptflag)(const fexcept_t*, int) = ::fesetexceptflag;
|
||||
int (*has_fesetround)(int) = ::fesetround;
|
||||
int (*has_fetestexcept)(int) = ::fetestexcept;
|
||||
int (*has_feupdateenv)(const fenv_t*) = ::feupdateenv;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -27,6 +27,10 @@
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if defined(__MINGW32__)
|
||||
# include <_mingw.h>
|
||||
#endif
|
||||
|
||||
static unsigned int indent = 4;
|
||||
static unsigned int width = 40;
|
||||
|
||||
@ -794,6 +798,8 @@ void print_platform_macros()
|
||||
PRINT_MACRO(_THREAD_SAFE);
|
||||
PRINT_MACRO(_XOPEN_SOURCE_EXTENDED);
|
||||
PRINT_MACRO(XPG);
|
||||
PRINT_MACRO(__MINGW32_MAJOR_VERSION);
|
||||
PRINT_MACRO(__MINGW32_MINOR_VERSION);
|
||||
// POSIX:
|
||||
PRINT_MACRO(_POSIX_ADVISORY_INFO);
|
||||
PRINT_MACRO(_POSIX_ASYNCHRONOUS_IO);
|
||||
@ -900,6 +906,7 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_DISABLE_THREADS);
|
||||
PRINT_MACRO(BOOST_DISABLE_WIN32);
|
||||
PRINT_MACRO(BOOST_HAS_THREADS);
|
||||
PRINT_MACRO(BOOST_WINDOWS);
|
||||
|
||||
// BEGIN GENERATED BLOCK DO NOT EDIT THIS!!!!!!
|
||||
PRINT_MACRO(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG);
|
||||
@ -1071,30 +1078,15 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_NO_VARIADIC_TEMPLATES);
|
||||
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// END GENERATED BLOCK
|
||||
|
||||
PRINT_MACRO(BOOST_INTEL);
|
||||
PRINT_MACRO(BOOST_MSVC);
|
||||
PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE);
|
||||
PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0));
|
||||
PRINT_MACRO(BOOST_CONSTEXPR);
|
||||
PRINT_MACRO(BOOST_CONSTEXPR_OR_CONST);
|
||||
PRINT_MACRO(BOOST_STATIC_CONSTEXPR);
|
||||
}
|
||||
|
||||
void print_separator()
|
||||
|
33
test/no_fenv_h_fail.cpp
Normal file
33
test/no_fenv_h_fail.cpp
Normal file
@ -0,0 +1,33 @@
|
||||
// Copyright Bryce Lelbach 2010.
|
||||
// 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.
|
||||
|
||||
// Test file for macro BOOST_NO_FENV_H
|
||||
// This file should not compile, if it does then
|
||||
// BOOST_NO_FENV_H should not be defined.
|
||||
// See file boost_no_fenv_h.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_NO_FENV_H
|
||||
#include "boost_no_fenv_h.ipp"
|
||||
#else
|
||||
#error "this file should not compile"
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_fenv_h::test();
|
||||
}
|
||||
|
33
test/no_fenv_h_pass.cpp
Normal file
33
test/no_fenv_h_pass.cpp
Normal file
@ -0,0 +1,33 @@
|
||||
// Copyright Bryce Lelbach 2010.
|
||||
// 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.
|
||||
|
||||
// Test file for macro BOOST_NO_FENV_H
|
||||
// This file should compile, if it does not then
|
||||
// BOOST_NO_FENV_H should be defined.
|
||||
// See file boost_no_fenv_h.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_NO_FENV_H
|
||||
#include "boost_no_fenv_h.ipp"
|
||||
#else
|
||||
namespace boost_no_fenv_h = empty_boost;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_fenv_h::test();
|
||||
}
|
||||
|
Reference in New Issue
Block a user