forked from boostorg/config
Update some of the C++0x tests so they don't catch "fake" implementations.
Update config for VC10 accordingly. Normalise use of BOOST_HAS_RVALUE_REFS - fixes #4112. [SVN r61453]
This commit is contained in:
@ -162,13 +162,12 @@
|
||||
#define BOOST_NO_LAMBDAS
|
||||
#define BOOST_NO_RVALUE_REFERENCES
|
||||
#define BOOST_NO_STATIC_ASSERT
|
||||
#define BOOST_NO_CHAR16_T
|
||||
#define BOOST_NO_CHAR32_T
|
||||
#define BOOST_NO_INITIALIZER_LISTS
|
||||
#define BOOST_NO_NULLPTR
|
||||
#endif // _MSC_VER < 1600
|
||||
|
||||
// C++0x features not supported by any versions
|
||||
#define BOOST_NO_CHAR16_T
|
||||
#define BOOST_NO_CHAR32_T
|
||||
#define BOOST_NO_CONCEPTS
|
||||
#define BOOST_NO_CONSTEXPR
|
||||
#define BOOST_NO_DEFAULTED_FUNCTIONS
|
||||
@ -177,6 +176,7 @@
|
||||
#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_INITIALIZER_LISTS
|
||||
#define BOOST_NO_RAW_LITERALS
|
||||
#define BOOST_NO_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
|
@ -314,6 +314,13 @@
|
||||
# define BOOST_NO_INITIALIZER_LISTS
|
||||
#endif
|
||||
|
||||
//
|
||||
// Set BOOST_HAS_RVALUE_REFS when BOOST_NO_RVALUE_REFERENCES is not defined
|
||||
//
|
||||
#if !defined(BOOST_NO_RVALUE_REFERENCES) && !defined(BOOST_HAS_RVALUE_REFS)
|
||||
#define BOOST_HAS_RVALUE_REFS
|
||||
#endif
|
||||
|
||||
// BOOST_HAS_ABI_HEADERS
|
||||
// This macro gets set if we have headers that fix the ABI,
|
||||
// and prevent ODR violations when linking to external libraries:
|
||||
|
@ -1,3 +1,4 @@
|
||||
|
||||
// (C) Copyright Beman Dawes 2008
|
||||
|
||||
// Use, modification and distribution are subject to the
|
||||
@ -14,7 +15,7 @@ namespace boost_no_char16_t {
|
||||
|
||||
int test()
|
||||
{
|
||||
char16_t c;
|
||||
const char16_t* p = u"abc";
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@ namespace boost_no_char32_t {
|
||||
|
||||
int test()
|
||||
{
|
||||
char32_t c;
|
||||
const char32_t* p = U"abc";
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -11,11 +11,18 @@
|
||||
// DESCRIPTION: If the compiler does not support C++0x initializer lists
|
||||
|
||||
#include <initializer_list>
|
||||
#include <vector>
|
||||
|
||||
namespace boost_no_initializer_lists {
|
||||
|
||||
void f(std::initializer_list<int>)
|
||||
{
|
||||
}
|
||||
|
||||
int test()
|
||||
{
|
||||
std::vector<std::string> v{"once", "upon", "a", "time"}; // See C++ std 8.5.4
|
||||
f( { 1, 2, 3, 4 } );
|
||||
std::initializer_list<int> x = { 1, 2 };
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user