Merge branch 'shared_mutex' of https://github.com/eldiener/config into develop

This commit is contained in:
jzmaddock
2015-07-07 11:15:11 +01:00
19 changed files with 243 additions and 31 deletions

View File

@ -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
@ -336,11 +336,14 @@ run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_DECLTYPE_AUTO : cxx14
alias cxx14_decltype_auto : cxx14_decltype_auto.output ;
explicit cxx14_decltype_auto ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_DIGIT_SEPARATORS : cxx14_digit_separators ;
alias cxx14_digit_separator : cxx14_digit_separator.output ;
explicit cxx14_digit_separator ;
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 ;

View File

@ -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
@ -429,6 +429,10 @@ namespace test = boost_no_cxx14_digit_separators;
# 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;

View File

@ -897,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);`).]]

View File

@ -147,6 +147,27 @@
# define BOOST_NO_CXX11_STD_ALIGN
#endif
// I haven't been able to find any information
// about what version of Dinkumware supports C++14.
// The Dinkumware website says that they now support
// C++14 but they give no further information about
// their standard library. So I will use SD-6 or mark it
// as unsupported until someone finds a version
// of a compiler that uses the Dinkumware standard library
// and they can see that shared_mutex is distributed in that
// version and they can see the value of _CPPLIB_VER in rhat
// version's yvals.h header file.
//
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400)
// Intel's compiler can't handle this header yet:
# define BOOST_NO_CXX11_HDR_ATOMIC

View File

@ -62,6 +62,16 @@
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
//
// Intrinsic type_traits support.
// The SGI STL has it's own __type_traits class, which
@ -71,5 +81,3 @@
#define BOOST_HAS_SGI_TYPE_TRAITS
#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)

View File

@ -67,4 +67,14 @@
// libc++ uses a non-standard messages_base
#define BOOST_NO_STD_MESSAGES
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus <= 201103
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// --- end ---

View File

@ -235,6 +235,16 @@
# define BOOST_NO_CXX11_STD_ALIGN
#endif
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus <= 201103
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#elif __cplusplus < 201402 || (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
//
// Headers not present on Solaris with the Oracle compiler:
#if defined(__SUNPRO_CC)
@ -254,6 +264,9 @@
# ifndef BOOST_NO_CXX11_HDR_THREAD
# define BOOST_NO_CXX11_HDR_THREAD
# endif
# ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
# endif
#endif
#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX)

View File

@ -51,6 +51,16 @@
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#define BOOST_STDLIB "Modena C++ standard library"

View File

@ -75,13 +75,14 @@
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)

View File

@ -187,3 +187,12 @@
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif

View File

@ -145,7 +145,14 @@
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#define BOOST_STDLIB "SGI standard library"
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#define BOOST_STDLIB "SGI standard library"

View File

@ -235,12 +235,14 @@ namespace boost { using std::min; using std::max; }
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)

View File

@ -51,7 +51,14 @@
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#define BOOST_STDLIB "Visual Age default standard library"

View File

@ -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
@ -337,6 +337,9 @@ test-suite "BOOST_NO_CXX14_DIGIT_SEPARATORS" :
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 ] ;

View File

@ -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()
{
#if defined(__cpp_lib_shared_timed_mutex) && __cpp_lib_shared_timed_mutex == 201402
using std::shared_timed_mutex;
#else
using std::shared_mutex;
#endif
return 0;
}
}

View File

@ -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);

View File

@ -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
@ -287,6 +287,11 @@ namespace boost_no_cxx14_digit_separators = empty_boost;
#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
@ -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;

View File

@ -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();
}

View File

@ -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();
}