mirror of
https://github.com/boostorg/config.git
synced 2025-07-31 21:04:28 +02:00
Added configuration macros BOOST_NO_AUTO_DECLARATIONS and BOOST_NO_AUTO_MULTIDECLARATIONS.
[SVN r51733]
This commit is contained in:
@@ -524,6 +524,12 @@ that are not yet supported by a particular compiler.
|
|||||||
[table
|
[table
|
||||||
[[Macro ][Description ]]
|
[[Macro ][Description ]]
|
||||||
|
|
||||||
|
[[`BOOST_NO_AUTO_DECLARATIONS`][The compiler does not support
|
||||||
|
type deduction for variables declared with the `auto` keyword (`auto var = ...;`).
|
||||||
|
]]
|
||||||
|
[[`BOOST_NO_AUTO_MULTIDECLARATIONS`][The compiler does not support
|
||||||
|
type deduction for multiple variables declared with the `auto` keyword (`auto var = ..., *ptr = ...;`).
|
||||||
|
]]
|
||||||
[[`BOOST_NO_CHAR16_T`][The compiler does not support
|
[[`BOOST_NO_CHAR16_T`][The compiler does not support
|
||||||
type `char16_t`.
|
type `char16_t`.
|
||||||
]]
|
]]
|
||||||
|
@@ -176,6 +176,8 @@
|
|||||||
# define BOOST_NO_DELETED_FUNCTIONS
|
# define BOOST_NO_DELETED_FUNCTIONS
|
||||||
# define BOOST_NO_RAW_LITERALS
|
# define BOOST_NO_RAW_LITERALS
|
||||||
# define BOOST_NO_UNICODE_LITERALS
|
# define BOOST_NO_UNICODE_LITERALS
|
||||||
|
# define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
# define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define BOOST_NO_INITIALIZER_LISTS
|
#define BOOST_NO_INITIALIZER_LISTS
|
||||||
|
@@ -78,6 +78,8 @@
|
|||||||
#define BOOST_NO_STATIC_ASSERT
|
#define BOOST_NO_STATIC_ASSERT
|
||||||
#define BOOST_NO_UNICODE_LITERALS
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
#define BOOST_NO_VARIADIC_TEMPLATES
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
#define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
#ifdef c_plusplus
|
#ifdef c_plusplus
|
||||||
// EDG has "long long" in non-strict mode
|
// EDG has "long long" in non-strict mode
|
||||||
// However, some libraries have insufficient "long long" support
|
// However, some libraries have insufficient "long long" support
|
||||||
|
@@ -73,6 +73,8 @@
|
|||||||
#define BOOST_NO_STATIC_ASSERT
|
#define BOOST_NO_STATIC_ASSERT
|
||||||
#define BOOST_NO_UNICODE_LITERALS
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
#define BOOST_NO_VARIADIC_TEMPLATES
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
#define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
#if __DMC__ < 0x800
|
#if __DMC__ < 0x800
|
||||||
#error "Compiler not supported or configured - please reconfigure"
|
#error "Compiler not supported or configured - please reconfigure"
|
||||||
#endif
|
#endif
|
||||||
|
@@ -115,6 +115,8 @@
|
|||||||
#define BOOST_NO_RAW_LITERALS
|
#define BOOST_NO_RAW_LITERALS
|
||||||
#define BOOST_NO_SCOPED_ENUMS
|
#define BOOST_NO_SCOPED_ENUMS
|
||||||
#define BOOST_NO_UNICODE_LITERALS
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
|
// See below for BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
|
||||||
#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__)
|
#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||||
// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are
|
// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are
|
||||||
@@ -131,6 +133,7 @@
|
|||||||
|
|
||||||
#if !defined(__GXX_EXPERIMENTAL_CXX0X__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4)
|
#if !defined(__GXX_EXPERIMENTAL_CXX0X__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4)
|
||||||
# define BOOST_NO_INITIALIZER_LISTS
|
# define BOOST_NO_INITIALIZER_LISTS
|
||||||
|
# define BOOST_NO_AUTO_DECLARATIONS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Variadic templates compiler:
|
// Variadic templates compiler:
|
||||||
|
@@ -104,6 +104,8 @@
|
|||||||
#define BOOST_NO_STATIC_ASSERT
|
#define BOOST_NO_STATIC_ASSERT
|
||||||
#define BOOST_NO_UNICODE_LITERALS
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
#define BOOST_NO_VARIADIC_TEMPLATES
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
#define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
|
||||||
//
|
//
|
||||||
// last known and checked version for HP-UX/ia64 is 61300
|
// last known and checked version for HP-UX/ia64 is 61300
|
||||||
|
@@ -176,6 +176,8 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
|||||||
#define BOOST_NO_STATIC_ASSERT
|
#define BOOST_NO_STATIC_ASSERT
|
||||||
#define BOOST_NO_UNICODE_LITERALS
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
#define BOOST_NO_VARIADIC_TEMPLATES
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
#define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
|
||||||
//
|
//
|
||||||
// last known and checked version:
|
// last known and checked version:
|
||||||
|
@@ -104,6 +104,8 @@
|
|||||||
#define BOOST_NO_STATIC_ASSERT
|
#define BOOST_NO_STATIC_ASSERT
|
||||||
#define BOOST_NO_UNICODE_LITERALS
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
#define BOOST_NO_VARIADIC_TEMPLATES
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
#define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
|
||||||
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
||||||
|
|
||||||
|
@@ -55,6 +55,8 @@
|
|||||||
#define BOOST_NO_STATIC_ASSERT
|
#define BOOST_NO_STATIC_ASSERT
|
||||||
#define BOOST_NO_UNICODE_LITERALS
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
#define BOOST_NO_VARIADIC_TEMPLATES
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
#define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
|
||||||
//
|
//
|
||||||
// versions check:
|
// versions check:
|
||||||
|
@@ -47,6 +47,8 @@
|
|||||||
#define BOOST_NO_STATIC_ASSERT
|
#define BOOST_NO_STATIC_ASSERT
|
||||||
#define BOOST_NO_UNICODE_LITERALS
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
#define BOOST_NO_VARIADIC_TEMPLATES
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
#define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
|
||||||
//
|
//
|
||||||
// version check:
|
// version check:
|
||||||
|
@@ -42,6 +42,8 @@
|
|||||||
#define BOOST_NO_STATIC_ASSERT
|
#define BOOST_NO_STATIC_ASSERT
|
||||||
#define BOOST_NO_UNICODE_LITERALS
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
#define BOOST_NO_VARIADIC_TEMPLATES
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
#define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
|
||||||
//
|
//
|
||||||
// version check:
|
// version check:
|
||||||
|
@@ -100,6 +100,8 @@
|
|||||||
#define BOOST_NO_STATIC_ASSERT
|
#define BOOST_NO_STATIC_ASSERT
|
||||||
#define BOOST_NO_UNICODE_LITERALS
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
#define BOOST_NO_VARIADIC_TEMPLATES
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
#define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
|
||||||
//
|
//
|
||||||
// Version
|
// Version
|
||||||
|
@@ -75,6 +75,8 @@
|
|||||||
#define BOOST_NO_STATIC_ASSERT
|
#define BOOST_NO_STATIC_ASSERT
|
||||||
#define BOOST_NO_UNICODE_LITERALS
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
#define BOOST_NO_VARIADIC_TEMPLATES
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
#define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -146,7 +146,6 @@
|
|||||||
// C++0x features
|
// C++0x features
|
||||||
//
|
//
|
||||||
// See above for BOOST_NO_LONG_LONG
|
// See above for BOOST_NO_LONG_LONG
|
||||||
|
|
||||||
#define BOOST_NO_CHAR16_T
|
#define BOOST_NO_CHAR16_T
|
||||||
#define BOOST_NO_CHAR32_T
|
#define BOOST_NO_CHAR32_T
|
||||||
#define BOOST_NO_CONSTEXPR
|
#define BOOST_NO_CONSTEXPR
|
||||||
@@ -156,11 +155,18 @@
|
|||||||
#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
|
#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
|
||||||
#define BOOST_NO_EXTERN_TEMPLATE
|
#define BOOST_NO_EXTERN_TEMPLATE
|
||||||
#define BOOST_NO_RAW_LITERALS
|
#define BOOST_NO_RAW_LITERALS
|
||||||
#define BOOST_NO_RVALUE_REFERENCES
|
|
||||||
#define BOOST_NO_SCOPED_ENUMS
|
#define BOOST_NO_SCOPED_ENUMS
|
||||||
#define BOOST_NO_STATIC_ASSERT
|
|
||||||
#define BOOST_NO_UNICODE_LITERALS
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
#define BOOST_NO_VARIADIC_TEMPLATES
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
|
||||||
|
// MSVC 2010 has some support for C++0x
|
||||||
|
#if _MSC_VER < 1600
|
||||||
|
# define BOOST_NO_RVALUE_REFERENCES
|
||||||
|
# define BOOST_NO_STATIC_ASSERT
|
||||||
|
# define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
# define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
#endif // _MSC_VER < 1600
|
||||||
|
|
||||||
//
|
//
|
||||||
// prefix and suffix headers:
|
// prefix and suffix headers:
|
||||||
//
|
//
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Regression test Jamfile for boost configuration setup.
|
# Regression test Jamfile for boost configuration setup.
|
||||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
# *** DO NOT EDIT THIS FILE BY HAND ***
|
||||||
# This file was automatically generated on Fri Feb 20 21:15:18 2009
|
# This file was automatically generated on Thu Mar 12 17:32:05 2009
|
||||||
# by libs/config/tools/generate.cpp
|
# by libs/config/tools/generate.cpp
|
||||||
# Copyright John Maddock.
|
# Copyright John Maddock.
|
||||||
# Use, modification and distribution are subject to the
|
# Use, modification and distribution are subject to the
|
||||||
@@ -184,6 +184,12 @@ test-suite "BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP" :
|
|||||||
test-suite "BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS" :
|
test-suite "BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS" :
|
||||||
[ run ../no_array_type_spec_pass.cpp ]
|
[ run ../no_array_type_spec_pass.cpp ]
|
||||||
[ compile-fail ../no_array_type_spec_fail.cpp ] ;
|
[ compile-fail ../no_array_type_spec_fail.cpp ] ;
|
||||||
|
test-suite "BOOST_NO_AUTO_DECLARATIONS" :
|
||||||
|
[ run ../no_auto_declarations_pass.cpp ]
|
||||||
|
[ compile-fail ../no_auto_declarations_fail.cpp ] ;
|
||||||
|
test-suite "BOOST_NO_AUTO_MULTIDECLARATIONS" :
|
||||||
|
[ run ../no_auto_multidecl_pass.cpp ]
|
||||||
|
[ compile-fail ../no_auto_multidecl_fail.cpp ] ;
|
||||||
test-suite "BOOST_NO_AUTO_PTR" :
|
test-suite "BOOST_NO_AUTO_PTR" :
|
||||||
[ run ../no_auto_ptr_pass.cpp ]
|
[ run ../no_auto_ptr_pass.cpp ]
|
||||||
[ compile-fail ../no_auto_ptr_fail.cpp ] ;
|
[ compile-fail ../no_auto_ptr_fail.cpp ] ;
|
||||||
|
25
test/boost_no_auto_declarations.ipp
Normal file
25
test/boost_no_auto_declarations.ipp
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
// Copyright (C) 2009 Andrey Semashev
|
||||||
|
// 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 most recent version.
|
||||||
|
|
||||||
|
// MACRO: BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
// TITLE: C++0x auto declarators unavailable
|
||||||
|
// DESCRIPTION: The compiler does not support C++0x declarations of variables with automatically deduced type
|
||||||
|
|
||||||
|
namespace boost_no_auto_declarations {
|
||||||
|
|
||||||
|
void check(int& x)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
int test()
|
||||||
|
{
|
||||||
|
auto x = 10;
|
||||||
|
check(x);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
25
test/boost_no_auto_multidecl.ipp
Normal file
25
test/boost_no_auto_multidecl.ipp
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
// Copyright (C) 2009 Andrey Semashev
|
||||||
|
// 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 most recent version.
|
||||||
|
|
||||||
|
// MACRO: BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
// TITLE: C++0x auto multideclarators unavailable
|
||||||
|
// DESCRIPTION: The compiler does not support C++0x declarations of series of variables with automatically deduced type
|
||||||
|
|
||||||
|
namespace boost_no_auto_multideclarations {
|
||||||
|
|
||||||
|
void check(int& x, int*& y)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
int test()
|
||||||
|
{
|
||||||
|
auto x = 10, *y = &x;
|
||||||
|
check(x, y);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -955,6 +955,8 @@ void print_boost_macros()
|
|||||||
PRINT_MACRO(BOOST_NO_ADL_BARRIER);
|
PRINT_MACRO(BOOST_NO_ADL_BARRIER);
|
||||||
PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP);
|
PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP);
|
||||||
PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS);
|
PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS);
|
||||||
|
PRINT_MACRO(BOOST_NO_AUTO_DECLARATIONS);
|
||||||
|
PRINT_MACRO(BOOST_NO_AUTO_MULTIDECLARATIONS);
|
||||||
PRINT_MACRO(BOOST_NO_AUTO_PTR);
|
PRINT_MACRO(BOOST_NO_AUTO_PTR);
|
||||||
PRINT_MACRO(BOOST_NO_CHAR16_T);
|
PRINT_MACRO(BOOST_NO_CHAR16_T);
|
||||||
PRINT_MACRO(BOOST_NO_CHAR32_T);
|
PRINT_MACRO(BOOST_NO_CHAR32_T);
|
||||||
@@ -1034,6 +1036,7 @@ void print_boost_macros()
|
|||||||
PRINT_MACRO(BOOST_NO_VARIADIC_TEMPLATES);
|
PRINT_MACRO(BOOST_NO_VARIADIC_TEMPLATES);
|
||||||
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
|
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
|
||||||
|
|
||||||
|
|
||||||
// END GENERATED BLOCK
|
// END GENERATED BLOCK
|
||||||
|
|
||||||
PRINT_MACRO(BOOST_INTEL);
|
PRINT_MACRO(BOOST_INTEL);
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
// This file was automatically generated on Fri Feb 20 21:15:18 2009
|
// This file was automatically generated on Thu Mar 12 17:32:05 2009
|
||||||
// by libs/config/tools/generate.cpp
|
// by libs/config/tools/generate.cpp
|
||||||
// Copyright John Maddock 2002-4.
|
// Copyright John Maddock 2002-4.
|
||||||
// Use, modification and distribution are subject to the
|
// Use, modification and distribution are subject to the
|
||||||
@@ -37,6 +37,16 @@ namespace boost_no_argument_dependent_lookup = empty_boost;
|
|||||||
#else
|
#else
|
||||||
namespace boost_no_array_type_specializations = empty_boost;
|
namespace boost_no_array_type_specializations = empty_boost;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#include "boost_no_auto_declarations.ipp"
|
||||||
|
#else
|
||||||
|
namespace boost_no_auto_declarations = empty_boost;
|
||||||
|
#endif
|
||||||
|
#ifndef BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
#include "boost_no_auto_multidecl.ipp"
|
||||||
|
#else
|
||||||
|
namespace boost_no_auto_multideclarations = empty_boost;
|
||||||
|
#endif
|
||||||
#ifndef BOOST_NO_AUTO_PTR
|
#ifndef BOOST_NO_AUTO_PTR
|
||||||
#include "boost_no_auto_ptr.ipp"
|
#include "boost_no_auto_ptr.ipp"
|
||||||
#else
|
#else
|
||||||
@@ -971,6 +981,16 @@ int main( int, char *[] )
|
|||||||
std::cerr << "Failed test for BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
std::cerr << "Failed test for BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
++error_count;
|
++error_count;
|
||||||
}
|
}
|
||||||
|
if(0 != boost_no_auto_declarations::test())
|
||||||
|
{
|
||||||
|
std::cerr << "Failed test for BOOST_NO_AUTO_DECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
|
++error_count;
|
||||||
|
}
|
||||||
|
if(0 != boost_no_auto_multideclarations::test())
|
||||||
|
{
|
||||||
|
std::cerr << "Failed test for BOOST_NO_AUTO_MULTIDECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
|
++error_count;
|
||||||
|
}
|
||||||
if(0 != boost_no_auto_ptr::test())
|
if(0 != boost_no_auto_ptr::test())
|
||||||
{
|
{
|
||||||
std::cerr << "Failed test for BOOST_NO_AUTO_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
std::cerr << "Failed test for BOOST_NO_AUTO_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
|
Reference in New Issue
Block a user