summaryrefslogtreecommitdiff
path: root/libs/config
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:30:07 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:32:57 +0900
commit71d216b90256936a9638f325af9bc69d720e75de (patch)
tree9c5f682d341c7c88ad0c8e3d4b262e00b6fb691a /libs/config
parent733b5d5ae2c5d625211e2985ac25728ac3f54883 (diff)
downloadboost-71d216b90256936a9638f325af9bc69d720e75de.tar.gz
boost-71d216b90256936a9638f325af9bc69d720e75de.tar.bz2
boost-71d216b90256936a9638f325af9bc69d720e75de.zip
Imported Upstream version 1.59.0
Change-Id: I2dde00f4eca71df3eea9d251dcaecde18a6c90a5 Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'libs/config')
-rw-r--r--libs/config/checks/Jamfile.v211
-rw-r--r--libs/config/checks/architecture/arm.cpp4
-rw-r--r--libs/config/checks/config.jam6
-rw-r--r--libs/config/checks/test_case.cpp8
-rw-r--r--libs/config/doc/html/boost_config/acknowledgements.html2
-rw-r--r--libs/config/doc/html/boost_config/boost_macro_reference.html31
-rw-r--r--libs/config/doc/html/boost_config/build_config.html2
-rw-r--r--libs/config/doc/html/boost_config/cstdint.html4
-rw-r--r--libs/config/doc/html/boost_config/guidelines_for_boost_authors.html4
-rw-r--r--libs/config/doc/html/boost_config/rationale.html4
-rw-r--r--libs/config/doc/html/index.html10
-rw-r--r--libs/config/doc/macro_reference.qbk4
-rw-r--r--libs/config/test/Jamfile.v239
-rw-r--r--libs/config/test/all/Jamfile.v27
-rw-r--r--libs/config/test/boost_no_constexpr.ipp33
-rw-r--r--libs/config/test/boost_no_cxx11_hdr_codecvt.ipp4
-rw-r--r--libs/config/test/boost_no_cxx14_digit_separator.ipp2
-rw-r--r--libs/config/test/boost_no_cxx14_hdr_shared_mutex.ipp27
-rw-r--r--libs/config/test/config_info.cpp2
-rw-r--r--libs/config/test/config_test.cpp16
-rw-r--r--libs/config/test/no_cxx14_digit_separator_fail.cpp2
-rw-r--r--libs/config/test/no_cxx14_digit_separator_pass.cpp4
-rw-r--r--libs/config/test/no_cxx14_hdr_shared_mutex_fail.cpp37
-rw-r--r--libs/config/test/no_cxx14_hdr_shared_mutex_pass.cpp37
24 files changed, 249 insertions, 51 deletions
diff --git a/libs/config/checks/Jamfile.v2 b/libs/config/checks/Jamfile.v2
index 4d2f4373b7..21b55d6b7d 100644
--- a/libs/config/checks/Jamfile.v2
+++ b/libs/config/checks/Jamfile.v2
@@ -1,6 +1,6 @@
#
# *** DO NOT EDIT THIS FILE BY HAND ***
-# This file was automatically generated on Mon Oct 13 13:09:13 2014
+# This file was automatically generated on Fri Jun 26 21:48:00 2015
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@@ -335,12 +335,15 @@ explicit cxx14_constexpr ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_DECLTYPE_AUTO : cxx14_decltype_auto ;
alias cxx14_decltype_auto : cxx14_decltype_auto.output ;
explicit cxx14_decltype_auto ;
-run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_DIGIT_SEPARATOR : cxx14_digit_separator ;
-alias cxx14_digit_separator : cxx14_digit_separator.output ;
-explicit cxx14_digit_separator ;
+run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_DIGIT_SEPARATORS : cxx14_digit_separators ;
+alias cxx14_digit_separators : cxx14_digit_separators.output ;
+explicit cxx14_digit_separators ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_GENERIC_LAMBDAS : cxx14_generic_lambdas ;
alias cxx14_generic_lambdas : cxx14_generic_lambdas.output ;
explicit cxx14_generic_lambdas ;
+run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_HDR_SHARED_MUTEX : cxx14_hdr_shared_mutex ;
+alias cxx14_hdr_shared_mutex : cxx14_hdr_shared_mutex.output ;
+explicit cxx14_hdr_shared_mutex ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES : cxx14_initialized_lambda_captures ;
alias cxx14_initialized_lambda_captures : cxx14_initialized_lambda_captures.output ;
explicit cxx14_initialized_lambda_captures ;
diff --git a/libs/config/checks/architecture/arm.cpp b/libs/config/checks/architecture/arm.cpp
index 6a83737fa0..794aba8b39 100644
--- a/libs/config/checks/architecture/arm.cpp
+++ b/libs/config/checks/architecture/arm.cpp
@@ -8,6 +8,8 @@
#if !defined(__arm__) && !defined(__thumb__) && \
!defined(__TARGET_ARCH_ARM) && !defined(__TARGET_ARCH_THUMB) && \
- !defined(_ARM) && !defined(_M_ARM)
+ !defined(_ARM) && !defined(_M_ARM) && \
+ !defined(__aarch64__)
#error "Not ARM"
#endif
+
diff --git a/libs/config/checks/config.jam b/libs/config/checks/config.jam
index f8f978a230..c5adfe7b74 100644
--- a/libs/config/checks/config.jam
+++ b/libs/config/checks/config.jam
@@ -3,14 +3,18 @@
# Boost Software License, Version 1.0. (See accompanying file
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+import modules ;
+
rule requires ( names + )
{
+ local config-binding = [ modules.binding $(__name__) ] ;
+
local result ;
for name in $(names)
{
local msg = "Boost.Config Feature Check: " ;
msg += $(name) ;
- result += [ check-target-builds $(__name__:D)//$(name) $(msg:J=) : : <build>no ] ;
+ result += [ check-target-builds $(config-binding:D)//$(name) $(msg:J=) : : <build>no ] ;
}
return $(result) ;
}
diff --git a/libs/config/checks/test_case.cpp b/libs/config/checks/test_case.cpp
index 7d21a8f33b..9eaf99a15d 100644
--- a/libs/config/checks/test_case.cpp
+++ b/libs/config/checks/test_case.cpp
@@ -1,4 +1,4 @@
-// This file was automatically generated on Mon Oct 13 13:09:13 2014
+// This file was automatically generated on Fri Jun 26 21:48:00 2015
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -423,12 +423,16 @@ namespace test = boost_no_cxx14_decltype_auto;
#endif
#ifdef TEST_BOOST_NO_CXX14_DIGIT_SEPARATORS
# include "../test/boost_no_cxx14_digit_separator.ipp"
-namespace test = boost_no_cxx14_digit_separator;
+namespace test = boost_no_cxx14_digit_separators;
#endif
#ifdef TEST_BOOST_NO_CXX14_GENERIC_LAMBDAS
# include "../test/boost_no_cxx14_generic_lambda.ipp"
namespace test = boost_no_cxx14_generic_lambdas;
#endif
+#ifdef TEST_BOOST_NO_CXX14_HDR_SHARED_MUTEX
+# include "../test/boost_no_cxx14_hdr_shared_mutex.ipp"
+namespace test = boost_no_cxx14_hdr_shared_mutex;
+#endif
#ifdef TEST_BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
# include "../test/boost_no_cxx14_lambda_capture.ipp"
namespace test = boost_no_cxx14_initialized_lambda_captures;
diff --git a/libs/config/doc/html/boost_config/acknowledgements.html b/libs/config/doc/html/boost_config/acknowledgements.html
index e3cd5555c9..8281d05273 100644
--- a/libs/config/doc/html/boost_config/acknowledgements.html
+++ b/libs/config/doc/html/boost_config/acknowledgements.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Acknowledgements</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="rationale.html" title="Rationale">
diff --git a/libs/config/doc/html/boost_config/boost_macro_reference.html b/libs/config/doc/html/boost_config/boost_macro_reference.html
index 69a1606699..3138e4fb44 100644
--- a/libs/config/doc/html/boost_config/boost_macro_reference.html
+++ b/libs/config/doc/html/boost_config/boost_macro_reference.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Boost Macro Reference</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="../index.html" title="Boost.Config">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_config.boost_macro_reference"></a><a class="link" href="boost_macro_reference.html" title="Boost Macro Reference">Boost Macro Reference</a>
</h2></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__03_defects">Macros
that describe C++03 defects</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
@@ -2962,6 +2962,19 @@
<tr>
<td>
<p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_NUMERIC_LIMITS</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The standard library <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span></code>
+ header does not support the C++11 version of <code class="computeroutput"><span class="identifier">numeric_limits</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_RANGE_BASED_FOR</span></code>
</p>
</td>
@@ -3571,6 +3584,18 @@
<tr>
<td>
<p>
+ <code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_HDR_SHARED_MUTEX</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The standard library does not provide header &lt;shared_mutex&gt;.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES</span></code>
</p>
</td>
@@ -5566,7 +5591,7 @@
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code" title="Macros for libraries with separate source code">Macros
for libraries with separate source code</a>
</h3></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility">Macros
controlling shared library symbol visibility</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing">ABI
diff --git a/libs/config/doc/html/boost_config/build_config.html b/libs/config/doc/html/boost_config/build_config.html
index 9be6b78ffa..2854a549ba 100644
--- a/libs/config/doc/html/boost_config/build_config.html
+++ b/libs/config/doc/html/boost_config/build_config.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Build Time Configuration</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="boost_macro_reference.html" title="Boost Macro Reference">
diff --git a/libs/config/doc/html/boost_config/cstdint.html b/libs/config/doc/html/boost_config/cstdint.html
index 1baa57529f..d75a289ccf 100644
--- a/libs/config/doc/html/boost_config/cstdint.html
+++ b/libs/config/doc/html/boost_config/cstdint.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Standard Integer Types</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="build_config.html" title="Build Time Configuration">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_config.cstdint"></a><a class="link" href="cstdint.html" title="Standard Integer Types">Standard Integer Types</a>
</h2></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="cstdint.html#boost_config.cstdint.overview">Overview</a></span></dt>
<dt><span class="section"><a href="cstdint.html#boost_config.cstdint.rationale">Rationale</a></span></dt>
<dt><span class="section"><a href="cstdint.html#boost_config.cstdint.ce"><span class="emphasis"><em>Caveat emptor</em></span></a></span></dt>
diff --git a/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html b/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html
index 735b1f3725..48edf26b35 100644
--- a/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html
+++ b/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Guidelines for Boost Authors</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="cstdint.html" title="Standard Integer Types">
@@ -27,7 +27,7 @@
<a name="boost_config.guidelines_for_boost_authors"></a><a class="link" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">Guidelines for
Boost Authors</a>
</h2></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings">Disabling
Compiler Warnings</a></span></dt>
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding
diff --git a/libs/config/doc/html/boost_config/rationale.html b/libs/config/doc/html/boost_config/rationale.html
index 8dc221fb4f..278516a546 100644
--- a/libs/config/doc/html/boost_config/rationale.html
+++ b/libs/config/doc/html/boost_config/rationale.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Rationale</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_config.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
</h2></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="rationale.html#boost_config.rationale.the_problem">The problem</a></span></dt>
<dt><span class="section"><a href="rationale.html#boost_config.rationale.the_solution">The solution</a></span></dt>
</dl></div>
diff --git a/libs/config/doc/html/index.html b/libs/config/doc/html/index.html
index a128e667bc..faecedf428 100644
--- a/libs/config/doc/html/index.html
+++ b/libs/config/doc/html/index.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Boost.Config</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="index.html" title="Boost.Config">
<link rel="next" href="boost_config/boost_macro_reference.html" title="Boost Macro Reference">
</head>
@@ -39,7 +39,7 @@
</div>
<div class="toc">
<p><b>Table of Contents</b></p>
-<dl class="toc">
+<dl>
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform">Configuring
Boost for Your Platform</a></span></dt>
<dd><dl>
@@ -123,7 +123,7 @@
<a name="boost_config.configuring_boost_for_your_platform"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform" title="Configuring Boost for Your Platform">Configuring
Boost for Your Platform</a>
</h2></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration">Using
the default boost configuration</a></span></dt>
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header">The
@@ -721,7 +721,7 @@
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage" title="Advanced configuration usage">Advanced
configuration usage</a>
</h3></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration">Example
1: creating our own frozen configuration</a></span></dt>
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need">Example
@@ -988,7 +988,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: October 21, 2014 at 11:37:59 GMT</small></p></td>
+<td align="left"><p><small>Last revised: July 07, 2015 at 10:18:34 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
diff --git a/libs/config/doc/macro_reference.qbk b/libs/config/doc/macro_reference.qbk
index cd652ea393..d1e03d598e 100644
--- a/libs/config/doc/macro_reference.qbk
+++ b/libs/config/doc/macro_reference.qbk
@@ -670,6 +670,9 @@ compilers implementing an early draft of the C++11 standard (in particular, inco
]]
[[`BOOST_NO_CXX11_NULLPTR`][The compiler does not support `nullptr`.
]]
+[[`BOOST_NO_CXX11_NUMERIC_LIMITS`][The standard library `<limits>` header does
+not support the C++11 version of `numeric_limits`.
+]]
[[`BOOST_NO_CXX11_RANGE_BASED_FOR`][The compiler does not support
range-based for statements.
]]
@@ -894,6 +897,7 @@ Foo foo = { 0 };
[[`BOOST_NO_CXX14_DECLTYPE_AUTO`][The compiler does not support `decltype(auto)`.]]
[[`BOOST_NO_CXX14_DIGIT_SEPARATORS`][The compiler does not support digit separators (e.g. `1'000'000`).]]
[[`BOOST_NO_CXX14_GENERIC_LAMBDAS`][The compiler does not support generic lambda (e.g. `[](auto v){ }`).]]
+[[`BOOST_NO_CXX14_HDR_SHARED_MUTEX`][The standard library does not provide header <shared_mutex>.]]
[[`BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES`][The compiler does not support initialized lambda capture (e.g. `[foo = 42]{ }`).]]
[[`BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION`][The compiler does not support return type deduction for normal functions (e.g. `auto f() { return val; }`).]]
[[`BOOST_NO_CXX14_VARIABLE_TEMPLATES`][The compiler does not support variable template (e.g. `template <class T> T kibi = T(1024);`).]]
diff --git a/libs/config/test/Jamfile.v2 b/libs/config/test/Jamfile.v2
index 05d27df8b6..f0ee88da4f 100644
--- a/libs/config/test/Jamfile.v2
+++ b/libs/config/test/Jamfile.v2
@@ -19,16 +19,16 @@ import ../checks/config : requires ;
local is_unix = [ modules.peek : UNIX ] ;
-if $(is_unix)
-{
- local osname = [ SHELL uname ] ;
+lib atomic ;
+lib pthread ;
+lib rt ;
- switch $(osname)
- {
- case "Sun*" : OTHERFLAGS = "-lpthread -lrt" ;
- case "*BSD*" : OTHERFLAGS = "-lpthread" ;
- }
-}
+exe has_atomic_lib : config_info.cpp atomic ;
+explicit has_atomic_lib ;
+exe has_pthread_lib : config_info.cpp pthread ;
+explicit has_pthread_lib ;
+exe has_rt_lib : config_info.cpp rt ;
+explicit has_rt_lib ;
test-suite config
:
@@ -38,6 +38,9 @@ test-suite config
: #input-files
: #requirements
<threading>multi
+ [ check-target-builds has_atomic_lib : <source>atomic ]
+ [ check-target-builds has_pthread_lib : <source>pthread ]
+ [ check-target-builds has_rt_lib : <source>rt ]
: config_test_threaded
]
[ run config_test.cpp
@@ -45,18 +48,18 @@ test-suite config
: #input-files
: #requirements
<threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static
- <target-os>linux:<linkflags>-lpthread
- <target-os>linux:<linkflags>-lrt
- <toolset>gcc:<linkflags>$(OTHERFLAGS)
+ [ check-target-builds has_atomic_lib : <source>atomic ]
+ [ check-target-builds has_pthread_lib : <source>pthread ]
+ [ check-target-builds has_rt_lib : <source>rt ]
]
[ run config_test.cpp
: #args
: #input-files
: #requirements
<rtti>off
- <target-os>linux:<linkflags>-lpthread
- <target-os>linux:<linkflags>-lrt
- <toolset>gcc:<linkflags>$(OTHERFLAGS)
+ [ check-target-builds has_atomic_lib : <source>atomic ]
+ [ check-target-builds has_pthread_lib : <source>pthread ]
+ [ check-target-builds has_rt_lib : <source>rt ]
: config_test_no_rtti
]
[ run config_test.cpp
@@ -64,9 +67,9 @@ test-suite config
: #input-files
: #requirements
<exception-handling>off
- <target-os>linux:<linkflags>-lpthread
- <target-os>linux:<linkflags>-lrt
- <toolset>gcc:<linkflags>$(OTHERFLAGS)
+ [ check-target-builds has_atomic_lib : <source>atomic ]
+ [ check-target-builds has_pthread_lib : <source>pthread ]
+ [ check-target-builds has_rt_lib : <source>rt ]
: config_test_no_except
]
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ]
diff --git a/libs/config/test/all/Jamfile.v2 b/libs/config/test/all/Jamfile.v2
index fe83339779..1bca6e6b45 100644
--- a/libs/config/test/all/Jamfile.v2
+++ b/libs/config/test/all/Jamfile.v2
@@ -1,7 +1,7 @@
#
# Regression test Jamfile for boost configuration setup.
# *** DO NOT EDIT THIS FILE BY HAND ***
-# This file was automatically generated on Mon Oct 13 13:09:12 2014
+# This file was automatically generated on Fri Jun 26 21:48:00 2015
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@@ -331,12 +331,15 @@ test-suite "BOOST_NO_CXX14_CONSTEXPR" :
test-suite "BOOST_NO_CXX14_DECLTYPE_AUTO" :
[ run ../no_cxx14_decltype_auto_pass.cpp ]
[ compile-fail ../no_cxx14_decltype_auto_fail.cpp ] ;
-test-suite "BOOST_NO_CXX14_DIGIT_SEPARATOR" :
+test-suite "BOOST_NO_CXX14_DIGIT_SEPARATORS" :
[ run ../no_cxx14_digit_separator_pass.cpp ]
[ compile-fail ../no_cxx14_digit_separator_fail.cpp ] ;
test-suite "BOOST_NO_CXX14_GENERIC_LAMBDAS" :
[ run ../no_cxx14_generic_lambda_pass.cpp ]
[ compile-fail ../no_cxx14_generic_lambda_fail.cpp ] ;
+test-suite "BOOST_NO_CXX14_HDR_SHARED_MUTEX" :
+[ run ../no_cxx14_hdr_shared_mutex_pass.cpp ]
+[ compile-fail ../no_cxx14_hdr_shared_mutex_fail.cpp ] ;
test-suite "BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES" :
[ run ../no_cxx14_lambda_capture_pass.cpp ]
[ compile-fail ../no_cxx14_lambda_capture_fail.cpp ] ;
diff --git a/libs/config/test/boost_no_constexpr.ipp b/libs/config/test/boost_no_constexpr.ipp
index 563bdb20c6..7b601379b5 100644
--- a/libs/config/test/boost_no_constexpr.ipp
+++ b/libs/config/test/boost_no_constexpr.ipp
@@ -36,10 +36,43 @@ constexpr const A a = 42;
X<a> xx; // OK: unique conversion to int
+// virtual function
+struct B
+{
+ virtual void vf() {}
+};
+struct C : B
+{
+ constexpr C() {}
+};
+
+// aggregate initialization
+struct D
+{
+ int val[2];
+ constexpr D() : val() {}
+};
+
+// virtual base
+struct E
+{
+};
+struct F : virtual E
+{
+};
+constexpr F& f(F& out) { return out; }
+
int test()
{
int i = square(5);
quiet_warning(i);
+
+ switch (i)
+ {
+ case a:
+ break;
+ }
+
return 0;
}
diff --git a/libs/config/test/boost_no_cxx11_hdr_codecvt.ipp b/libs/config/test/boost_no_cxx11_hdr_codecvt.ipp
index 37f91e5eb2..428fbb4e12 100644
--- a/libs/config/test/boost_no_cxx11_hdr_codecvt.ipp
+++ b/libs/config/test/boost_no_cxx11_hdr_codecvt.ipp
@@ -11,6 +11,7 @@
// DESCRIPTION: The standard library does not supply C++0x header <codecvt>
#include <codecvt>
+#include <locale> // for wstring_convert
namespace boost_no_cxx11_hdr_codecvt {
@@ -19,6 +20,9 @@ int test()
using std::codecvt_utf8;
using std::codecvt_utf16;
using std::codecvt_utf8_utf16;
+#ifndef BOOST_NO_CXX11_CHAR16_T
+ std::wstring_convert<std::codecvt_utf8<char16_t>, char16_t> test;
+#endif
return 0;
}
diff --git a/libs/config/test/boost_no_cxx14_digit_separator.ipp b/libs/config/test/boost_no_cxx14_digit_separator.ipp
index 3bdbbf4307..ed4bcf2360 100644
--- a/libs/config/test/boost_no_cxx14_digit_separator.ipp
+++ b/libs/config/test/boost_no_cxx14_digit_separator.ipp
@@ -11,7 +11,7 @@
// TITLE: C++14 digit separator unavailable
// DESCRIPTION: The compiler does not support C++14 digit separator
-namespace boost_no_cxx14_digit_separator
+namespace boost_no_cxx14_digit_separators
{
int test()
diff --git a/libs/config/test/boost_no_cxx14_hdr_shared_mutex.ipp b/libs/config/test/boost_no_cxx14_hdr_shared_mutex.ipp
new file mode 100644
index 0000000000..ceae565907
--- /dev/null
+++ b/libs/config/test/boost_no_cxx14_hdr_shared_mutex.ipp
@@ -0,0 +1,27 @@
+// (C) Copyright Edward Diener 2015
+
+// 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 more information.
+
+// MACRO: BOOST_NO_CXX14_HDR_SHARED_MUTEX
+// TITLE: C++0y header <shared_mutex> unavailable
+// DESCRIPTION: The standard library does not supply C++0y header <shared_mutex>
+
+#include <shared_mutex>
+
+namespace boost_no_cxx14_hdr_shared_mutex {
+
+int test()
+{
+ //
+ // We should probably test __cpp_lib_shared_timed_mutex here, but since neither
+ // MSVC/Dinkumware, nor clang/libc++ bother to set it (as of July 2015), there's
+ // not much point....
+ using std::shared_timed_mutex;
+ return 0;
+}
+
+}
diff --git a/libs/config/test/config_info.cpp b/libs/config/test/config_info.cpp
index b1fcf51657..b466c43c8c 100644
--- a/libs/config/test/config_info.cpp
+++ b/libs/config/test/config_info.cpp
@@ -1061,6 +1061,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX14_DECLTYPE_AUTO);
PRINT_MACRO(BOOST_NO_CXX14_DIGIT_SEPARATORS);
PRINT_MACRO(BOOST_NO_CXX14_GENERIC_LAMBDAS);
+ PRINT_MACRO(BOOST_NO_CXX14_HDR_SHARED_MUTEX);
PRINT_MACRO(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES);
PRINT_MACRO(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION);
PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES);
@@ -1123,6 +1124,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
+
// END GENERATED BLOCK
PRINT_MACRO(BOOST_INTEL);
diff --git a/libs/config/test/config_test.cpp b/libs/config/test/config_test.cpp
index b266f4ebb0..3a3f5ba516 100644
--- a/libs/config/test/config_test.cpp
+++ b/libs/config/test/config_test.cpp
@@ -1,4 +1,4 @@
-// This file was automatically generated on Mon Oct 13 13:09:12 2014
+// This file was automatically generated on Fri Jun 26 21:48:00 2015
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -280,13 +280,18 @@ namespace boost_no_cxx14_decltype_auto = empty_boost;
#ifndef BOOST_NO_CXX14_DIGIT_SEPARATORS
#include "boost_no_cxx14_digit_separator.ipp"
#else
-namespace boost_no_cxx14_digit_separator = empty_boost;
+namespace boost_no_cxx14_digit_separators = empty_boost;
#endif
#ifndef BOOST_NO_CXX14_GENERIC_LAMBDAS
#include "boost_no_cxx14_generic_lambda.ipp"
#else
namespace boost_no_cxx14_generic_lambdas = empty_boost;
#endif
+#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
+#include "boost_no_cxx14_hdr_shared_mutex.ipp"
+#else
+namespace boost_no_cxx14_hdr_shared_mutex = empty_boost;
+#endif
#ifndef BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
#include "boost_no_cxx14_lambda_capture.ipp"
#else
@@ -1501,7 +1506,7 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX14_DECLTYPE_AUTO at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
- if(0 != boost_no_cxx14_digit_separator::test())
+ if(0 != boost_no_cxx14_digit_separators::test())
{
std::cerr << "Failed test for BOOST_NO_CXX14_DIGIT_SEPARATORS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
@@ -1511,6 +1516,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX14_GENERIC_LAMBDAS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
+ if(0 != boost_no_cxx14_hdr_shared_mutex::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_HDR_SHARED_MUTEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
if(0 != boost_no_cxx14_initialized_lambda_captures::test())
{
std::cerr << "Failed test for BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES at: " << __FILE__ << ":" << __LINE__ << std::endl;
diff --git a/libs/config/test/no_cxx14_digit_separator_fail.cpp b/libs/config/test/no_cxx14_digit_separator_fail.cpp
index 8c0c06a101..59a3001839 100644
--- a/libs/config/test/no_cxx14_digit_separator_fail.cpp
+++ b/libs/config/test/no_cxx14_digit_separator_fail.cpp
@@ -32,6 +32,6 @@
int main( int, char *[] )
{
- return boost_no_cxx14_digit_separator::test();
+ return boost_no_cxx14_digit_separators::test();
}
diff --git a/libs/config/test/no_cxx14_digit_separator_pass.cpp b/libs/config/test/no_cxx14_digit_separator_pass.cpp
index bb88cd29db..a8814fe074 100644
--- a/libs/config/test/no_cxx14_digit_separator_pass.cpp
+++ b/libs/config/test/no_cxx14_digit_separator_pass.cpp
@@ -27,11 +27,11 @@
#ifndef BOOST_NO_CXX14_DIGIT_SEPARATORS
#include "boost_no_cxx14_digit_separator.ipp"
#else
-namespace boost_no_cxx14_digit_separator = empty_boost;
+namespace boost_no_cxx14_digit_separators = empty_boost;
#endif
int main( int, char *[] )
{
- return boost_no_cxx14_digit_separator::test();
+ return boost_no_cxx14_digit_separators::test();
}
diff --git a/libs/config/test/no_cxx14_hdr_shared_mutex_fail.cpp b/libs/config/test/no_cxx14_hdr_shared_mutex_fail.cpp
new file mode 100644
index 0000000000..11c93bbe17
--- /dev/null
+++ b/libs/config/test/no_cxx14_hdr_shared_mutex_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Jun 26 21:47:59 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_NO_CXX14_HDR_SHARED_MUTEX
+// This file should not compile, if it does then
+// BOOST_NO_CXX14_HDR_SHARED_MUTEX should not be defined.
+// See file boost_no_cxx14_hdr_shared_mutex.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_CXX14_HDR_SHARED_MUTEX
+#include "boost_no_cxx14_hdr_shared_mutex.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_hdr_shared_mutex::test();
+}
+
diff --git a/libs/config/test/no_cxx14_hdr_shared_mutex_pass.cpp b/libs/config/test/no_cxx14_hdr_shared_mutex_pass.cpp
new file mode 100644
index 0000000000..20c5f7bbca
--- /dev/null
+++ b/libs/config/test/no_cxx14_hdr_shared_mutex_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Jun 26 21:47:59 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_NO_CXX14_HDR_SHARED_MUTEX
+// This file should compile, if it does not then
+// BOOST_NO_CXX14_HDR_SHARED_MUTEX should be defined.
+// See file boost_no_cxx14_hdr_shared_mutex.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_CXX14_HDR_SHARED_MUTEX
+#include "boost_no_cxx14_hdr_shared_mutex.ipp"
+#else
+namespace boost_no_cxx14_hdr_shared_mutex = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_hdr_shared_mutex::test();
+}
+