mirror of
https://github.com/boostorg/config.git
synced 2025-07-31 04:47:16 +02:00
Add new macro BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
This commit is contained in:
1007
checks/Jamfile.v2
1007
checks/Jamfile.v2
File diff suppressed because it is too large
Load Diff
1252
checks/test_case.cpp
1252
checks/test_case.cpp
File diff suppressed because it is too large
Load Diff
@ -640,6 +640,9 @@ accepted in Madrid, March 2011.
|
|||||||
[[`BOOST_NO_CXX11_DEFAULTED_FUNCTIONS`][The compiler does not support
|
[[`BOOST_NO_CXX11_DEFAULTED_FUNCTIONS`][The compiler does not support
|
||||||
defaulted (`= default`) functions.
|
defaulted (`= default`) functions.
|
||||||
]]
|
]]
|
||||||
|
[[BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS][The compiler does not support
|
||||||
|
expanding a variadic template parameter pack into a template containing one or more
|
||||||
|
fixed arguments]]
|
||||||
[[`BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS`][The compiler does not support
|
[[`BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS`][The compiler does not support
|
||||||
defaulted (`= default`) functions in access control sections other than `public`. Public defaulted
|
defaulted (`= default`) functions in access control sections other than `public`. Public defaulted
|
||||||
functions may still be supported, as indicated by `BOOST_NO_CXX11_DEFAULTED_FUNCTIONS`. Some
|
functions may still be supported, as indicated by `BOOST_NO_CXX11_DEFAULTED_FUNCTIONS`. Some
|
||||||
|
@ -214,6 +214,7 @@
|
|||||||
# define BOOST_NO_CXX11_FINAL
|
# define BOOST_NO_CXX11_FINAL
|
||||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||||
|
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// C++0x features in 4.8.n and later
|
// C++0x features in 4.8.n and later
|
||||||
|
@ -962,6 +962,13 @@ namespace std{ using ::type_info; }
|
|||||||
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)
|
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)
|
||||||
#define BOOST_HAS_VARIADIC_TMPL
|
#define BOOST_HAS_VARIADIC_TMPL
|
||||||
#endif
|
#endif
|
||||||
|
//
|
||||||
|
// Set BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS when
|
||||||
|
// BOOST_NO_CXX11_VARIADIC_TEMPLATES is set:
|
||||||
|
//
|
||||||
|
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS)
|
||||||
|
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||||
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// Finish off with checks for macros that are depricated / no longer supported,
|
// Finish off with checks for macros that are depricated / no longer supported,
|
||||||
|
1007
test/all/Jamfile.v2
1007
test/all/Jamfile.v2
File diff suppressed because it is too large
Load Diff
25
test/boost_no_fixed_len_variadic_templates.ipp
Normal file
25
test/boost_no_fixed_len_variadic_templates.ipp
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
// Copyright (C) 2007 Douglas Gregor
|
||||||
|
// 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_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||||
|
// TITLE: C++0x variadic templates unavailable
|
||||||
|
// DESCRIPTION: The compiler does not support C++0x variadic templates
|
||||||
|
|
||||||
|
namespace boost_no_cxx11_fixed_length_variadic_template_expansion_packs {
|
||||||
|
|
||||||
|
template<char one, char two, char... Others> struct char_tuple {};
|
||||||
|
|
||||||
|
template<char... Args> struct super_class : public char_tuple<Args...> {};
|
||||||
|
|
||||||
|
int test()
|
||||||
|
{
|
||||||
|
super_class<'a', 'b', 'c', 'd'> sc;
|
||||||
|
(void)sc;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1011,6 +1011,7 @@ void print_boost_macros()
|
|||||||
PRINT_MACRO(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS);
|
PRINT_MACRO(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE);
|
PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_FINAL);
|
PRINT_MACRO(BOOST_NO_CXX11_FINAL);
|
||||||
|
PRINT_MACRO(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS);
|
PRINT_MACRO(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_HDR_ARRAY);
|
PRINT_MACRO(BOOST_NO_CXX11_HDR_ARRAY);
|
||||||
PRINT_MACRO(BOOST_NO_CXX11_HDR_ATOMIC);
|
PRINT_MACRO(BOOST_NO_CXX11_HDR_ATOMIC);
|
||||||
@ -1134,6 +1135,7 @@ void print_boost_macros()
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// END GENERATED BLOCK
|
// END GENERATED BLOCK
|
||||||
|
3002
test/config_test.cpp
3002
test/config_test.cpp
File diff suppressed because it is too large
Load Diff
37
test/no_fixed_len_variadic_templates_fail.cpp
Normal file
37
test/no_fixed_len_variadic_templates_fail.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// This file was automatically generated on Mon Aug 25 18: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_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||||
|
// This file should not compile, if it does then
|
||||||
|
// BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS should not be defined.
|
||||||
|
// See file boost_no_fixed_len_variadic_templates.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_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||||
|
#include "boost_no_fixed_len_variadic_templates.ipp"
|
||||||
|
#else
|
||||||
|
#error "this file should not compile"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main( int, char *[] )
|
||||||
|
{
|
||||||
|
return boost_no_cxx11_fixed_length_variadic_template_expansion_packs::test();
|
||||||
|
}
|
||||||
|
|
37
test/no_fixed_len_variadic_templates_pass.cpp
Normal file
37
test/no_fixed_len_variadic_templates_pass.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// This file was automatically generated on Mon Aug 25 18: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_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||||
|
// This file should compile, if it does not then
|
||||||
|
// BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS should be defined.
|
||||||
|
// See file boost_no_fixed_len_variadic_templates.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_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||||
|
#include "boost_no_fixed_len_variadic_templates.ipp"
|
||||||
|
#else
|
||||||
|
namespace boost_no_cxx11_fixed_length_variadic_template_expansion_packs = empty_boost;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main( int, char *[] )
|
||||||
|
{
|
||||||
|
return boost_no_cxx11_fixed_length_variadic_template_expansion_packs::test();
|
||||||
|
}
|
||||||
|
|
Reference in New Issue
Block a user