diff --git a/doc/macro_reference.qbk b/doc/macro_reference.qbk index f223e8bd..f15cf425 100644 --- a/doc/macro_reference.qbk +++ b/doc/macro_reference.qbk @@ -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 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 .]] [[`BOOST_NO_CXX11_ATOMIC_SMART_PTR`][The standard library 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 .]] [[`BOOST_NO_CXX11_INLINE_NAMESPACES`][The compiler does not support inline namespaces.]] [[`BOOST_NO_CXX11_SMART_PTR`][The standard library header has no shared_ptr and unique_ptr.]] +[[`BOOST_NO_CXX11_STD_ALIGN`][The standard library header 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 = ...;`). diff --git a/include/boost/config.hpp b/include/boost/config.hpp index 6ec3645c..d49bb27c 100644 --- a/include/boost/config.hpp +++ b/include/boost/config.hpp @@ -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 +#if 0 +// For dependency trackers: +# include +#endif #endif // include it first: #ifdef BOOST_USER_CONFIG diff --git a/include/boost/config/select_compiler_config.hpp b/include/boost/config/select_compiler_config.hpp index 0eeb7ad3..62053ba0 100644 --- a/include/boost/config/select_compiler_config.hpp +++ b/include/boost/config/select_compiler_config.hpp @@ -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 + diff --git a/include/boost/config/select_platform_config.hpp b/include/boost/config/select_platform_config.hpp index 2af61d2d..2dddc6a2 100644 --- a/include/boost/config/select_platform_config.hpp +++ b/include/boost/config/select_platform_config.hpp @@ -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 + +#endif + diff --git a/include/boost/config/select_stdlib_config.hpp b/include/boost/config/select_stdlib_config.hpp index 96ede002..6ae860b0 100644 --- a/include/boost/config/select_stdlib_config.hpp +++ b/include/boost/config/select_stdlib_config.hpp @@ -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 diff --git a/include/boost/config/stdlib/dinkumware.hpp b/include/boost/config/stdlib/dinkumware.hpp index 96bc6dd0..6fb6322a 100644 --- a/include/boost/config/stdlib/dinkumware.hpp +++ b/include/boost/config/stdlib/dinkumware.hpp @@ -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 diff --git a/include/boost/config/stdlib/libcomo.hpp b/include/boost/config/stdlib/libcomo.hpp index d02e9e07..5aacfb2a 100644 --- a/include/boost/config/stdlib/libcomo.hpp +++ b/include/boost/config/stdlib/libcomo.hpp @@ -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. diff --git a/include/boost/config/stdlib/libstdcpp3.hpp b/include/boost/config/stdlib/libstdcpp3.hpp index d1322027..172a2df7 100644 --- a/include/boost/config/stdlib/libstdcpp3.hpp +++ b/include/boost/config/stdlib/libstdcpp3.hpp @@ -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 --- diff --git a/include/boost/config/stdlib/modena.hpp b/include/boost/config/stdlib/modena.hpp index 956bffce..f2a83888 100644 --- a/include/boost/config/stdlib/modena.hpp +++ b/include/boost/config/stdlib/modena.hpp @@ -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" diff --git a/include/boost/config/stdlib/msl.hpp b/include/boost/config/stdlib/msl.hpp index 05e2582d..b8f43a12 100644 --- a/include/boost/config/stdlib/msl.hpp +++ b/include/boost/config/stdlib/msl.hpp @@ -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__) diff --git a/include/boost/config/stdlib/roguewave.hpp b/include/boost/config/stdlib/roguewave.hpp index 72823d5d..2b4e8636 100644 --- a/include/boost/config/stdlib/roguewave.hpp +++ b/include/boost/config/stdlib/roguewave.hpp @@ -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 diff --git a/include/boost/config/stdlib/sgi.hpp b/include/boost/config/stdlib/sgi.hpp index ed7ea613..bda77c22 100644 --- a/include/boost/config/stdlib/sgi.hpp +++ b/include/boost/config/stdlib/sgi.hpp @@ -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" diff --git a/include/boost/config/stdlib/stlport.hpp b/include/boost/config/stdlib/stlport.hpp index 1b7beeb9..fd5d3a5a 100644 --- a/include/boost/config/stdlib/stlport.hpp +++ b/include/boost/config/stdlib/stlport.hpp @@ -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) diff --git a/include/boost/config/stdlib/vacpp.hpp b/include/boost/config/stdlib/vacpp.hpp index 08268249..a58ec1c5 100644 --- a/include/boost/config/stdlib/vacpp.hpp +++ b/include/boost/config/stdlib/vacpp.hpp @@ -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" diff --git a/include/boost/version.hpp b/include/boost/version.hpp index 0df7b276..fc4c9697 100644 --- a/include/boost/version.hpp +++ b/include/boost/version.hpp @@ -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 to select which library version to link to. -#define BOOST_LIB_VERSION "1_55" +#define BOOST_LIB_VERSION "1_56" #endif diff --git a/test/all/Jamfile.v2 b/test/all/Jamfile.v2 index ba09a333..bbc9c8c5 100644 --- a/test/all/Jamfile.v2 +++ b/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 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 ] ; diff --git a/test/boost_no_cxx11_addressof.ipp b/test/boost_no_cxx11_addressof.ipp new file mode 100644 index 00000000..4f0a5e3c --- /dev/null +++ b/test/boost_no_cxx11_addressof.ipp @@ -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 doesn't have a working std::addressof +// DESCRIPTION: The compiler does not support the function std::addressof added to + +#include + +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; +} + +} diff --git a/test/boost_no_cxx11_std_align.ipp b/test/boost_no_cxx11_std_align.ipp new file mode 100644 index 00000000..145e24c6 --- /dev/null +++ b/test/boost_no_cxx11_std_align.ipp @@ -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 doesn't have a working std::align +// DESCRIPTION: The compiler does not support the function std::align added to + +#include + +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; +} + +} diff --git a/test/config_info.cpp b/test/config_info.cpp index edef9653..5a174c09 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -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); diff --git a/test/config_test.cpp b/test/config_test.cpp index b06114f4..9bc6c545 100644 --- a/test/config_test.cpp +++ b/test/config_test.cpp @@ -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; diff --git a/test/no_cxx11_addressof_fail.cpp b/test/no_cxx11_addressof_fail.cpp new file mode 100644 index 00000000..9216b5ef --- /dev/null +++ b/test/no_cxx11_addressof_fail.cpp @@ -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 +#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(); +} + diff --git a/test/no_cxx11_addressof_pass.cpp b/test/no_cxx11_addressof_pass.cpp new file mode 100644 index 00000000..e4e84abc --- /dev/null +++ b/test/no_cxx11_addressof_pass.cpp @@ -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 +#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(); +} + diff --git a/test/no_cxx11_std_align_fail.cpp b/test/no_cxx11_std_align_fail.cpp new file mode 100644 index 00000000..7a87dea2 --- /dev/null +++ b/test/no_cxx11_std_align_fail.cpp @@ -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 +#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(); +} + diff --git a/test/no_cxx11_std_align_pass.cpp b/test/no_cxx11_std_align_pass.cpp new file mode 100644 index 00000000..4ee4ba65 --- /dev/null +++ b/test/no_cxx11_std_align_pass.cpp @@ -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 +#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(); +} +