Merge branch 'develop'

This commit is contained in:
jzmaddock
2014-03-13 17:09:18 +00:00
24 changed files with 344 additions and 5 deletions

View File

@ -578,6 +578,7 @@ that are not yet supported by a particular compiler or library.
[table
[[Macro ][Description ]]
[[`BOOST_NO_CXX11_ADDRESSOF`][The standard library header <memory> has no working std::addressof.]]
[[`BOOST_NO_CXX11_ALIGNAS`][The compiler does not support the `alignas` keyword.]]
[[`BOOST_NO_CXX11_ALLOCATOR`][The standard library does not provide a C++11 version of `std::allocator` in <memory>.]]
[[`BOOST_NO_CXX11_ATOMIC_SMART_PTR`][The standard library <memory> does not support atomic smart pointer operations.]]
@ -603,6 +604,7 @@ that are not yet supported by a particular compiler or library.
[[`BOOST_NO_CXX11_HDR_UNORDERED_SET`][The standard library does not provide header <unordered_set>.]]
[[`BOOST_NO_CXX11_INLINE_NAMESPACES`][The compiler does not support inline namespaces.]]
[[`BOOST_NO_CXX11_SMART_PTR`][The standard library header <memory> has no shared_ptr and unique_ptr.]]
[[`BOOST_NO_CXX11_STD_ALIGN`][The standard library header <memory> has no working std::align.]]
[[`BOOST_NO_CXX11_AUTO_DECLARATIONS`][The compiler does not support
type deduction for variables declared with the `auto` keyword (`auto var = ...;`).

View File

@ -20,6 +20,10 @@
// if we don't have a user config, then use the default location:
#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG)
# define BOOST_USER_CONFIG <boost/config/user.hpp>
#if 0
// For dependency trackers:
# include <boost/config/user.hpp>
#endif
#endif
// include it first:
#ifdef BOOST_USER_CONFIG

View File

@ -112,3 +112,32 @@
# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)"
#endif
#if 0
//
// This section allows dependency scanners to find all the headers we *might* include:
//
#include "boost/config/compiler/gcc_xml.hpp"
#include "boost/config/compiler/cray.hpp"
#include "boost/config/compiler/comeau.hpp"
#include "boost/config/compiler/pathscale.hpp"
#include "boost/config/compiler/intel.hpp"
#include "boost/config/compiler/clang.hpp"
#include "boost/config/compiler/digitalmars.hpp"
#include "boost/config/compiler/gcc.hpp"
#include "boost/config/compiler/kai.hpp"
#include "boost/config/compiler/sgi_mipspro.hpp"
#include "boost/config/compiler/compaq_cxx.hpp"
#include "boost/config/compiler/greenhills.hpp"
#include "boost/config/compiler/codegear.hpp"
#include "boost/config/compiler/borland.hpp"
#include "boost/config/compiler/metrowerks.hpp"
#include "boost/config/compiler/sunpro_cc.hpp"
#include "boost/config/compiler/hp_acc.hpp"
#include "boost/config/compiler/mpw.hpp"
#include "boost/config/compiler/vacpp.hpp"
#include "boost/config/compiler/pgi.hpp"
#include "boost/config/compiler/visualc.hpp"
#endif

View File

@ -101,5 +101,29 @@
#endif
#if 0
//
// This section allows dependency scanners to find all the files we *might* include:
//
# include "boost/config/platform/linux.hpp"
# include "boost/config/platform/bsd.hpp"
# include "boost/config/platform/solaris.hpp"
# include "boost/config/platform/irix.hpp"
# include "boost/config/platform/hpux.hpp"
# include "boost/config/platform/cygwin.hpp"
# include "boost/config/platform/win32.hpp"
# include "boost/config/platform/beos.hpp"
# include "boost/config/platform/macos.hpp"
# include "boost/config/platform/aix.hpp"
# include "boost/config/platform/amigaos.hpp"
# include "boost/config/platform/qnxnto.hpp"
# include "boost/config/platform/vxworks.hpp"
# include "boost/config/platform/symbian.hpp"
# include "boost/config/platform/cray.hpp"
# include "boost/config/platform/vms.hpp"
# include <boost/config/posix_features.hpp>
#endif

View File

@ -81,5 +81,19 @@
#endif
#if 0
//
// This section allows dependency scanners to find all the files we *might* include:
//
# include "boost/config/stdlib/stlport.hpp"
# include "boost/config/stdlib/libcomo.hpp"
# include "boost/config/stdlib/roguewave.hpp"
# include "boost/config/stdlib/libcpp.hpp"
# include "boost/config/stdlib/libstdcpp3.hpp"
# include "boost/config/stdlib/sgi.hpp"
# include "boost/config/stdlib/msl.hpp"
# include "boost/config/stdlib/vacpp.hpp"
# include "boost/config/stdlib/modena.hpp"
# include "boost/config/stdlib/dinkumware.hpp"
#endif

View File

@ -143,8 +143,14 @@
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
# define BOOST_NO_CXX11_HDR_ATOMIC
# define BOOST_NO_CXX11_ALLOCATOR
// 540 has std::align but it is not a conforming implementation
# define BOOST_NO_CXX11_STD_ALIGN
#endif
// 520..610 have std::addressof, but it doesn't support functions
//
# define BOOST_NO_CXX11_ADDRESSOF
#ifdef _CPPLIB_VER
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
#else

View File

@ -59,6 +59,8 @@
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
# define BOOST_NO_CXX11_HDR_ATOMIC
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
//
// Intrinsic type_traits support.

View File

@ -146,6 +146,7 @@
//
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
# define BOOST_NO_CXX11_HDR_TYPEINDEX
# define BOOST_NO_CXX11_ADDRESSOF
#endif
// C++0x features in GCC 4.7.0 and later
@ -168,5 +169,6 @@
# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
# define BOOST_NO_CXX11_HDR_CODECVT
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
# define BOOST_NO_CXX11_STD_ALIGN
// --- end ---

View File

@ -48,6 +48,8 @@
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
# define BOOST_NO_CXX11_HDR_ATOMIC
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#define BOOST_STDLIB "Modena C++ standard library"

View File

@ -72,6 +72,8 @@
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
# define BOOST_NO_CXX11_HDR_ATOMIC
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)

View File

@ -184,4 +184,6 @@
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
# define BOOST_NO_CXX11_HDR_ATOMIC
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF

View File

@ -142,6 +142,8 @@
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
# define BOOST_NO_CXX11_HDR_ATOMIC
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#define BOOST_STDLIB "SGI standard library"

View File

@ -232,6 +232,8 @@ namespace boost { using std::min; using std::max; }
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
# define BOOST_NO_CXX11_HDR_ATOMIC
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)

View File

@ -48,6 +48,8 @@
# define BOOST_NO_CXX11_SMART_PTR
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
# define BOOST_NO_CXX11_HDR_ATOMIC
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#define BOOST_STDLIB "Visual Age default standard library"

View File

@ -19,7 +19,7 @@
// BOOST_VERSION / 100 % 1000 is the minor version
// BOOST_VERSION / 100000 is the major version
#define BOOST_VERSION 105500
#define BOOST_VERSION 105600
//
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
@ -27,6 +27,6 @@
// number, y is the minor version number, and z is the patch level if not 0.
// This is used by <config/auto_link.hpp> to select which library version to link to.
#define BOOST_LIB_VERSION "1_55"
#define BOOST_LIB_VERSION "1_56"
#endif

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 Thu Dec 12 19:09:40 2013
# This file was automatically generated on Tue Feb 11 17:12:28 2014
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@ -226,6 +226,9 @@ test-suite "BOOST_NO_CWCHAR" :
test-suite "BOOST_NO_CWCTYPE" :
[ run ../no_cwctype_pass.cpp ]
[ compile-fail ../no_cwctype_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_ADDRESSOF" :
[ run ../no_cxx11_addressof_pass.cpp ]
[ compile-fail ../no_cxx11_addressof_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_ALIGNAS" :
[ run ../no_cxx11_alignas_pass.cpp ]
[ compile-fail ../no_cxx11_alignas_fail.cpp ] ;
@ -301,6 +304,9 @@ test-suite "BOOST_NO_CXX11_NUMERIC_LIMITS" :
test-suite "BOOST_NO_CXX11_SMART_PTR" :
[ run ../no_cxx11_smart_ptr_pass.cpp ]
[ compile-fail ../no_cxx11_smart_ptr_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_STD_ALIGN" :
[ run ../no_cxx11_std_align_pass.cpp ]
[ compile-fail ../no_cxx11_std_align_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_TRAILING_RESULT_TYPES" :
[ run ../no_cxx11_trailing_result_types_pass.cpp ]
[ compile-fail ../no_cxx11_trailing_result_types_fail.cpp ] ;

View File

@ -0,0 +1,28 @@
// (C) Copyright John Maddock 2012
// (C) Copyright Peter Dimov 2014
// 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_CXX11_ADDRESSOF
// TITLE: C++11 <memory> doesn't have a working std::addressof
// DESCRIPTION: The compiler does not support the function std::addressof added to <memory>
#include <memory>
namespace boost_no_cxx11_addressof {
void x3()
{
}
int test()
{
int x1, x2[3];
return std::addressof(x1) != &x1 || std::addressof(x2) != &x2 || std::addressof(x3) != &x3;
}
}

View File

@ -0,0 +1,34 @@
// (C) Copyright John Maddock 2012
// (C) Copyright Peter Dimov 2014
// 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_CXX11_STD_ALIGN
// TITLE: C++11 <memory> doesn't have a working std::align
// DESCRIPTION: The compiler does not support the function std::align added to <memory>
#include <memory>
namespace boost_no_cxx11_std_align {
int test()
{
char buffer[ 32 ];
void * ptr = buffer + 1;
std::size_t space = sizeof( buffer ) - 1;
void * p2 = std::align( 4, 2, ptr, space );
if( p2 == 0 ) return 1;
if( p2 != ptr ) return 1;
if( (size_t)p2 % 4 ) return 1;
return 0;
}
}

View File

@ -992,6 +992,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CV_VOID_SPECIALIZATIONS);
PRINT_MACRO(BOOST_NO_CWCHAR);
PRINT_MACRO(BOOST_NO_CWCTYPE);
PRINT_MACRO(BOOST_NO_CXX11_ADDRESSOF);
PRINT_MACRO(BOOST_NO_CXX11_ALIGNAS);
PRINT_MACRO(BOOST_NO_CXX11_ALLOCATOR);
PRINT_MACRO(BOOST_NO_CXX11_ATOMIC_SMART_PTR);
@ -1039,6 +1040,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX11_SCOPED_ENUMS);
PRINT_MACRO(BOOST_NO_CXX11_SMART_PTR);
PRINT_MACRO(BOOST_NO_CXX11_STATIC_ASSERT);
PRINT_MACRO(BOOST_NO_CXX11_STD_ALIGN);
PRINT_MACRO(BOOST_NO_CXX11_TEMPLATE_ALIASES);
PRINT_MACRO(BOOST_NO_CXX11_TRAILING_RESULT_TYPES);
PRINT_MACRO(BOOST_NO_CXX11_UNICODE_LITERALS);
@ -1109,6 +1111,12 @@ void print_boost_macros()
// END GENERATED BLOCK
PRINT_MACRO(BOOST_INTEL);

View File

@ -1,4 +1,4 @@
// This file was automatically generated on Thu Dec 12 19:09:40 2013
// This file was automatically generated on Tue Feb 11 17:12:28 2014
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@ -102,6 +102,11 @@ namespace boost_no_cwchar = empty_boost;
#else
namespace boost_no_cwctype = empty_boost;
#endif
#ifndef BOOST_NO_CXX11_ADDRESSOF
#include "boost_no_cxx11_addressof.ipp"
#else
namespace boost_no_cxx11_addressof = empty_boost;
#endif
#ifndef BOOST_NO_CXX11_ALIGNAS
#include "boost_no_cxx11_alignas.ipp"
#else
@ -227,6 +232,11 @@ namespace boost_no_cxx11_numeric_limits = empty_boost;
#else
namespace boost_no_cxx11_smart_ptr = empty_boost;
#endif
#ifndef BOOST_NO_CXX11_STD_ALIGN
#include "boost_no_cxx11_std_align.ipp"
#else
namespace boost_no_cxx11_std_align = empty_boost;
#endif
#ifndef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#include "boost_no_cxx11_trailing_result_types.ipp"
#else
@ -1251,6 +1261,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CWCTYPE at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx11_addressof::test())
{
std::cerr << "Failed test for BOOST_NO_CXX11_ADDRESSOF at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx11_alignas::test())
{
std::cerr << "Failed test for BOOST_NO_CXX11_ALIGNAS at: " << __FILE__ << ":" << __LINE__ << std::endl;
@ -1376,6 +1391,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX11_SMART_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx11_std_align::test())
{
std::cerr << "Failed test for BOOST_NO_CXX11_STD_ALIGN at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx11_trailing_result_types::test())
{
std::cerr << "Failed test for BOOST_NO_CXX11_TRAILING_RESULT_TYPES at: " << __FILE__ << ":" << __LINE__ << std::endl;

View File

@ -0,0 +1,37 @@
// This file was automatically generated on Tue Feb 11 17:12:27 2014
// 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_CXX11_ADDRESSOF
// This file should not compile, if it does then
// BOOST_NO_CXX11_ADDRESSOF should not be defined.
// See file boost_no_cxx11_addressof.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_CXX11_ADDRESSOF
#include "boost_no_cxx11_addressof.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx11_addressof::test();
}

View File

@ -0,0 +1,37 @@
// This file was automatically generated on Tue Feb 11 17:12:27 2014
// 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_CXX11_ADDRESSOF
// This file should compile, if it does not then
// BOOST_NO_CXX11_ADDRESSOF should be defined.
// See file boost_no_cxx11_addressof.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_CXX11_ADDRESSOF
#include "boost_no_cxx11_addressof.ipp"
#else
namespace boost_no_cxx11_addressof = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx11_addressof::test();
}

View File

@ -0,0 +1,37 @@
// This file was automatically generated on Tue Feb 11 16:14:42 2014
// 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_CXX11_STD_ALIGN
// This file should not compile, if it does then
// BOOST_NO_CXX11_STD_ALIGN should not be defined.
// See file boost_no_cxx11_std_align.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_CXX11_STD_ALIGN
#include "boost_no_cxx11_std_align.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx11_std_align::test();
}

View File

@ -0,0 +1,37 @@
// This file was automatically generated on Tue Feb 11 16:14:42 2014
// 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_CXX11_STD_ALIGN
// This file should compile, if it does not then
// BOOST_NO_CXX11_STD_ALIGN should be defined.
// See file boost_no_cxx11_std_align.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_CXX11_STD_ALIGN
#include "boost_no_cxx11_std_align.ipp"
#else
namespace boost_no_cxx11_std_align = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx11_std_align::test();
}