diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-10-06 10:30:07 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-10-06 10:32:57 +0900 |
commit | 71d216b90256936a9638f325af9bc69d720e75de (patch) | |
tree | 9c5f682d341c7c88ad0c8e3d4b262e00b6fb691a /libs/config | |
parent | 733b5d5ae2c5d625211e2985ac25728ac3f54883 (diff) | |
download | boost-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')
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"><</span><span class="identifier">limits</span><span class="special">></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 <shared_mutex>. + </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(); +} + |