mirror of
https://github.com/boostorg/config.git
synced 2025-07-30 04:17: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
|
||||
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
|
||||
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
|
||||
|
@ -214,6 +214,7 @@
|
||||
# define BOOST_NO_CXX11_FINAL
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
#endif
|
||||
|
||||
// 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)
|
||||
#define BOOST_HAS_VARIADIC_TMPL
|
||||
#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,
|
||||
|
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_EXTERN_TEMPLATE);
|
||||
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_HDR_ARRAY);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_HDR_ATOMIC);
|
||||
@ -1134,6 +1135,7 @@ void print_boost_macros()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 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