forked from boostorg/config
Added macro BOOST_NO_CXX11_REF_QUALIFIERS
This commit is contained in:
@ -2377,6 +2377,18 @@
|
|||||||
</tr></thead>
|
</tr></thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p>
|
||||||
|
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_ADDRESSOF</span></code>
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<p>
|
||||||
|
The standard library header <memory> has no working std::addressof.
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_ALIGNAS</span></code>
|
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_ALIGNAS</span></code>
|
||||||
@ -2681,6 +2693,18 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p>
|
||||||
|
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_STD_ALIGN</span></code>
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<p>
|
||||||
|
The standard library header <memory> has no working std::align.
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_DECLARATIONS</span></code>
|
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_DECLARATIONS</span></code>
|
||||||
@ -2939,6 +2963,19 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p>
|
||||||
|
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_REF_QUALIFIERS</span></code>
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<p>
|
||||||
|
The compiler does not support ref-qualifiers on member functions
|
||||||
|
as described in <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm" target="_top">N2439</a>.
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<p>
|
<p>
|
||||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_RVALUE_REFERENCES</span></code>
|
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_RVALUE_REFERENCES</span></code>
|
||||||
|
@ -951,7 +951,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||||
<td align="left"><p><small>Last revised: December 12, 2013 at 19:29:48 GMT</small></p></td>
|
<td align="left"><p><small>Last revised: May 28, 2014 at 15:31:56 GMT</small></p></td>
|
||||||
<td align="right"><div class="copyright-footer"></div></td>
|
<td align="right"><div class="copyright-footer"></div></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -664,6 +664,10 @@ range-based for statements.
|
|||||||
[[`BOOST_NO_CXX11_RAW_LITERALS`][The compiler does not support
|
[[`BOOST_NO_CXX11_RAW_LITERALS`][The compiler does not support
|
||||||
raw string literals.
|
raw string literals.
|
||||||
]]
|
]]
|
||||||
|
[[`BOOST_NO_CXX11_REF_QUALIFIERS`][The compiler does not support
|
||||||
|
ref-qualifiers on member functions as described in
|
||||||
|
[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm N2439].
|
||||||
|
]]
|
||||||
[[`BOOST_NO_CXX11_RVALUE_REFERENCES`][The compiler does not support
|
[[`BOOST_NO_CXX11_RVALUE_REFERENCES`][The compiler does not support
|
||||||
r-value references.
|
r-value references.
|
||||||
]]
|
]]
|
||||||
|
@ -140,6 +140,10 @@
|
|||||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !__has_feature(cxx_reference_qualified_functions)
|
||||||
|
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !__has_feature(cxx_generalized_initializers)
|
#if !__has_feature(cxx_generalized_initializers)
|
||||||
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||||
#endif
|
#endif
|
||||||
|
@ -232,6 +232,7 @@
|
|||||||
//
|
//
|
||||||
#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40801) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40801) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||||
|
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef BOOST_COMPILER
|
#ifndef BOOST_COMPILER
|
||||||
|
@ -265,6 +265,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
|||||||
# undef BOOST_NO_CXX11_HDR_THREAD
|
# undef BOOST_NO_CXX11_HDR_THREAD
|
||||||
# undef BOOST_NO_CXX11_CHAR32_T
|
# undef BOOST_NO_CXX11_CHAR32_T
|
||||||
# undef BOOST_NO_CXX11_CHAR16_T
|
# undef BOOST_NO_CXX11_CHAR16_T
|
||||||
|
# undef BOOST_NO_CXX11_REF_QUALIFIERS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310)
|
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310)
|
||||||
|
@ -173,6 +173,7 @@
|
|||||||
#define BOOST_NO_CXX11_CHAR32_T
|
#define BOOST_NO_CXX11_CHAR32_T
|
||||||
#define BOOST_NO_CXX11_CONSTEXPR
|
#define BOOST_NO_CXX11_CONSTEXPR
|
||||||
#define BOOST_NO_CXX11_NOEXCEPT
|
#define BOOST_NO_CXX11_NOEXCEPT
|
||||||
|
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||||
#define BOOST_NO_SFINAE_EXPR
|
#define BOOST_NO_SFINAE_EXPR
|
||||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||||
|
@ -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 Tue Feb 11 17:12:28 2014
|
# This file was automatically generated on Wed May 28 17:13:04 2014
|
||||||
# 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
|
||||||
@ -301,6 +301,9 @@ test-suite "BOOST_NO_CXX11_INLINE_NAMESPACES" :
|
|||||||
test-suite "BOOST_NO_CXX11_NUMERIC_LIMITS" :
|
test-suite "BOOST_NO_CXX11_NUMERIC_LIMITS" :
|
||||||
[ run ../no_cxx11_numeric_limits_pass.cpp ]
|
[ run ../no_cxx11_numeric_limits_pass.cpp ]
|
||||||
[ compile-fail ../no_cxx11_numeric_limits_fail.cpp ] ;
|
[ compile-fail ../no_cxx11_numeric_limits_fail.cpp ] ;
|
||||||
|
test-suite "BOOST_NO_CXX11_REF_QUALIFIERS" :
|
||||||
|
[ run ../no_cxx11_ref_qualifiers_pass.cpp ]
|
||||||
|
[ compile-fail ../no_cxx11_ref_qualifiers_fail.cpp ] ;
|
||||||
test-suite "BOOST_NO_CXX11_SMART_PTR" :
|
test-suite "BOOST_NO_CXX11_SMART_PTR" :
|
||||||
[ run ../no_cxx11_smart_ptr_pass.cpp ]
|
[ run ../no_cxx11_smart_ptr_pass.cpp ]
|
||||||
[ compile-fail ../no_cxx11_smart_ptr_fail.cpp ] ;
|
[ compile-fail ../no_cxx11_smart_ptr_fail.cpp ] ;
|
||||||
|
33
test/boost_no_cxx11_ref_qualifiers.ipp
Normal file
33
test/boost_no_cxx11_ref_qualifiers.ipp
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
// (C) Copyright Andrzej Krzemienski 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_REF_QUALIFIERS
|
||||||
|
// TITLE: C++11 ref-qualifiers on member functions.
|
||||||
|
// DESCRIPTION: The compiler does not support the C++11 ref-qualifiers on member functions as described in N2439.
|
||||||
|
|
||||||
|
namespace boost_no_cxx11_ref_qualifiers {
|
||||||
|
|
||||||
|
struct G
|
||||||
|
{
|
||||||
|
char get() & { return 'l'; }
|
||||||
|
char get() && { return 'r'; }
|
||||||
|
char get() const& { return 'c'; }
|
||||||
|
};
|
||||||
|
|
||||||
|
int test()
|
||||||
|
{
|
||||||
|
G m;
|
||||||
|
const G c;
|
||||||
|
|
||||||
|
if (m.get() != 'l') return 1;
|
||||||
|
if (c.get() != 'c') return 1;
|
||||||
|
if (G().get() != 'r') return 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1036,6 +1036,7 @@ void print_boost_macros()
|
|||||||
PRINT_MACRO(BOOST_NO_CXX11_NUMERIC_LIMITS);
|
PRINT_MACRO(BOOST_NO_CXX11_NUMERIC_LIMITS);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_RANGE_BASED_FOR);
|
PRINT_MACRO(BOOST_NO_CXX11_RANGE_BASED_FOR);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_RAW_LITERALS);
|
PRINT_MACRO(BOOST_NO_CXX11_RAW_LITERALS);
|
||||||
|
PRINT_MACRO(BOOST_NO_CXX11_REF_QUALIFIERS);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_RVALUE_REFERENCES);
|
PRINT_MACRO(BOOST_NO_CXX11_RVALUE_REFERENCES);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_SCOPED_ENUMS);
|
PRINT_MACRO(BOOST_NO_CXX11_SCOPED_ENUMS);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_SMART_PTR);
|
PRINT_MACRO(BOOST_NO_CXX11_SMART_PTR);
|
||||||
@ -1117,6 +1118,7 @@ void print_boost_macros()
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// END GENERATED BLOCK
|
// END GENERATED BLOCK
|
||||||
|
|
||||||
PRINT_MACRO(BOOST_INTEL);
|
PRINT_MACRO(BOOST_INTEL);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// This file was automatically generated on Tue Feb 11 17:12:28 2014
|
// This file was automatically generated on Wed May 28 17:13:04 2014
|
||||||
// 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
|
||||||
@ -227,6 +227,11 @@ namespace boost_no_cxx11_inline_namespaces = empty_boost;
|
|||||||
#else
|
#else
|
||||||
namespace boost_no_cxx11_numeric_limits = empty_boost;
|
namespace boost_no_cxx11_numeric_limits = empty_boost;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
|
||||||
|
#include "boost_no_cxx11_ref_qualifiers.ipp"
|
||||||
|
#else
|
||||||
|
namespace boost_no_cxx11_ref_qualifiers = empty_boost;
|
||||||
|
#endif
|
||||||
#ifndef BOOST_NO_CXX11_SMART_PTR
|
#ifndef BOOST_NO_CXX11_SMART_PTR
|
||||||
#include "boost_no_cxx11_smart_ptr.ipp"
|
#include "boost_no_cxx11_smart_ptr.ipp"
|
||||||
#else
|
#else
|
||||||
@ -1386,6 +1391,11 @@ int main( int, char *[] )
|
|||||||
std::cerr << "Failed test for BOOST_NO_CXX11_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
std::cerr << "Failed test for BOOST_NO_CXX11_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
++error_count;
|
++error_count;
|
||||||
}
|
}
|
||||||
|
if(0 != boost_no_cxx11_ref_qualifiers::test())
|
||||||
|
{
|
||||||
|
std::cerr << "Failed test for BOOST_NO_CXX11_REF_QUALIFIERS at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
|
++error_count;
|
||||||
|
}
|
||||||
if(0 != boost_no_cxx11_smart_ptr::test())
|
if(0 != boost_no_cxx11_smart_ptr::test())
|
||||||
{
|
{
|
||||||
std::cerr << "Failed test for BOOST_NO_CXX11_SMART_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
std::cerr << "Failed test for BOOST_NO_CXX11_SMART_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
|
||||||
|
37
test/no_cxx11_ref_qualifiers_fail.cpp
Normal file
37
test/no_cxx11_ref_qualifiers_fail.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// This file was automatically generated on Wed May 28 17:13:04 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_REF_QUALIFIERS
|
||||||
|
// This file should not compile, if it does then
|
||||||
|
// BOOST_NO_CXX11_REF_QUALIFIERS should not be defined.
|
||||||
|
// See file boost_no_cxx11_ref_qualifiers.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_REF_QUALIFIERS
|
||||||
|
#include "boost_no_cxx11_ref_qualifiers.ipp"
|
||||||
|
#else
|
||||||
|
#error "this file should not compile"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main( int, char *[] )
|
||||||
|
{
|
||||||
|
return boost_no_cxx11_ref_qualifiers::test();
|
||||||
|
}
|
||||||
|
|
37
test/no_cxx11_ref_qualifiers_pass.cpp
Normal file
37
test/no_cxx11_ref_qualifiers_pass.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// This file was automatically generated on Wed May 28 17:13:04 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_REF_QUALIFIERS
|
||||||
|
// This file should compile, if it does not then
|
||||||
|
// BOOST_NO_CXX11_REF_QUALIFIERS should be defined.
|
||||||
|
// See file boost_no_cxx11_ref_qualifiers.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_REF_QUALIFIERS
|
||||||
|
#include "boost_no_cxx11_ref_qualifiers.ipp"
|
||||||
|
#else
|
||||||
|
namespace boost_no_cxx11_ref_qualifiers = empty_boost;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main( int, char *[] )
|
||||||
|
{
|
||||||
|
return boost_no_cxx11_ref_qualifiers::test();
|
||||||
|
}
|
||||||
|
|
Reference in New Issue
Block a user