forked from boostorg/config
Merge branch 'develop'
This commit is contained in:
578
checks/Jamfile.v2
Normal file
578
checks/Jamfile.v2
Normal file
@ -0,0 +1,578 @@
|
||||
#
|
||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
||||
# This file was automatically generated on Mon Aug 25 18:12:27 2014
|
||||
# by libs/config/tools/generate.cpp
|
||||
# Copyright John Maddock.
|
||||
# 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)
|
||||
|
||||
import modules ;
|
||||
import path ;
|
||||
|
||||
actions simple_run_action
|
||||
{
|
||||
$(>) > $(<)
|
||||
}
|
||||
|
||||
rule run-simple ( sources + : args * : input-files * : requirements * : target-name )
|
||||
{
|
||||
obj $(target-name)_obj : $(sources) : $(requirements) ;
|
||||
explicit $(target-name)_obj ;
|
||||
exe $(target-name)_exe : $(target-name)_obj : $(requirements) ;
|
||||
explicit $(target-name)_exe ;
|
||||
#testing.capture-output $(target-name)_output : $(target-name) : $(requirements) <name>$(target-name) ;
|
||||
make $(target-name).output : $(target-name)_exe : @simple_run_action ;
|
||||
explicit $(target-name).output ;
|
||||
}
|
||||
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_DECLTYPE : cxx11_decltype ;
|
||||
alias cxx11_decltype : cxx11_decltype.output ;
|
||||
explicit cxx11_decltype ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_SFINAE : sfinae ;
|
||||
alias sfinae : sfinae.output ;
|
||||
explicit sfinae ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_TYPE_TRAITS : cxx11_hdr_type_traits ;
|
||||
alias cxx11_hdr_type_traits : cxx11_hdr_type_traits.output ;
|
||||
explicit cxx11_hdr_type_traits ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS : array_type_specializations ;
|
||||
alias array_type_specializations : array_type_specializations.output ;
|
||||
explicit array_type_specializations ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_ITERATOR_TRAITS : std_iterator_traits ;
|
||||
alias std_iterator_traits : std_iterator_traits.output ;
|
||||
explicit std_iterator_traits ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_INT128 : int128 ;
|
||||
alias int128 : int128.output ;
|
||||
explicit int128 ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_UNISTD_H : unistd_h ;
|
||||
alias unistd_h : unistd_h.output ;
|
||||
explicit unistd_h ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_RANDOM : tr1_random ;
|
||||
alias tr1_random : tr1_random.output ;
|
||||
explicit tr1_random ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_UNORDERED_MAP : cxx11_hdr_unordered_map ;
|
||||
alias cxx11_hdr_unordered_map : cxx11_hdr_unordered_map.output ;
|
||||
explicit cxx11_hdr_unordered_map ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_RESULT_OF : tr1_result_of ;
|
||||
alias tr1_result_of : tr1_result_of.output ;
|
||||
explicit tr1_result_of ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_PTHREAD_DELAY_NP : pthread_delay_np ;
|
||||
alias pthread_delay_np : pthread_delay_np.output ;
|
||||
explicit pthread_delay_np ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS : pointer_to_member_template_parameters ;
|
||||
alias pointer_to_member_template_parameters : pointer_to_member_template_parameters.output ;
|
||||
explicit pointer_to_member_template_parameters ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_IS_ABSTRACT : is_abstract ;
|
||||
alias is_abstract : is_abstract.output ;
|
||||
explicit is_abstract ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TEMPLATED_IOSTREAMS : templated_iostreams ;
|
||||
alias templated_iostreams : templated_iostreams.output ;
|
||||
explicit templated_iostreams ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_INLINE_NAMESPACES : cxx11_inline_namespaces ;
|
||||
alias cxx11_inline_namespaces : cxx11_inline_namespaces.output ;
|
||||
explicit cxx11_inline_namespaces ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_FENV_H : fenv_h ;
|
||||
alias fenv_h : fenv_h.output ;
|
||||
explicit fenv_h ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_NANOSLEEP : nanosleep ;
|
||||
alias nanosleep : nanosleep.output ;
|
||||
explicit nanosleep ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_TYPEINDEX : cxx11_hdr_typeindex ;
|
||||
alias cxx11_hdr_typeindex : cxx11_hdr_typeindex.output ;
|
||||
explicit cxx11_hdr_typeindex ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_EXCEPTION_STD_NAMESPACE : exception_std_namespace ;
|
||||
alias exception_std_namespace : exception_std_namespace.output ;
|
||||
explicit exception_std_namespace ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_INTEGRAL_INT64_T : integral_int64_t ;
|
||||
alias integral_int64_t : integral_int64_t.output ;
|
||||
explicit integral_int64_t ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS : limits_compile_time_constants ;
|
||||
alias limits_compile_time_constants : limits_compile_time_constants.output ;
|
||||
explicit limits_compile_time_constants ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_REGEX : tr1_regex ;
|
||||
alias tr1_regex : tr1_regex.output ;
|
||||
explicit tr1_regex ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX : cxx11_unified_initialization_syntax ;
|
||||
alias cxx11_unified_initialization_syntax : cxx11_unified_initialization_syntax.output ;
|
||||
explicit cxx11_unified_initialization_syntax ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_MIN_MAX : std_min_max ;
|
||||
alias std_min_max : std_min_max.output ;
|
||||
explicit std_min_max ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_USER_DEFINED_LITERALS : cxx11_user_defined_literals ;
|
||||
alias cxx11_user_defined_literals : cxx11_user_defined_literals.output ;
|
||||
explicit cxx11_user_defined_literals ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_RATIO : cxx11_hdr_ratio ;
|
||||
alias cxx11_hdr_ratio : cxx11_hdr_ratio.output ;
|
||||
explicit cxx11_hdr_ratio ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_COMPLETE_VALUE_INITIALIZATION : complete_value_initialization ;
|
||||
alias complete_value_initialization : complete_value_initialization.output ;
|
||||
explicit complete_value_initialization ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_GETSYSTEMTIMEASFILETIME : getsystemtimeasfiletime ;
|
||||
alias getsystemtimeasfiletime : getsystemtimeasfiletime.output ;
|
||||
explicit getsystemtimeasfiletime ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_ADDRESSOF : cxx11_addressof ;
|
||||
alias cxx11_addressof : cxx11_addressof.output ;
|
||||
explicit cxx11_addressof ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL : cxx11_hdr_functional ;
|
||||
alias cxx11_hdr_functional : cxx11_hdr_functional.output ;
|
||||
explicit cxx11_hdr_functional ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_HASH : hash ;
|
||||
alias hash : hash.output ;
|
||||
explicit hash ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_MACRO_USE_FACET : macro_use_facet ;
|
||||
alias macro_use_facet : macro_use_facet.output ;
|
||||
explicit macro_use_facet ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_DECLTYPE_N3276 : cxx11_decltype_n3276 ;
|
||||
alias cxx11_decltype_n3276 : cxx11_decltype_n3276.output ;
|
||||
explicit cxx11_decltype_n3276 ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS : cxx11_local_class_template_parameters ;
|
||||
alias cxx11_local_class_template_parameters : cxx11_local_class_template_parameters.output ;
|
||||
explicit cxx11_local_class_template_parameters ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS : member_function_specializations ;
|
||||
alias member_function_specializations : member_function_specializations.output ;
|
||||
explicit member_function_specializations ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS : partial_specialization_implicit_default_args ;
|
||||
alias partial_specialization_implicit_default_args : partial_specialization_implicit_default_args.output ;
|
||||
explicit partial_specialization_implicit_default_args ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_WSTREAMBUF : std_wstreambuf ;
|
||||
alias std_wstreambuf : std_wstreambuf.output ;
|
||||
explicit std_wstreambuf ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_LONG_LONG : long_long ;
|
||||
alias long_long : long_long.output ;
|
||||
explicit long_long ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_UNORDERED_MAP : tr1_unordered_map ;
|
||||
alias tr1_unordered_map : tr1_unordered_map.output ;
|
||||
explicit tr1_unordered_map ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_UNORDERED_SET : tr1_unordered_set ;
|
||||
alias tr1_unordered_set : tr1_unordered_set.output ;
|
||||
explicit tr1_unordered_set ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_EXTERN_TEMPLATE : cxx11_extern_template ;
|
||||
alias cxx11_extern_template : cxx11_extern_template.output ;
|
||||
explicit cxx11_extern_template ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_CONSTEXPR : cxx11_constexpr ;
|
||||
alias cxx11_constexpr : cxx11_constexpr.output ;
|
||||
explicit cxx11_constexpr ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_INTRINSIC_WCHAR_T : intrinsic_wchar_t ;
|
||||
alias intrinsic_wchar_t : intrinsic_wchar_t.output ;
|
||||
explicit intrinsic_wchar_t ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_SGI_TYPE_TRAITS : sgi_type_traits ;
|
||||
alias sgi_type_traits : sgi_type_traits.output ;
|
||||
explicit sgi_type_traits ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_OPERATORS_IN_NAMESPACE : operators_in_namespace ;
|
||||
alias operators_in_namespace : operators_in_namespace.output ;
|
||||
explicit operators_in_namespace ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_DELETED_FUNCTIONS : cxx11_deleted_functions ;
|
||||
alias cxx11_deleted_functions : cxx11_deleted_functions.output ;
|
||||
explicit cxx11_deleted_functions ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_IOSFWD : iosfwd ;
|
||||
alias iosfwd : iosfwd.output ;
|
||||
explicit iosfwd ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_LONG_LONG : long_long ;
|
||||
alias long_long : long_long.output ;
|
||||
explicit long_long ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_NUMERIC_LIMITS : cxx11_numeric_limits ;
|
||||
alias cxx11_numeric_limits : cxx11_numeric_limits.output ;
|
||||
explicit cxx11_numeric_limits ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION : unreachable_return_detection ;
|
||||
alias unreachable_return_detection : unreachable_return_detection.output ;
|
||||
explicit unreachable_return_detection ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_VARIADIC_TEMPLATES : cxx11_variadic_templates ;
|
||||
alias cxx11_variadic_templates : cxx11_variadic_templates.output ;
|
||||
explicit cxx11_variadic_templates ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_WINTHREADS : winthreads ;
|
||||
alias winthreads : winthreads.output ;
|
||||
explicit winthreads ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_NOEXCEPT : cxx11_noexcept ;
|
||||
alias cxx11_noexcept : cxx11_noexcept.output ;
|
||||
explicit cxx11_noexcept ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CV_VOID_SPECIALIZATIONS : cv_void_specializations ;
|
||||
alias cv_void_specializations : cv_void_specializations.output ;
|
||||
explicit cv_void_specializations ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_INITIALIZER_LIST : cxx11_hdr_initializer_list ;
|
||||
alias cxx11_hdr_initializer_list : cxx11_hdr_initializer_list.output ;
|
||||
explicit cxx11_hdr_initializer_list ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_COMPLEX_OVERLOADS : tr1_complex_overloads ;
|
||||
alias tr1_complex_overloads : tr1_complex_overloads.output ;
|
||||
explicit tr1_complex_overloads ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_NL_TYPES_H : nl_types_h ;
|
||||
alias nl_types_h : nl_types_h.output ;
|
||||
explicit nl_types_h ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS : cxx11_function_template_default_args ;
|
||||
alias cxx11_function_template_default_args : cxx11_function_template_default_args.output ;
|
||||
explicit cxx11_function_template_default_args ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TWO_ARG_USE_FACET : two_arg_use_facet ;
|
||||
alias two_arg_use_facet : two_arg_use_facet.output ;
|
||||
explicit two_arg_use_facet ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_MSVC6_MEMBER_TEMPLATES : boost_msvc6_member_templates ;
|
||||
alias boost_msvc6_member_templates : boost_msvc6_member_templates.output ;
|
||||
explicit boost_msvc6_member_templates ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_LAMBDAS : cxx11_lambdas ;
|
||||
alias cxx11_lambdas : cxx11_lambdas.output ;
|
||||
explicit cxx11_lambdas ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_LOG1P : log1p ;
|
||||
alias log1p : log1p.output ;
|
||||
explicit log1p ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_ARRAY : tr1_array ;
|
||||
alias tr1_array : tr1_array.output ;
|
||||
explicit tr1_array ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_NRVO : nrvo ;
|
||||
alias nrvo : nrvo.output ;
|
||||
explicit nrvo ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_DEFAULTED_FUNCTIONS : cxx11_defaulted_functions ;
|
||||
alias cxx11_defaulted_functions : cxx11_defaulted_functions.output ;
|
||||
explicit cxx11_defaulted_functions ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_CHAR32_T : cxx11_char32_t ;
|
||||
alias cxx11_char32_t : cxx11_char32_t.output ;
|
||||
explicit cxx11_char32_t ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_EXCEPTIONS : exceptions ;
|
||||
alias exceptions : exceptions.output ;
|
||||
explicit exceptions ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_FUTURE : cxx11_hdr_future ;
|
||||
alias cxx11_hdr_future : cxx11_hdr_future.output ;
|
||||
explicit cxx11_hdr_future ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_SIGACTION : sigaction ;
|
||||
alias sigaction : sigaction.output ;
|
||||
explicit sigaction ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_RVALUE_REFS : rvalue_refs ;
|
||||
alias rvalue_refs : rvalue_refs.output ;
|
||||
explicit rvalue_refs ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CV_SPECIALIZATIONS : cv_specializations ;
|
||||
alias cv_specializations : cv_specializations.output ;
|
||||
explicit cv_specializations ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG : tr1_complex_inverse_trig ;
|
||||
alias tr1_complex_inverse_trig : tr1_complex_inverse_trig.output ;
|
||||
explicit tr1_complex_inverse_trig ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_LOCALE : std_locale ;
|
||||
alias std_locale : std_locale.output ;
|
||||
explicit std_locale ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS : dependent_types_in_template_value_parameters ;
|
||||
alias dependent_types_in_template_value_parameters : dependent_types_in_template_value_parameters.output ;
|
||||
explicit dependent_types_in_template_value_parameters ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_USING_TEMPLATE : using_template ;
|
||||
alias using_template : using_template.output ;
|
||||
explicit using_template ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_LIMITS : limits ;
|
||||
alias limits : limits.output ;
|
||||
explicit limits ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_THREAD : cxx11_hdr_thread ;
|
||||
alias cxx11_hdr_thread : cxx11_hdr_thread.output ;
|
||||
explicit cxx11_hdr_thread ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_RTTI : rtti ;
|
||||
alias rtti : rtti.output ;
|
||||
explicit rtti ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS : cxx11_fixed_length_variadic_template_expansion_packs ;
|
||||
alias cxx11_fixed_length_variadic_template_expansion_packs : cxx11_fixed_length_variadic_template_expansion_packs.output ;
|
||||
explicit cxx11_fixed_length_variadic_template_expansion_packs ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_LONG_LONG_NUMERIC_LIMITS : long_long_numeric_limits ;
|
||||
alias long_long_numeric_limits : long_long_numeric_limits.output ;
|
||||
explicit long_long_numeric_limits ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CWCTYPE : cwctype ;
|
||||
alias cwctype : cwctype.output ;
|
||||
explicit cwctype ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_SLIST : slist ;
|
||||
alias slist : slist.output ;
|
||||
explicit slist ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_TYPE_TRAITS : tr1_type_traits ;
|
||||
alias tr1_type_traits : tr1_type_traits.output ;
|
||||
explicit tr1_type_traits ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_GETTIMEOFDAY : gettimeofday ;
|
||||
alias gettimeofday : gettimeofday.output ;
|
||||
explicit gettimeofday ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_PTHREADS : pthreads ;
|
||||
alias pthreads : pthreads.output ;
|
||||
explicit pthreads ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_DEDUCED_TYPENAME : boost_deduced_typename ;
|
||||
alias boost_deduced_typename : boost_deduced_typename.output ;
|
||||
explicit boost_deduced_typename ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_CLOCK_GETTIME : clock_gettime ;
|
||||
alias clock_gettime : clock_gettime.output ;
|
||||
explicit clock_gettime ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_CONDITION_VARIABLE : cxx11_hdr_condition_variable ;
|
||||
alias cxx11_hdr_condition_variable : cxx11_hdr_condition_variable.output ;
|
||||
explicit cxx11_hdr_condition_variable ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STRINGSTREAM : stringstream ;
|
||||
alias stringstream : stringstream.output ;
|
||||
explicit stringstream ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_SYSTEM_ERROR : cxx11_hdr_system_error ;
|
||||
alias cxx11_hdr_system_error : cxx11_hdr_system_error.output ;
|
||||
explicit cxx11_hdr_system_error ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_BETHREADS : bethreads ;
|
||||
alias bethreads : bethreads.output ;
|
||||
explicit bethreads ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_TRAILING_RESULT_TYPES : cxx11_trailing_result_types ;
|
||||
alias cxx11_trailing_result_types : cxx11_trailing_result_types.output ;
|
||||
explicit cxx11_trailing_result_types ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_ATOMIC : cxx11_hdr_atomic ;
|
||||
alias cxx11_hdr_atomic : cxx11_hdr_atomic.output ;
|
||||
explicit cxx11_hdr_atomic ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_SHARED_PTR : tr1_shared_ptr ;
|
||||
alias tr1_shared_ptr : tr1_shared_ptr.output ;
|
||||
explicit tr1_shared_ptr ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_STD_ALIGN : cxx11_std_align ;
|
||||
alias cxx11_std_align : cxx11_std_align.output ;
|
||||
explicit cxx11_std_align ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CWCHAR : cwchar ;
|
||||
alias cwchar : cwchar.output ;
|
||||
explicit cwchar ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_MUTEX : cxx11_hdr_mutex ;
|
||||
alias cxx11_hdr_mutex : cxx11_hdr_mutex.output ;
|
||||
explicit cxx11_hdr_mutex ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_DEPENDENT_NESTED_DERIVATIONS : dependent_nested_derivations ;
|
||||
alias dependent_nested_derivations : dependent_nested_derivations.output ;
|
||||
explicit dependent_nested_derivations ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_REF_QUALIFIERS : cxx11_ref_qualifiers ;
|
||||
alias cxx11_ref_qualifiers : cxx11_ref_qualifiers.output ;
|
||||
explicit cxx11_ref_qualifiers ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_BIND : tr1_bind ;
|
||||
alias tr1_bind : tr1_bind.output ;
|
||||
explicit tr1_bind ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_MSVC_STD_ITERATOR : boost_msvc_std_iterator ;
|
||||
alias boost_msvc_std_iterator : boost_msvc_std_iterator.output ;
|
||||
explicit boost_msvc_std_iterator ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_CHRONO : cxx11_hdr_chrono ;
|
||||
alias cxx11_hdr_chrono : cxx11_hdr_chrono.output ;
|
||||
explicit cxx11_hdr_chrono ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_USE_FACET : std_use_facet ;
|
||||
alias std_use_facet : std_use_facet.output ;
|
||||
explicit std_use_facet ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS : templated_iterator_constructors ;
|
||||
alias templated_iterator_constructors : templated_iterator_constructors.output ;
|
||||
explicit templated_iterator_constructors ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_STLP_USE_FACET : stlp_use_facet ;
|
||||
alias stlp_use_facet : stlp_use_facet.output ;
|
||||
explicit stlp_use_facet ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_DISTANCE : std_distance ;
|
||||
alias std_distance : std_distance.output ;
|
||||
explicit std_distance ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TEMPLATE_TEMPLATES : template_templates ;
|
||||
alias template_templates : template_templates.output ;
|
||||
explicit template_templates ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_SFINAE_EXPR : sfinae_expr ;
|
||||
alias sfinae_expr : sfinae_expr.output ;
|
||||
explicit sfinae_expr ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_VARIADIC_TMPL : variadic_tmpl ;
|
||||
alias variadic_tmpl : variadic_tmpl.output ;
|
||||
explicit variadic_tmpl ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_TUPLE : tr1_tuple ;
|
||||
alias tr1_tuple : tr1_tuple.output ;
|
||||
explicit tr1_tuple ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_STDINT_H : stdint_h ;
|
||||
alias stdint_h : stdint_h.output ;
|
||||
explicit stdint_h ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_CHAR16_T : cxx11_char16_t ;
|
||||
alias cxx11_char16_t : cxx11_char16_t.output ;
|
||||
explicit cxx11_char16_t ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_RANGE_BASED_FOR : cxx11_range_based_for ;
|
||||
alias cxx11_range_based_for : cxx11_range_based_for.output ;
|
||||
explicit cxx11_range_based_for ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_VOID_RETURNS : void_returns ;
|
||||
alias void_returns : void_returns.output ;
|
||||
explicit void_returns ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_CODECVT : cxx11_hdr_codecvt ;
|
||||
alias cxx11_hdr_codecvt : cxx11_hdr_codecvt.output ;
|
||||
explicit cxx11_hdr_codecvt ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_AUTO_PTR : auto_ptr ;
|
||||
alias auto_ptr : auto_ptr.output ;
|
||||
explicit auto_ptr ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_REGEX : cxx11_hdr_regex ;
|
||||
alias cxx11_hdr_regex : cxx11_hdr_regex.output ;
|
||||
explicit cxx11_hdr_regex ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_MESSAGES : std_messages ;
|
||||
alias std_messages : std_messages.output ;
|
||||
explicit std_messages ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_BCB_PARTIAL_SPECIALIZATION_BUG : boost_bcb_partial_specialization_bug ;
|
||||
alias boost_bcb_partial_specialization_bug : boost_bcb_partial_specialization_bug.output ;
|
||||
explicit boost_bcb_partial_specialization_bug ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_UNORDERED_SET : cxx11_hdr_unordered_set ;
|
||||
alias cxx11_hdr_unordered_set : cxx11_hdr_unordered_set.output ;
|
||||
explicit cxx11_hdr_unordered_set ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_FUNCTION : tr1_function ;
|
||||
alias tr1_function : tr1_function.output ;
|
||||
explicit tr1_function ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_REFERENCE_WRAPPER : tr1_reference_wrapper ;
|
||||
alias tr1_reference_wrapper : tr1_reference_wrapper.output ;
|
||||
explicit tr1_reference_wrapper ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_STATIC_ASSERT : static_assert ;
|
||||
alias static_assert : static_assert.output ;
|
||||
explicit static_assert ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS : cxx11_auto_multideclarations ;
|
||||
alias cxx11_auto_multideclarations : cxx11_auto_multideclarations.output ;
|
||||
explicit cxx11_auto_multideclarations ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_TUPLE : cxx11_hdr_tuple ;
|
||||
alias cxx11_hdr_tuple : cxx11_hdr_tuple.output ;
|
||||
explicit cxx11_hdr_tuple ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_SCHED_YIELD : sched_yield ;
|
||||
alias sched_yield : sched_yield.output ;
|
||||
explicit sched_yield ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_SMART_PTR : cxx11_smart_ptr ;
|
||||
alias cxx11_smart_ptr : cxx11_smart_ptr.output ;
|
||||
explicit cxx11_smart_ptr ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_ADL_BARRIER : adl_barrier ;
|
||||
alias adl_barrier : adl_barrier.output ;
|
||||
explicit adl_barrier ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS : cxx11_explicit_conversion_operators ;
|
||||
alias cxx11_explicit_conversion_operators : cxx11_explicit_conversion_operators.output ;
|
||||
explicit cxx11_explicit_conversion_operators ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_AUTO_DECLARATIONS : cxx11_auto_declarations ;
|
||||
alias cxx11_auto_declarations : cxx11_auto_declarations.output ;
|
||||
explicit cxx11_auto_declarations ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_UNICODE_LITERALS : cxx11_unicode_literals ;
|
||||
alias cxx11_unicode_literals : cxx11_unicode_literals.output ;
|
||||
explicit cxx11_unicode_literals ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_HASH : tr1_hash ;
|
||||
alias tr1_hash : tr1_hash.output ;
|
||||
explicit tr1_hash ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_MEMBER_TEMPLATE_FRIENDS : member_template_friends ;
|
||||
alias member_template_friends : member_template_friends.output ;
|
||||
explicit member_template_friends ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_SCOPED_ENUMS : cxx11_scoped_enums ;
|
||||
alias cxx11_scoped_enums : cxx11_scoped_enums.output ;
|
||||
explicit cxx11_scoped_enums ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_MS_INT64 : ms_int64 ;
|
||||
alias ms_int64 : ms_int64.output ;
|
||||
explicit ms_int64 ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_RAW_LITERALS : cxx11_raw_literals ;
|
||||
alias cxx11_raw_literals : cxx11_raw_literals.output ;
|
||||
explicit cxx11_raw_literals ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_IOSTREAM : iostream ;
|
||||
alias iostream : iostream.output ;
|
||||
explicit iostream ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_ATOMIC_SMART_PTR : cxx11_atomic_smart_ptr ;
|
||||
alias cxx11_atomic_smart_ptr : cxx11_atomic_smart_ptr.output ;
|
||||
explicit cxx11_atomic_smart_ptr ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_EXPM1 : expm1 ;
|
||||
alias expm1 : expm1.output ;
|
||||
explicit expm1 ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION : template_partial_specialization ;
|
||||
alias template_partial_specialization : template_partial_specialization.output ;
|
||||
explicit template_partial_specialization ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_ITERATOR : std_iterator ;
|
||||
alias std_iterator : std_iterator.output ;
|
||||
explicit std_iterator ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE : pthread_mutexattr_settype ;
|
||||
alias pthread_mutexattr_settype : pthread_mutexattr_settype.output ;
|
||||
explicit pthread_mutexattr_settype ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP : argument_dependent_lookup ;
|
||||
alias argument_dependent_lookup : argument_dependent_lookup.output ;
|
||||
explicit argument_dependent_lookup ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_ALLOCATOR : std_allocator ;
|
||||
alias std_allocator : std_allocator.output ;
|
||||
explicit std_allocator ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS : function_type_specializations ;
|
||||
alias function_type_specializations : function_type_specializations.output ;
|
||||
explicit function_type_specializations ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_MEMBER_TEMPLATES : member_templates ;
|
||||
alias member_templates : member_templates.output ;
|
||||
explicit member_templates ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_STATIC_ASSERT : cxx11_static_assert ;
|
||||
alias cxx11_static_assert : cxx11_static_assert.output ;
|
||||
explicit cxx11_static_assert ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_TEMPLATE_ALIASES : cxx11_template_aliases ;
|
||||
alias cxx11_template_aliases : cxx11_template_aliases.output ;
|
||||
explicit cxx11_template_aliases ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS : explicit_function_template_arguments ;
|
||||
alias explicit_function_template_arguments : explicit_function_template_arguments.output ;
|
||||
explicit explicit_function_template_arguments ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_MS_INT64_NUMERIC_LIMITS : ms_int64_numeric_limits ;
|
||||
alias ms_int64_numeric_limits : ms_int64_numeric_limits.output ;
|
||||
explicit ms_int64_numeric_limits ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_RANDOM : cxx11_hdr_random ;
|
||||
alias cxx11_hdr_random : cxx11_hdr_random.output ;
|
||||
explicit cxx11_hdr_random ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_FUNCTION_TEMPLATE_ORDERING : function_template_ordering ;
|
||||
alias function_template_ordering : function_template_ordering.output ;
|
||||
explicit function_template_ordering ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_PARTIAL_STD_ALLOCATOR : partial_std_allocator ;
|
||||
alias partial_std_allocator : partial_std_allocator.output ;
|
||||
explicit partial_std_allocator ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TYPEID : typeid ;
|
||||
alias typeid : typeid.output ;
|
||||
explicit typeid ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TYPENAME_WITH_CTOR : typename_with_ctor ;
|
||||
alias typename_with_ctor : typename_with_ctor.output ;
|
||||
explicit typename_with_ctor ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_ARRAY : cxx11_hdr_array ;
|
||||
alias cxx11_hdr_array : cxx11_hdr_array.output ;
|
||||
explicit cxx11_hdr_array ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_MEM_FN : tr1_mem_fn ;
|
||||
alias tr1_mem_fn : tr1_mem_fn.output ;
|
||||
explicit tr1_mem_fn ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_ALIGNAS : cxx11_alignas ;
|
||||
alias cxx11_alignas : cxx11_alignas.output ;
|
||||
explicit cxx11_alignas ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE : using_declaration_overloads_from_typename_base ;
|
||||
alias using_declaration_overloads_from_typename_base : using_declaration_overloads_from_typename_base.output ;
|
||||
explicit using_declaration_overloads_from_typename_base ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_PTHREAD_YIELD : pthread_yield ;
|
||||
alias pthread_yield : pthread_yield.output ;
|
||||
explicit pthread_yield ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_INCLASS_MEMBER_INITIALIZATION : inclass_member_initialization ;
|
||||
alias inclass_member_initialization : inclass_member_initialization.output ;
|
||||
explicit inclass_member_initialization ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_TYPEINFO : std_typeinfo ;
|
||||
alias std_typeinfo : std_typeinfo.output ;
|
||||
explicit std_typeinfo ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_VARIADIC_MACROS : cxx11_variadic_macros ;
|
||||
alias cxx11_variadic_macros : cxx11_variadic_macros.output ;
|
||||
explicit cxx11_variadic_macros ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL : boost_function_scope_using_declaration_breaks_adl ;
|
||||
alias boost_function_scope_using_declaration_breaks_adl : boost_function_scope_using_declaration_breaks_adl.output ;
|
||||
explicit boost_function_scope_using_declaration_breaks_adl ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_WSTRING : std_wstring ;
|
||||
alias std_wstring : std_wstring.output ;
|
||||
explicit std_wstring ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CTYPE_FUNCTIONS : ctype_functions ;
|
||||
alias ctype_functions : ctype_functions.output ;
|
||||
explicit ctype_functions ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_NULLPTR : cxx11_nullptr ;
|
||||
alias cxx11_nullptr : cxx11_nullptr.output ;
|
||||
explicit cxx11_nullptr ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_MEMBER_TEMPLATE_KEYWORD : member_template_keyword ;
|
||||
alias member_template_keyword : member_template_keyword.output ;
|
||||
explicit member_template_keyword ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_RVALUE_REFERENCES : cxx11_rvalue_references ;
|
||||
alias cxx11_rvalue_references : cxx11_rvalue_references.output ;
|
||||
explicit cxx11_rvalue_references ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_PRIVATE_IN_AGGREGATE : private_in_aggregate ;
|
||||
alias private_in_aggregate : private_in_aggregate.output ;
|
||||
explicit private_in_aggregate ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_ALLOCATOR : cxx11_allocator ;
|
||||
alias cxx11_allocator : cxx11_allocator.output ;
|
||||
explicit cxx11_allocator ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_SWPRINTF : swprintf ;
|
||||
alias swprintf : swprintf.output ;
|
||||
explicit swprintf ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_FINAL : cxx11_final ;
|
||||
alias cxx11_final : cxx11_final.output ;
|
||||
explicit cxx11_final ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STDC_NAMESPACE : stdc_namespace ;
|
||||
alias stdc_namespace : stdc_namespace.output ;
|
||||
explicit stdc_namespace ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TWO_PHASE_NAME_LOOKUP : two_phase_name_lookup ;
|
||||
alias two_phase_name_lookup : two_phase_name_lookup.output ;
|
||||
explicit two_phase_name_lookup ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_FORWARD_LIST : cxx11_hdr_forward_list ;
|
||||
alias cxx11_hdr_forward_list : cxx11_hdr_forward_list.output ;
|
||||
explicit cxx11_hdr_forward_list ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN : std_output_iterator_assign ;
|
||||
alias std_output_iterator_assign : std_output_iterator_assign.output ;
|
||||
explicit std_output_iterator_assign ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_UTILITY : tr1_utility ;
|
||||
alias tr1_utility : tr1_utility.output ;
|
||||
explicit tr1_utility ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS : cxx11_non_public_defaulted_functions ;
|
||||
alias cxx11_non_public_defaulted_functions : cxx11_non_public_defaulted_functions.output ;
|
||||
explicit cxx11_non_public_defaulted_functions ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_DIRENT_H : dirent_h ;
|
||||
alias dirent_h : dirent_h.output ;
|
||||
explicit dirent_h ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_NESTED_FRIENDSHIP : nested_friendship ;
|
||||
alias nested_friendship : nested_friendship.output ;
|
||||
explicit nested_friendship ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_POINTER_TO_MEMBER_CONST : pointer_to_member_const ;
|
||||
alias pointer_to_member_const : pointer_to_member_const.output ;
|
||||
explicit pointer_to_member_const ;
|
||||
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_FTIME : ftime ;
|
||||
alias ftime : ftime.output ;
|
||||
explicit ftime ;
|
||||
|
17
checks/config.jam
Normal file
17
checks/config.jam
Normal file
@ -0,0 +1,17 @@
|
||||
# Copyright John Maddock.
|
||||
# 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)
|
||||
|
||||
rule requires ( names + )
|
||||
{
|
||||
local result ;
|
||||
for name in $(names)
|
||||
{
|
||||
local msg = "Boost.Config Feature Check: " ;
|
||||
msg += $(name) ;
|
||||
result += [ check-target-builds $(__name__:D)//$(name) $(msg:J=) : : <build>no ] ;
|
||||
}
|
||||
return $(result) ;
|
||||
}
|
||||
|
749
checks/test_case.cpp
Normal file
749
checks/test_case.cpp
Normal file
@ -0,0 +1,749 @@
|
||||
// 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$
|
||||
//
|
||||
|
||||
#ifdef TEST_BOOST_NO_CXX11_DECLTYPE
|
||||
# include "../test/boost_no_decltype.ipp"
|
||||
namespace test = boost_no_cxx11_decltype;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_SFINAE
|
||||
# include "../test/boost_no_sfinae.ipp"
|
||||
namespace test = boost_no_sfinae;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
||||
# include "../test/boost_no_cxx11_hdr_type_traits.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_type_traits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
|
||||
# include "../test/boost_no_array_type_spec.ipp"
|
||||
namespace test = boost_no_array_type_specializations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_ITERATOR_TRAITS
|
||||
# include "../test/boost_no_std_iter_traits.ipp"
|
||||
namespace test = boost_no_std_iterator_traits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_INT128
|
||||
# include "../test/boost_has_int128.ipp"
|
||||
namespace test = boost_has_int128;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_UNISTD_H
|
||||
# include "../test/boost_has_unistd_h.ipp"
|
||||
namespace test = boost_has_unistd_h;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_RANDOM
|
||||
# include "../test/boost_has_tr1_random.ipp"
|
||||
namespace test = boost_has_tr1_random;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_UNORDERED_MAP
|
||||
# include "../test/boost_no_cxx11_hdr_unordered_map.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_unordered_map;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_RESULT_OF
|
||||
# include "../test/boost_has_tr1_result_of.ipp"
|
||||
namespace test = boost_has_tr1_result_of;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_PTHREAD_DELAY_NP
|
||||
# include "../test/boost_has_pthread_delay_np.ipp"
|
||||
namespace test = boost_has_pthread_delay_np;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
|
||||
# include "../test/boost_no_mem_tem_pnts.ipp"
|
||||
namespace test = boost_no_pointer_to_member_template_parameters;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_IS_ABSTRACT
|
||||
# include "../test/boost_no_is_abstract.ipp"
|
||||
namespace test = boost_no_is_abstract;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TEMPLATED_IOSTREAMS
|
||||
# include "../test/boost_no_template_streams.ipp"
|
||||
namespace test = boost_no_templated_iostreams;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# include "../test/boost_no_cxx11_inline_namespaces.ipp"
|
||||
namespace test = boost_no_cxx11_inline_namespaces;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_FENV_H
|
||||
# include "../test/boost_no_fenv_h.ipp"
|
||||
namespace test = boost_no_fenv_h;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_NANOSLEEP
|
||||
# include "../test/boost_has_nanosleep.ipp"
|
||||
namespace test = boost_has_nanosleep;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_TYPEINDEX
|
||||
# include "../test/boost_no_cxx11_hdr_typeindex.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_typeindex;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_EXCEPTION_STD_NAMESPACE
|
||||
# include "../test/boost_no_excep_std.ipp"
|
||||
namespace test = boost_no_exception_std_namespace;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_INTEGRAL_INT64_T
|
||||
# include "../test/boost_no_integral_int64_t.ipp"
|
||||
namespace test = boost_no_integral_int64_t;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
# include "../test/boost_no_limits_const_exp.ipp"
|
||||
namespace test = boost_no_limits_compile_time_constants;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_REGEX
|
||||
# include "../test/boost_has_tr1_regex.ipp"
|
||||
namespace test = boost_has_tr1_regex;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
# include "../test/boost_no_unified_init.ipp"
|
||||
namespace test = boost_no_cxx11_unified_initialization_syntax;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_MIN_MAX
|
||||
# include "../test/boost_no_std_min_max.ipp"
|
||||
namespace test = boost_no_std_min_max;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# include "../test/boost_no_cxx11_user_lit.ipp"
|
||||
namespace test = boost_no_cxx11_user_defined_literals;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_RATIO
|
||||
# include "../test/boost_no_cxx11_hdr_ratio.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_ratio;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
# include "../test/boost_no_com_value_init.ipp"
|
||||
namespace test = boost_no_complete_value_initialization;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_GETSYSTEMTIMEASFILETIME
|
||||
# include "../test/boost_has_getsystemtimeasfiletime.ipp"
|
||||
namespace test = boost_has_getsystemtimeasfiletime;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_ADDRESSOF
|
||||
# include "../test/boost_no_cxx11_addressof.ipp"
|
||||
namespace test = boost_no_cxx11_addressof;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||
# include "../test/boost_no_cxx_hdr_functional.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_functional;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_HASH
|
||||
# include "../test/boost_has_hash.ipp"
|
||||
namespace test = boost_has_hash;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_MACRO_USE_FACET
|
||||
# include "../test/boost_has_macro_use_facet.ipp"
|
||||
namespace test = boost_has_macro_use_facet;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
# include "../test/boost_no_decltype_n3276.ipp"
|
||||
namespace test = boost_no_cxx11_decltype_n3276;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
# include "../test/boost_no_tem_local_classes.ipp"
|
||||
namespace test = boost_no_cxx11_local_class_template_parameters;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
||||
# include "../test/boost_no_mem_func_spec.ipp"
|
||||
namespace test = boost_no_member_function_specializations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
|
||||
# include "../test/boost_no_part_spec_def_args.ipp"
|
||||
namespace test = boost_no_partial_specialization_implicit_default_args;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_WSTREAMBUF
|
||||
# include "../test/boost_no_std_wstreambuf.ipp"
|
||||
namespace test = boost_no_std_wstreambuf;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_LONG_LONG
|
||||
# include "../test/boost_no_long_long.ipp"
|
||||
namespace test = boost_no_long_long;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_UNORDERED_MAP
|
||||
# include "../test/boost_has_tr1_unordered_map.ipp"
|
||||
namespace test = boost_has_tr1_unordered_map;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_UNORDERED_SET
|
||||
# include "../test/boost_has_tr1_unordered_set.ipp"
|
||||
namespace test = boost_has_tr1_unordered_set;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
# include "../test/boost_no_extern_template.ipp"
|
||||
namespace test = boost_no_cxx11_extern_template;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_CONSTEXPR
|
||||
# include "../test/boost_no_constexpr.ipp"
|
||||
namespace test = boost_no_cxx11_constexpr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_INTRINSIC_WCHAR_T
|
||||
# include "../test/boost_no_wchar_t.ipp"
|
||||
namespace test = boost_no_intrinsic_wchar_t;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_SGI_TYPE_TRAITS
|
||||
# include "../test/boost_has_sgi_type_traits.ipp"
|
||||
namespace test = boost_has_sgi_type_traits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_OPERATORS_IN_NAMESPACE
|
||||
# include "../test/boost_no_ops_in_namespace.ipp"
|
||||
namespace test = boost_no_operators_in_namespace;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# include "../test/boost_no_deleted_functions.ipp"
|
||||
namespace test = boost_no_cxx11_deleted_functions;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_IOSFWD
|
||||
# include "../test/boost_no_iosfwd.ipp"
|
||||
namespace test = boost_no_iosfwd;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_LONG_LONG
|
||||
# include "../test/boost_has_long_long.ipp"
|
||||
namespace test = boost_has_long_long;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_NUMERIC_LIMITS
|
||||
# include "../test/boost_no_cxx11_numeric_limits.ipp"
|
||||
namespace test = boost_no_cxx11_numeric_limits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||
# include "../test/boost_no_ret_det.ipp"
|
||||
namespace test = boost_no_unreachable_return_detection;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# include "../test/boost_no_variadic_templates.ipp"
|
||||
namespace test = boost_no_cxx11_variadic_templates;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_WINTHREADS
|
||||
# include "../test/boost_has_winthreads.ipp"
|
||||
namespace test = boost_has_winthreads;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_NOEXCEPT
|
||||
# include "../test/boost_no_noexcept.ipp"
|
||||
namespace test = boost_no_cxx11_noexcept;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||
# include "../test/boost_no_cv_void_spec.ipp"
|
||||
namespace test = boost_no_cv_void_specializations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# include "../test/boost_no_cxx11_hdr_initializer_list.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_initializer_list;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_COMPLEX_OVERLOADS
|
||||
# include "../test/boost_has_tr1_complex_over.ipp"
|
||||
namespace test = boost_has_tr1_complex_overloads;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_NL_TYPES_H
|
||||
# include "../test/boost_has_nl_types_h.ipp"
|
||||
namespace test = boost_has_nl_types_h;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# include "../test/boost_no_function_template_default_args.ipp"
|
||||
namespace test = boost_no_cxx11_function_template_default_args;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TWO_ARG_USE_FACET
|
||||
# include "../test/boost_has_2arg_use_facet.ipp"
|
||||
namespace test = boost_has_two_arg_use_facet;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_MSVC6_MEMBER_TEMPLATES
|
||||
# include "../test/boost_has_vc6_mem_templ.ipp"
|
||||
namespace test = boost_msvc6_member_templates;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_LAMBDAS
|
||||
# include "../test/boost_no_lambdas.ipp"
|
||||
namespace test = boost_no_cxx11_lambdas;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_LOG1P
|
||||
# include "../test/boost_has_log1p.ipp"
|
||||
namespace test = boost_has_log1p;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_ARRAY
|
||||
# include "../test/boost_has_tr1_array.ipp"
|
||||
namespace test = boost_has_tr1_array;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_NRVO
|
||||
# include "../test/boost_has_nrvo.ipp"
|
||||
namespace test = boost_has_nrvo;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# include "../test/boost_no_defaulted_functions.ipp"
|
||||
namespace test = boost_no_cxx11_defaulted_functions;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_CHAR32_T
|
||||
# include "../test/boost_no_char32_t.ipp"
|
||||
namespace test = boost_no_cxx11_char32_t;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_EXCEPTIONS
|
||||
# include "../test/boost_no_exceptions.ipp"
|
||||
namespace test = boost_no_exceptions;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_FUTURE
|
||||
# include "../test/boost_no_cxx11_hdr_future.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_future;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_SIGACTION
|
||||
# include "../test/boost_has_sigaction.ipp"
|
||||
namespace test = boost_has_sigaction;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_RVALUE_REFS
|
||||
# include "../test/boost_has_rvalue_refs.ipp"
|
||||
namespace test = boost_has_rvalue_refs;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CV_SPECIALIZATIONS
|
||||
# include "../test/boost_no_cv_spec.ipp"
|
||||
namespace test = boost_no_cv_specializations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
|
||||
# include "../test/boost_has_tr1_complex_trig.ipp"
|
||||
namespace test = boost_has_tr1_complex_inverse_trig;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_LOCALE
|
||||
# include "../test/boost_no_std_locale.ipp"
|
||||
namespace test = boost_no_std_locale;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
|
||||
# include "../test/boost_no_dep_val_param.ipp"
|
||||
namespace test = boost_no_dependent_types_in_template_value_parameters;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_USING_TEMPLATE
|
||||
# include "../test/boost_no_using_template.ipp"
|
||||
namespace test = boost_no_using_template;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_LIMITS
|
||||
# include "../test/boost_no_limits.ipp"
|
||||
namespace test = boost_no_limits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_THREAD
|
||||
# include "../test/boost_no_cxx11_hdr_thread.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_thread;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_RTTI
|
||||
# include "../test/boost_no_rtti.ipp"
|
||||
namespace test = boost_no_rtti;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
# include "../test/boost_no_fixed_len_variadic_templates.ipp"
|
||||
namespace test = boost_no_cxx11_fixed_length_variadic_template_expansion_packs;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_LONG_LONG_NUMERIC_LIMITS
|
||||
# include "../test/boost_no_ll_limits.ipp"
|
||||
namespace test = boost_no_long_long_numeric_limits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CWCTYPE
|
||||
# include "../test/boost_no_cwctype.ipp"
|
||||
namespace test = boost_no_cwctype;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_SLIST
|
||||
# include "../test/boost_has_slist.ipp"
|
||||
namespace test = boost_has_slist;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_TYPE_TRAITS
|
||||
# include "../test/boost_has_tr1_type_traits.ipp"
|
||||
namespace test = boost_has_tr1_type_traits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_GETTIMEOFDAY
|
||||
# include "../test/boost_has_gettimeofday.ipp"
|
||||
namespace test = boost_has_gettimeofday;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_PTHREADS
|
||||
# include "../test/boost_has_pthreads.ipp"
|
||||
namespace test = boost_has_pthreads;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_DEDUCED_TYPENAME
|
||||
# include "../test/boost_no_ded_typename.ipp"
|
||||
namespace test = boost_deduced_typename;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_CLOCK_GETTIME
|
||||
# include "../test/boost_has_clock_gettime.ipp"
|
||||
namespace test = boost_has_clock_gettime;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# include "../test/boost_no_cxx11_hdr_condition_variable.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_condition_variable;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STRINGSTREAM
|
||||
# include "../test/boost_no_sstream.ipp"
|
||||
namespace test = boost_no_stringstream;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
# include "../test/boost_no_cxx11_hdr_system_error.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_system_error;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_BETHREADS
|
||||
# include "../test/boost_has_bethreads.ipp"
|
||||
namespace test = boost_has_bethreads;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# include "../test/boost_no_cxx11_trailing_result_types.ipp"
|
||||
namespace test = boost_no_cxx11_trailing_result_types;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# include "../test/boost_no_cxx11_hdr_atomic.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_atomic;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_SHARED_PTR
|
||||
# include "../test/boost_has_tr1_shared_ptr.ipp"
|
||||
namespace test = boost_has_tr1_shared_ptr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_STD_ALIGN
|
||||
# include "../test/boost_no_cxx11_std_align.ipp"
|
||||
namespace test = boost_no_cxx11_std_align;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CWCHAR
|
||||
# include "../test/boost_no_cwchar.ipp"
|
||||
namespace test = boost_no_cwchar;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_MUTEX
|
||||
# include "../test/boost_no_cxx11_hdr_mutex.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_mutex;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
# include "../test/boost_no_dep_nested_class.ipp"
|
||||
namespace test = boost_no_dependent_nested_derivations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# include "../test/boost_no_cxx11_ref_qualifiers.ipp"
|
||||
namespace test = boost_no_cxx11_ref_qualifiers;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_BIND
|
||||
# include "../test/boost_has_tr1_bind.ipp"
|
||||
namespace test = boost_has_tr1_bind;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_MSVC_STD_ITERATOR
|
||||
# include "../test/boost_has_vc_iterator.ipp"
|
||||
namespace test = boost_msvc_std_iterator;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_CHRONO
|
||||
# include "../test/boost_no_cxx11_hdr_chrono.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_chrono;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_USE_FACET
|
||||
# include "../test/boost_no_std_use_facet.ipp"
|
||||
namespace test = boost_no_std_use_facet;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
|
||||
# include "../test/boost_no_iter_construct.ipp"
|
||||
namespace test = boost_no_templated_iterator_constructors;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_STLP_USE_FACET
|
||||
# include "../test/boost_has_stlp_use_facet.ipp"
|
||||
namespace test = boost_has_stlp_use_facet;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_DISTANCE
|
||||
# include "../test/boost_no_std_distance.ipp"
|
||||
namespace test = boost_no_std_distance;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TEMPLATE_TEMPLATES
|
||||
# include "../test/boost_no_template_template.ipp"
|
||||
namespace test = boost_no_template_templates;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_SFINAE_EXPR
|
||||
# include "../test/boost_no_sfinae_expr.ipp"
|
||||
namespace test = boost_no_sfinae_expr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_VARIADIC_TMPL
|
||||
# include "../test/boost_has_variadic_tmpl.ipp"
|
||||
namespace test = boost_has_variadic_tmpl;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_TUPLE
|
||||
# include "../test/boost_has_tr1_tuple.ipp"
|
||||
namespace test = boost_has_tr1_tuple;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_STDINT_H
|
||||
# include "../test/boost_has_stdint_h.ipp"
|
||||
namespace test = boost_has_stdint_h;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_CHAR16_T
|
||||
# include "../test/boost_no_char16_t.ipp"
|
||||
namespace test = boost_no_cxx11_char16_t;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# include "../test/boost_no_range_based_for.ipp"
|
||||
namespace test = boost_no_cxx11_range_based_for;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_VOID_RETURNS
|
||||
# include "../test/boost_no_void_returns.ipp"
|
||||
namespace test = boost_no_void_returns;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_CODECVT
|
||||
# include "../test/boost_no_cxx11_hdr_codecvt.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_codecvt;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_AUTO_PTR
|
||||
# include "../test/boost_no_auto_ptr.ipp"
|
||||
namespace test = boost_no_auto_ptr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_REGEX
|
||||
# include "../test/boost_no_cxx11_hdr_regex.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_regex;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_MESSAGES
|
||||
# include "../test/boost_no_std_messages.ipp"
|
||||
namespace test = boost_no_std_messages;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
|
||||
# include "../test/boost_no_bcb_partial_spec.ipp"
|
||||
namespace test = boost_bcb_partial_specialization_bug;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_UNORDERED_SET
|
||||
# include "../test/boost_no_cxx11_hdr_unordered_set.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_unordered_set;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_FUNCTION
|
||||
# include "../test/boost_has_tr1_function.ipp"
|
||||
namespace test = boost_has_tr1_function;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_REFERENCE_WRAPPER
|
||||
# include "../test/boost_has_tr1_ref_wrap.ipp"
|
||||
namespace test = boost_has_tr1_reference_wrapper;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_STATIC_ASSERT
|
||||
# include "../test/boost_has_static_assert.ipp"
|
||||
namespace test = boost_has_static_assert;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# include "../test/boost_no_auto_multidecl.ipp"
|
||||
namespace test = boost_no_cxx11_auto_multideclarations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_TUPLE
|
||||
# include "../test/boost_no_cxx11_hdr_tuple.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_tuple;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_SCHED_YIELD
|
||||
# include "../test/boost_has_sched_yield.ipp"
|
||||
namespace test = boost_has_sched_yield;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_SMART_PTR
|
||||
# include "../test/boost_no_cxx11_smart_ptr.ipp"
|
||||
namespace test = boost_no_cxx11_smart_ptr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_ADL_BARRIER
|
||||
# include "../test/boost_no_adl_barrier.ipp"
|
||||
namespace test = boost_no_adl_barrier;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# include "../test/boost_no_explicit_cvt_ops.ipp"
|
||||
namespace test = boost_no_cxx11_explicit_conversion_operators;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# include "../test/boost_no_auto_declarations.ipp"
|
||||
namespace test = boost_no_cxx11_auto_declarations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
# include "../test/boost_no_unicode_literals.ipp"
|
||||
namespace test = boost_no_cxx11_unicode_literals;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_HASH
|
||||
# include "../test/boost_has_tr1_hash.ipp"
|
||||
namespace test = boost_has_tr1_hash;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# include "../test/boost_no_mem_templ_frnds.ipp"
|
||||
namespace test = boost_no_member_template_friends;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# include "../test/boost_no_scoped_enums.ipp"
|
||||
namespace test = boost_no_cxx11_scoped_enums;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_MS_INT64
|
||||
# include "../test/boost_has_ms_int64.ipp"
|
||||
namespace test = boost_has_ms_int64;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_RAW_LITERALS
|
||||
# include "../test/boost_no_raw_literals.ipp"
|
||||
namespace test = boost_no_cxx11_raw_literals;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_IOSTREAM
|
||||
# include "../test/boost_no_iostream.ipp"
|
||||
namespace test = boost_no_iostream;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||
# include "../test/boost_no_cxx11_atomic_sp.ipp"
|
||||
namespace test = boost_no_cxx11_atomic_smart_ptr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_EXPM1
|
||||
# include "../test/boost_has_expm1.ipp"
|
||||
namespace test = boost_has_expm1;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# include "../test/boost_no_partial_spec.ipp"
|
||||
namespace test = boost_no_template_partial_specialization;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_ITERATOR
|
||||
# include "../test/boost_no_std_iterator.ipp"
|
||||
namespace test = boost_no_std_iterator;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
# include "../test/boost_has_pthread_ma_st.ipp"
|
||||
namespace test = boost_has_pthread_mutexattr_settype;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
# include "../test/boost_no_arg_dep_lookup.ipp"
|
||||
namespace test = boost_no_argument_dependent_lookup;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_ALLOCATOR
|
||||
# include "../test/boost_no_std_allocator.ipp"
|
||||
namespace test = boost_no_std_allocator;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
|
||||
# include "../test/boost_no_function_type_spec.ipp"
|
||||
namespace test = boost_no_function_type_specializations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_MEMBER_TEMPLATES
|
||||
# include "../test/boost_no_mem_templates.ipp"
|
||||
namespace test = boost_no_member_templates;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_STATIC_ASSERT
|
||||
# include "../test/boost_no_static_assert.ipp"
|
||||
namespace test = boost_no_cxx11_static_assert;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# include "../test/boost_no_template_aliases.ipp"
|
||||
namespace test = boost_no_cxx11_template_aliases;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
|
||||
# include "../test/boost_no_exp_func_tem_arg.ipp"
|
||||
namespace test = boost_no_explicit_function_template_arguments;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_MS_INT64_NUMERIC_LIMITS
|
||||
# include "../test/boost_no_i64_limits.ipp"
|
||||
namespace test = boost_no_ms_int64_numeric_limits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_RANDOM
|
||||
# include "../test/boost_no_cxx11_hdr_random.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_random;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
||||
# include "../test/boost_no_func_tmp_order.ipp"
|
||||
namespace test = boost_no_function_template_ordering;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_PARTIAL_STD_ALLOCATOR
|
||||
# include "../test/boost_has_part_alloc.ipp"
|
||||
namespace test = boost_has_partial_std_allocator;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TYPEID
|
||||
# include "../test/boost_no_typeid.ipp"
|
||||
namespace test = boost_no_typeid;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TYPENAME_WITH_CTOR
|
||||
# include "../test/boost_no_typename_with_ctor.ipp"
|
||||
namespace test = boost_no_typename_with_ctor;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_ARRAY
|
||||
# include "../test/boost_no_cxx11_hdr_array.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_array;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_MEM_FN
|
||||
# include "../test/boost_has_tr1_mem_fn.ipp"
|
||||
namespace test = boost_has_tr1_mem_fn;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_ALIGNAS
|
||||
# include "../test/boost_no_cxx11_alignas.ipp"
|
||||
namespace test = boost_no_cxx11_alignas;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
|
||||
# include "../test/boost_no_using_decl_overld.ipp"
|
||||
namespace test = boost_no_using_declaration_overloads_from_typename_base;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_PTHREAD_YIELD
|
||||
# include "../test/boost_has_pthread_yield.ipp"
|
||||
namespace test = boost_has_pthread_yield;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
# include "../test/boost_no_inline_memb_init.ipp"
|
||||
namespace test = boost_no_inclass_member_initialization;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_TYPEINFO
|
||||
# include "../test/boost_no_std_typeinfo.ipp"
|
||||
namespace test = boost_no_std_typeinfo;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
# include "../test/boost_no_variadic_macros.ipp"
|
||||
namespace test = boost_no_cxx11_variadic_macros;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
# include "../test/boost_no_using_breaks_adl.ipp"
|
||||
namespace test = boost_function_scope_using_declaration_breaks_adl;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_WSTRING
|
||||
# include "../test/boost_no_std_wstring.ipp"
|
||||
namespace test = boost_no_std_wstring;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CTYPE_FUNCTIONS
|
||||
# include "../test/boost_no_ctype_functions.ipp"
|
||||
namespace test = boost_no_ctype_functions;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_NULLPTR
|
||||
# include "../test/boost_no_nullptr.ipp"
|
||||
namespace test = boost_no_cxx11_nullptr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_MEMBER_TEMPLATE_KEYWORD
|
||||
# include "../test/boost_no_mem_tem_keyword.ipp"
|
||||
namespace test = boost_no_member_template_keyword;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# include "../test/boost_no_rvalue_references.ipp"
|
||||
namespace test = boost_no_cxx11_rvalue_references;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_PRIVATE_IN_AGGREGATE
|
||||
# include "../test/boost_no_priv_aggregate.ipp"
|
||||
namespace test = boost_no_private_in_aggregate;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_ALLOCATOR
|
||||
# include "../test/boost_no_cxx11_allocator.ipp"
|
||||
namespace test = boost_no_cxx11_allocator;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_SWPRINTF
|
||||
# include "../test/boost_no_swprintf.ipp"
|
||||
namespace test = boost_no_swprintf;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_FINAL
|
||||
# include "../test/boost_no_cxx11_final.ipp"
|
||||
namespace test = boost_no_cxx11_final;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STDC_NAMESPACE
|
||||
# include "../test/boost_no_stdc_namespace.ipp"
|
||||
namespace test = boost_no_stdc_namespace;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
# include "../test/boost_no_two_phase_lookup.ipp"
|
||||
namespace test = boost_no_two_phase_name_lookup;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||
# include "../test/boost_no_cxx11_hdr_forward_list.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_forward_list;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
|
||||
# include "../test/boost_no_std_oi_assign.ipp"
|
||||
namespace test = boost_no_std_output_iterator_assign;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_UTILITY
|
||||
# include "../test/boost_has_tr1_utility.ipp"
|
||||
namespace test = boost_has_tr1_utility;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
# include "../test/boost_no_cxx11_non_pub_def_fun.ipp"
|
||||
namespace test = boost_no_cxx11_non_public_defaulted_functions;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_DIRENT_H
|
||||
# include "../test/boost_has_dirent_h.ipp"
|
||||
namespace test = boost_has_dirent_h;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_NESTED_FRIENDSHIP
|
||||
# include "../test/boost_no_nested_friendship.ipp"
|
||||
namespace test = boost_no_nested_friendship;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_POINTER_TO_MEMBER_CONST
|
||||
# include "../test/boost_no_ptr_mem_const.ipp"
|
||||
namespace test = boost_no_pointer_to_member_const;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_FTIME
|
||||
# include "../test/boost_has_ftime.ipp"
|
||||
namespace test = boost_has_ftime;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return test::test();
|
||||
}
|
||||
|
65
doc/build_time.qbk
Normal file
65
doc/build_time.qbk
Normal file
@ -0,0 +1,65 @@
|
||||
|
||||
[section:build_config Build Time Configuration]
|
||||
|
||||
There are times when you want to control whether a build target gets built or not, based
|
||||
on what features the compiler supports. For example, suppose you have a test file
|
||||
"test_constexpr_128.cpp" which requires three key features in order to build:
|
||||
|
||||
* The `constexpr` keyword as detected by BOOST_NO_CXX11_CONSTEXPR.
|
||||
* User defined literals, as detected by BOOST_NO_CXX11_USER_DEFINED_LITERALS.
|
||||
* The `__int128` data type, as detected by BOOST_HAS_INT128.
|
||||
|
||||
Clearly we know that if these features are not supported by the compiler, then
|
||||
there's simply no point in even trying to build the test program. The main advantages being:
|
||||
|
||||
* Faster compile times - build configuration uses lightweight tests the results of which are also cached.
|
||||
* Less noise in build output - there's no reason to be faced with pages of template
|
||||
instantiation backtrace if we know the file can never compile anyway.
|
||||
* Less noise in the online test results - the test will show up as blank, rather than as a fail
|
||||
in the online test matrix.
|
||||
* A better experience for end users building all of Boost, if those libraries which can not be built
|
||||
for the current target compiler are simply skipped, rather than generating pages of error output.
|
||||
|
||||
Returning to our example, the test case is probably executed in it's Jamfile via the "run" rule:
|
||||
|
||||
run test_constexpr_128.cpp ;
|
||||
|
||||
We now need to make this target conditional on the necessary features.
|
||||
We can do that by first importing the necessary rule at the start of the Jamfile:
|
||||
|
||||
import path-to-config-lib/checks/config : requires ;
|
||||
|
||||
Assuming that the test case is in the usual directory:
|
||||
|
||||
libs/yourlib/test
|
||||
|
||||
then the import rule will actually be:
|
||||
|
||||
import ../../config/checks/config : requires ;
|
||||
|
||||
Then add a "requires" rule invocation to the requirements section of the target:
|
||||
|
||||
run test_constexpr_128.cpp
|
||||
: : : #requirements:
|
||||
[ requires cxx11_constexpr cxx11_user_defined_literals int128 ] ;
|
||||
|
||||
Notice that multiple arguments can be added to the requires rule, and that these are
|
||||
always the same as the Boost.Config macro name, but in lower case and with the ['boost_no_]
|
||||
or ['boost_has_] prefix removed.
|
||||
|
||||
When building the above example, you will see at the start of the build process the results
|
||||
of the configuration, for example GCC in C++11 mode gives:
|
||||
|
||||
- Boost.Config Feature Check: int128 : yes
|
||||
- Boost.Config Feature Check: cxx11_constexpr : yes
|
||||
- Boost.Config Feature Check: cxx11_user_defined_literals : yes
|
||||
|
||||
That's all there is to this handy feature, should at any time you be unsure of the feature-test
|
||||
names you can pass to the "requires" rule, then search for the Boost.Config macro of interest in
|
||||
libs/config/checks/Jamfiles.v2, and the name of the feature check will follow it.
|
||||
|
||||
And finally, this feature is built around the Boost.Build built in rule ['check-target-builds]
|
||||
which can be used to perform more generalized build-time feature testing. The checks in this
|
||||
library are provided as a convenient shorthand without the need for you to write the test cases yourself.
|
||||
|
||||
[endsect]
|
@ -50,6 +50,7 @@ Distributed under the Boost Software License, Version 1.0.
|
||||
|
||||
[include configuring_boost.qbk]
|
||||
[include macro_reference.qbk]
|
||||
[include build_time.qbk]
|
||||
[include cstdint.qbk]
|
||||
[include guidelines.qbk]
|
||||
[include rationale.qbk]
|
||||
|
@ -7,7 +7,7 @@
|
||||
<link rel="home" href="../index.html" title="Boost.Config">
|
||||
<link rel="up" href="../index.html" title="Boost.Config">
|
||||
<link rel="prev" href="../index.html" title="Boost.Config">
|
||||
<link rel="next" href="cstdint.html" title="Standard Integer Types">
|
||||
<link rel="next" href="build_config.html" title="Build Time Configuration">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cstdint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="build_config.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
@ -1663,6 +1663,29 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_HAS_PRAGMA_DETECT_MISMATCH</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Compiler
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler recognizes the <code class="computeroutput"><span class="preprocessor">#pragma</span>
|
||||
<span class="identifier">detect_mismatch</span><span class="special">(</span><span class="string">"name"</span><span class="special">,</span>
|
||||
<span class="string">"value"</span><span class="special">)</span></code>
|
||||
directive which tells that the link stage should be terminated
|
||||
with error if values for provided <code class="computeroutput"><span class="string">"name"</span></code>
|
||||
missmatch. This pragma may be a help in preventing ODR violations
|
||||
and ensuring that different modules are compiled with same flags.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREAD_DELAY_NP</span></code>
|
||||
@ -2427,6 +2450,190 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_DECLARATIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type deduction for variables declared
|
||||
with the <code class="computeroutput"><span class="keyword">auto</span></code> keyword
|
||||
(<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
|
||||
<span class="special">=</span> <span class="special">...;</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type deduction for multiple variables
|
||||
declared with the <code class="computeroutput"><span class="keyword">auto</span></code>
|
||||
keyword (<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
|
||||
<span class="special">=</span> <span class="special">...,</span>
|
||||
<span class="special">*</span><span class="identifier">ptr</span>
|
||||
<span class="special">=</span> <span class="special">...;</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CHAR16_T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type <code class="computeroutput"><span class="keyword">char16_t</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CHAR32_T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type <code class="computeroutput"><span class="keyword">char32_t</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CONSTEXPR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">constexpr</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DECLTYPE</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">decltype</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DECLTYPE_N3276</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support the extension to <code class="computeroutput"><span class="keyword">decltype</span></code>
|
||||
described in <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf" target="_top">N3276</a>,
|
||||
accepted in Madrid, March 2011.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DELETED_FUNCTIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support deleted (<code class="computeroutput"><span class="special">=</span>
|
||||
<span class="keyword">delete</span></code>) functions.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DEFAULTED_FUNCTIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support defaulted (<code class="computeroutput"><span class="special">=</span>
|
||||
<span class="keyword">default</span></code>) functions.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support explicit conversion operators (<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">operator</span>
|
||||
<span class="identifier">T</span><span class="special">()</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_EXTERN_TEMPLATE</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support explicit instantiation forward declarations
|
||||
for templates (<code class="computeroutput"><span class="keyword">extern</span> <span class="keyword">template</span> <span class="special">...</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_FINAL</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support the C++ class-virt-specifier final.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support expanding a variadic template parameter
|
||||
pack into a template containing one or more fixed arguments
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support default template arguments for function
|
||||
templates.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_HDR_ATOMIC</span></code>
|
||||
@ -2680,202 +2887,6 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_SMART_PTR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The standard library header <memory> has no shared_ptr and
|
||||
unique_ptr.
|
||||
</p>
|
||||
</td>
|
||||
</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>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_DECLARATIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type deduction for variables declared
|
||||
with the <code class="computeroutput"><span class="keyword">auto</span></code> keyword
|
||||
(<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
|
||||
<span class="special">=</span> <span class="special">...;</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type deduction for multiple variables
|
||||
declared with the <code class="computeroutput"><span class="keyword">auto</span></code>
|
||||
keyword (<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
|
||||
<span class="special">=</span> <span class="special">...,</span>
|
||||
<span class="special">*</span><span class="identifier">ptr</span>
|
||||
<span class="special">=</span> <span class="special">...;</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CHAR16_T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type <code class="computeroutput"><span class="keyword">char16_t</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CHAR32_T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type <code class="computeroutput"><span class="keyword">char32_t</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_TEMPLATE_ALIASES</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support template aliases.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CONSTEXPR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">constexpr</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DECLTYPE</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">decltype</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DECLTYPE_N3276</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support the extension to <code class="computeroutput"><span class="keyword">decltype</span></code>
|
||||
described in <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf" target="_top">N3276</a>,
|
||||
accepted in Madrid, March 2011.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DEFAULTED_FUNCTIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support defaulted (<code class="computeroutput"><span class="special">=</span>
|
||||
<span class="keyword">default</span></code>) functions.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DELETED_FUNCTIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support deleted (<code class="computeroutput"><span class="special">=</span>
|
||||
<span class="keyword">delete</span></code>) functions.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support explicit conversion operators (<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">operator</span>
|
||||
<span class="identifier">T</span><span class="special">()</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_EXTERN_TEMPLATE</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support explicit instantiation forward declarations
|
||||
for templates (<code class="computeroutput"><span class="keyword">extern</span> <span class="keyword">template</span> <span class="special">...</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support default template arguments for function
|
||||
templates.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_LAMBDAS</span></code>
|
||||
@ -2904,13 +2915,19 @@
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG</span></code>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">long</span>
|
||||
<span class="keyword">long</span></code>.
|
||||
The compiler does not support defaulted (<code class="computeroutput"><span class="special">=</span>
|
||||
<span class="keyword">default</span></code>) functions in access
|
||||
control sections other than <code class="computeroutput"><span class="keyword">public</span></code>.
|
||||
Public defaulted functions may still be supported, as indicated
|
||||
by <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DEFAULTED_FUNCTIONS</span></code>.
|
||||
Some compilers implementing an early draft of the C++11 standard
|
||||
(in particular, incorporating <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#906" target="_top">DR906</a>)
|
||||
are susceptible to this problem.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -3000,6 +3017,19 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_SMART_PTR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The standard library header <memory> has no shared_ptr and
|
||||
unique_ptr.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_STATIC_ASSERT</span></code>
|
||||
@ -3012,6 +3042,18 @@
|
||||
</td>
|
||||
</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>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_STD_UNORDERED</span></code>
|
||||
@ -3025,6 +3067,18 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_TEMPLATE_ALIASES</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support template aliases.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_TRAILING_RESULT_TYPES</span></code>
|
||||
@ -3100,6 +3154,19 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">long</span>
|
||||
<span class="keyword">long</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
@ -5613,7 +5680,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cstdint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="build_config.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
144
doc/html/boost_config/build_config.html
Normal file
144
doc/html/boost_config/build_config.html
Normal file
@ -0,0 +1,144 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Build Time Configuration</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="../index.html" title="Boost.Config">
|
||||
<link rel="up" href="../index.html" title="Boost.Config">
|
||||
<link rel="prev" href="boost_macro_reference.html" title="Boost Macro Reference">
|
||||
<link rel="next" href="cstdint.html" title="Standard Integer Types">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cstdint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_config.build_config"></a><a class="link" href="build_config.html" title="Build Time Configuration">Build Time Configuration</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
There are times when you want to control whether a build target gets built
|
||||
or not, based on what features the compiler supports. For example, suppose
|
||||
you have a test file "test_constexpr_128.cpp" which requires three
|
||||
key features in order to build:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||||
<li class="listitem">
|
||||
The <code class="computeroutput"><span class="keyword">constexpr</span></code> keyword as detected
|
||||
by BOOST_NO_CXX11_CONSTEXPR.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
User defined literals, as detected by BOOST_NO_CXX11_USER_DEFINED_LITERALS.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
The <code class="computeroutput"><span class="identifier">__int128</span></code> data type,
|
||||
as detected by BOOST_HAS_INT128.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
Clearly we know that if these features are not supported by the compiler, then
|
||||
there's simply no point in even trying to build the test program. The main
|
||||
advantages being:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||||
<li class="listitem">
|
||||
Faster compile times - build configuration uses lightweight tests the results
|
||||
of which are also cached.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Less noise in build output - there's no reason to be faced with pages of
|
||||
template instantiation backtrace if we know the file can never compile
|
||||
anyway.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Less noise in the online test results - the test will show up as blank,
|
||||
rather than as a fail in the online test matrix.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A better experience for end users building all of Boost, if those libraries
|
||||
which can not be built for the current target compiler are simply skipped,
|
||||
rather than generating pages of error output.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
Returning to our example, the test case is probably executed in it's Jamfile
|
||||
via the "run" rule:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">run</span> <span class="identifier">test_constexpr_128</span><span class="special">.</span><span class="identifier">cpp</span> <span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
We now need to make this target conditional on the necessary features. We can
|
||||
do that by first importing the necessary rule at the start of the Jamfile:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">import</span> <span class="identifier">path</span><span class="special">-</span><span class="identifier">to</span><span class="special">-</span><span class="identifier">config</span><span class="special">-</span><span class="identifier">lib</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">config</span> <span class="special">:</span> <span class="identifier">requires</span> <span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
Assuming that the test case is in the usual directory:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">yourlib</span><span class="special">/</span><span class="identifier">test</span>
|
||||
</pre>
|
||||
<p>
|
||||
then the import rule will actually be:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">import</span> <span class="special">../../</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">config</span> <span class="special">:</span> <span class="identifier">requires</span> <span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
Then add a "requires" rule invocation to the requirements section
|
||||
of the target:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">run</span> <span class="identifier">test_constexpr_128</span><span class="special">.</span><span class="identifier">cpp</span>
|
||||
<span class="special">:</span> <span class="special">:</span> <span class="special">:</span> <span class="special">#</span><span class="identifier">requirements</span><span class="special">:</span>
|
||||
<span class="special">[</span> <span class="identifier">requires</span> <span class="identifier">cxx11_constexpr</span> <span class="identifier">cxx11_user_defined_literals</span> <span class="identifier">int128</span> <span class="special">]</span> <span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
Notice that multiple arguments can be added to the requires rule, and that
|
||||
these are always the same as the Boost.Config macro name, but in lower case
|
||||
and with the <span class="emphasis"><em>boost_no_</em></span> or <span class="emphasis"><em>boost_has_</em></span>
|
||||
prefix removed.
|
||||
</p>
|
||||
<p>
|
||||
When building the above example, you will see at the start of the build process
|
||||
the results of the configuration, for example GCC in C++11 mode gives:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="special">-</span> <span class="identifier">Boost</span><span class="special">.</span><span class="identifier">Config</span> <span class="identifier">Feature</span> <span class="identifier">Check</span><span class="special">:</span> <span class="identifier">int128</span> <span class="special">:</span> <span class="identifier">yes</span>
|
||||
<span class="special">-</span> <span class="identifier">Boost</span><span class="special">.</span><span class="identifier">Config</span> <span class="identifier">Feature</span> <span class="identifier">Check</span><span class="special">:</span> <span class="identifier">cxx11_constexpr</span> <span class="special">:</span> <span class="identifier">yes</span>
|
||||
<span class="special">-</span> <span class="identifier">Boost</span><span class="special">.</span><span class="identifier">Config</span> <span class="identifier">Feature</span> <span class="identifier">Check</span><span class="special">:</span> <span class="identifier">cxx11_user_defined_literals</span> <span class="special">:</span> <span class="identifier">yes</span>
|
||||
</pre>
|
||||
<p>
|
||||
That's all there is to this handy feature, should at any time you be unsure
|
||||
of the feature-test names you can pass to the "requires" rule, then
|
||||
search for the Boost.Config macro of interest in libs/config/checks/Jamfiles.v2,
|
||||
and the name of the feature check will follow it.
|
||||
</p>
|
||||
<p>
|
||||
And finally, this feature is built around the Boost.Build built in rule <span class="emphasis"><em>check-target-builds</em></span>
|
||||
which can be used to perform more generalized build-time feature testing. The
|
||||
checks in this library are provided as a convenient shorthand without the need
|
||||
for you to write the test cases yourself.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Beman Dawes, Vesa Karvonen, John
|
||||
Maddock<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cstdint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -6,7 +6,7 @@
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="../index.html" title="Boost.Config">
|
||||
<link rel="up" href="../index.html" title="Boost.Config">
|
||||
<link rel="prev" href="boost_macro_reference.html" title="Boost Macro Reference">
|
||||
<link rel="prev" href="build_config.html" title="Build Time Configuration">
|
||||
<link rel="next" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="build_config.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
@ -283,7 +283,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="build_config.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -77,6 +77,7 @@
|
||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code">Macros
|
||||
for libraries with separate source code</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="boost_config/build_config.html">Build Time Configuration</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_config/cstdint.html">Standard Integer Types</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="boost_config/cstdint.html#boost_config.cstdint.overview">Overview</a></span></dt>
|
||||
@ -967,7 +968,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"><p><small>Last revised: June 01, 2014 at 09:50:01 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: August 25, 2014 at 17:53:11 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
@ -399,6 +399,13 @@ containing header should be included only once while preprocessing the
|
||||
current translation unit. The pragma may improve compile times of large projects
|
||||
with some compilers.
|
||||
]]
|
||||
[[`BOOST_HAS_PRAGMA_DETECT_MISMATCH`][Compiler][
|
||||
The compiler recognizes the `#pragma detect_mismatch("name", "value")` directive which tells that the
|
||||
link stage should be terminated with error if values for provided `"name"` missmatch.
|
||||
This pragma may be a help in preventing ODR violations and ensuring that different modules
|
||||
are compiled with same flags.
|
||||
]]
|
||||
|
||||
[[`BOOST_HAS_PTHREAD_DELAY_NP`][Platform][
|
||||
The platform has the POSIX API `pthread_delay_np`.
|
||||
]]
|
||||
@ -582,6 +589,48 @@ that are not yet supported by a particular compiler or library.
|
||||
[[`BOOST_NO_CXX11_ALIGNAS`][The compiler does not support the `alignas` keyword.]]
|
||||
[[`BOOST_NO_CXX11_ALLOCATOR`][The standard library does not provide a C++11 version of `std::allocator` in <memory>.]]
|
||||
[[`BOOST_NO_CXX11_ATOMIC_SMART_PTR`][The standard library <memory> does not support atomic smart pointer operations.]]
|
||||
[[`BOOST_NO_CXX11_AUTO_DECLARATIONS`][The compiler does not support
|
||||
type deduction for variables declared with the `auto` keyword (`auto var = ...;`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS`][The compiler does not support
|
||||
type deduction for multiple variables declared with the `auto` keyword (`auto var = ..., *ptr = ...;`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_CHAR16_T`][The compiler does not support
|
||||
type `char16_t`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_CHAR32_T`][The compiler does not support
|
||||
type `char32_t`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_CONSTEXPR`][The compiler does not support
|
||||
`constexpr`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DECLTYPE`][The compiler does not support
|
||||
`decltype`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DECLTYPE_N3276`][The compiler does not support the extension to
|
||||
`decltype` described in [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf N3276],
|
||||
accepted in Madrid, March 2011.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DELETED_FUNCTIONS`][The compiler does not support
|
||||
deleted (`= delete`) functions.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DEFAULTED_FUNCTIONS`][The compiler does not support
|
||||
defaulted (`= default`) functions.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS`][The compiler does not support
|
||||
explicit conversion operators (`explicit operator T()`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_EXTERN_TEMPLATE`][The compiler does not support
|
||||
explicit instantiation forward declarations for templates (`extern template ...`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_FINAL`][The compiler does not support the C++ class-virt-specifier final.
|
||||
]]
|
||||
[[`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_FUNCTION_TEMPLATE_DEFAULT_ARGS`][The compiler does not support
|
||||
default template arguments for function templates.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_HDR_ATOMIC`][The standard library does not provide header <atomic>.]]
|
||||
[[`BOOST_NO_CXX11_HDR_ARRAY`][The standard library does not provide header <array>.]]
|
||||
[[`BOOST_NO_CXX11_HDR_CHRONO`][The standard library does not provide header <chrono>.]]
|
||||
@ -602,49 +651,8 @@ that are not yet supported by a particular compiler or library.
|
||||
[[`BOOST_NO_CXX11_HDR_TYPE_TRAITS`][The standard library does not provide header <type_traits>.]]
|
||||
[[`BOOST_NO_CXX11_HDR_UNORDERED_MAP`][The standard library does not provide header <unordered_map>.]]
|
||||
[[`BOOST_NO_CXX11_HDR_UNORDERED_SET`][The standard library does not provide header <unordered_set>.]]
|
||||
[[`BOOST_NO_CXX11_INLINE_NAMESPACES`][The compiler does not support inline namespaces.]]
|
||||
[[`BOOST_NO_CXX11_SMART_PTR`][The standard library header <memory> has no shared_ptr and unique_ptr.]]
|
||||
[[`BOOST_NO_CXX11_STD_ALIGN`][The standard library header <memory> has no working std::align.]]
|
||||
|
||||
[[`BOOST_NO_CXX11_AUTO_DECLARATIONS`][The compiler does not support
|
||||
type deduction for variables declared with the `auto` keyword (`auto var = ...;`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS`][The compiler does not support
|
||||
type deduction for multiple variables declared with the `auto` keyword (`auto var = ..., *ptr = ...;`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_CHAR16_T`][The compiler does not support
|
||||
type `char16_t`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_CHAR32_T`][The compiler does not support
|
||||
type `char32_t`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_TEMPLATE_ALIASES`][The compiler does not support template aliases.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_CONSTEXPR`][The compiler does not support
|
||||
`constexpr`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DECLTYPE`][The compiler does not support
|
||||
`decltype`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DECLTYPE_N3276`][The compiler does not support the extension to
|
||||
`decltype` described in [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf N3276],
|
||||
accepted in Madrid, March 2011.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DEFAULTED_FUNCTIONS`][The compiler does not support
|
||||
defaulted (`= default`) functions.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DELETED_FUNCTIONS`][The compiler does not support
|
||||
deleted (`= delete`) functions.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS`][The compiler does not support
|
||||
explicit conversion operators (`explicit operator T()`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_EXTERN_TEMPLATE`][The compiler does not support
|
||||
explicit instantiation forward declarations for templates (`extern template ...`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS`][The compiler does not support
|
||||
default template arguments for function templates.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_INLINE_NAMESPACES`][The compiler does not support inline namespaces.]]
|
||||
[[`BOOST_NO_CXX11_LAMBDAS`][The compiler does not support Lambdas.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS`][The compiler does not allow to
|
||||
@ -652,7 +660,11 @@ pass local classes as template parameters (this macro intentionally does not
|
||||
control passing of unnamed types as template parameters, see also
|
||||
[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm N2657]).
|
||||
]]
|
||||
[[`BOOST_NO_LONG_LONG`][The compiler does not support `long long`.
|
||||
[[`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
|
||||
compilers implementing an early draft of the C++11 standard (in particular, incorporating
|
||||
[@http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#906 DR906]) are susceptible to this problem.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_NOEXCEPT`][The compiler does not support `noexcept`.
|
||||
]]
|
||||
@ -674,12 +686,16 @@ r-value references.
|
||||
[[`BOOST_NO_CXX11_SCOPED_ENUMS`][The compiler does not support
|
||||
scoped enumerations (`enum class`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_SMART_PTR`][The standard library header <memory> has no shared_ptr and unique_ptr.]]
|
||||
[[`BOOST_NO_CXX11_STATIC_ASSERT`][The compiler does not support
|
||||
`static_assert`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_STD_ALIGN`][The standard library header <memory> has no working std::align.]]
|
||||
[[`BOOST_NO_CXX11_STD_UNORDERED`][The standard library does not support
|
||||
<unordered_map> and <unordered_set>.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_TEMPLATE_ALIASES`][The compiler does not support template aliases.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_TRAILING_RESULT_TYPES`][The compiler does not support the new function result type
|
||||
specification syntax (e.g. `auto foo(T) -> T;`).]]
|
||||
[[`BOOST_NO_CXX11_UNICODE_LITERALS`][The compiler does not support
|
||||
@ -696,6 +712,8 @@ variadic templates.
|
||||
[[`BOOST_NO_CXX11_VARIADIC_MACROS`][The compiler does not support
|
||||
variadic macros.
|
||||
]]
|
||||
[[`BOOST_NO_LONG_LONG`][The compiler does not support `long long`.
|
||||
]]
|
||||
]
|
||||
|
||||
[endsect]
|
||||
|
@ -195,6 +195,7 @@
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
|
||||
#if __BORLANDC__ >= 0x590
|
||||
# define BOOST_HAS_TR1_HASH
|
||||
|
@ -10,6 +10,11 @@
|
||||
|
||||
#define BOOST_HAS_PRAGMA_ONCE
|
||||
|
||||
// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used.
|
||||
#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
|
||||
# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
|
||||
#endif
|
||||
|
||||
// When compiling with clang before __has_extension was defined,
|
||||
// even if one writes 'defined(__has_extension) && __has_extension(xxx)',
|
||||
// clang reports a compiler error. So the only workaround found is:
|
||||
@ -188,6 +193,10 @@
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_override_control)
|
||||
# define BOOST_NO_CXX11_FINAL
|
||||
#endif
|
||||
|
||||
// Clang always supports variadic macros
|
||||
// Clang always supports extern templates
|
||||
|
||||
|
@ -121,6 +121,7 @@
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
|
||||
//
|
||||
// TR1 macros:
|
||||
|
@ -105,6 +105,7 @@
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
|
||||
#ifdef c_plusplus
|
||||
// EDG has "long long" in non-strict mode
|
||||
|
@ -59,6 +59,7 @@
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
|
||||
#define BOOST_MATH_DISABLE_STD_FPCLASSIFY
|
||||
//#define BOOST_HAS_FPCLASSIFY
|
||||
|
@ -81,6 +81,7 @@
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
|
||||
#if (__DMC__ <= 0x840)
|
||||
#error "Compiler not supported or configured - please reconfigure"
|
||||
|
@ -154,14 +154,6 @@
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
|
||||
// Variadic templates compiler:
|
||||
// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
|
||||
# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
# define BOOST_HAS_VARIADIC_TMPL
|
||||
# else
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.4.n and later
|
||||
@ -176,6 +168,7 @@
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
|
||||
@ -183,7 +176,7 @@
|
||||
#endif
|
||||
|
||||
// GCC 4.5 forbids declaration of defaulted functions in private or protected sections
|
||||
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 5)
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
@ -218,8 +211,10 @@
|
||||
// C++0x features in 4.7.n and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# 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
|
||||
|
@ -59,6 +59,7 @@
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
|
||||
#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__
|
||||
|
||||
|
@ -34,11 +34,14 @@
|
||||
# define BOOST_INTEL_STDCXX0X
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_INTEL_STDCXX0X
|
||||
#define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
|
||||
#else
|
||||
#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
|
||||
#if !defined(BOOST_COMPILER)
|
||||
# if defined(BOOST_INTEL_STDCXX0X)
|
||||
# define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
|
||||
# else
|
||||
# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define BOOST_INTEL BOOST_INTEL_CXX_VERSION
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
@ -157,6 +160,24 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
|
||||
#endif
|
||||
|
||||
// RTTI
|
||||
// __RTTI is the EDG macro
|
||||
// __INTEL_RTTI__ is the Intel macro
|
||||
// __GXX_RTTI is the g++ macro
|
||||
// _CPPRTTI is the MSVC++ macro
|
||||
#if !defined(__RTTI) && !defined(__INTEL_RTTI__) && !defined(__GXX_RTTI) && !defined(_CPPRTTI)
|
||||
|
||||
#if !defined(BOOST_NO_RTTI)
|
||||
# define BOOST_NO_RTTI
|
||||
#endif
|
||||
|
||||
// in MS mode, static typeid works even when RTTI is off
|
||||
#if !defined(_MSC_VER) && !defined(BOOST_NO_TYPEID)
|
||||
# define BOOST_NO_TYPEID
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Intel prior to version 6.0:
|
||||
@ -184,7 +205,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
// (Niels Dekker, LKEB, May 2010)
|
||||
// Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression).
|
||||
#if defined(__INTEL_COMPILER)
|
||||
# if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1500))
|
||||
# if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1600))
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
# endif
|
||||
#endif
|
||||
@ -251,6 +272,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
# undef BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# undef BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
# undef BOOST_NO_CXX11_FINAL
|
||||
#endif
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1310)
|
||||
# undef BOOST_NO_SFINAE_EXPR
|
||||
@ -268,6 +290,21 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
# undef BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(_MSC_VER) || (_MSC_VER >= 1800))
|
||||
# undef BOOST_NO_CXX11_ADDRESSOF
|
||||
# undef BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# undef BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# undef BOOST_NO_CXX11_RAW_LITERALS
|
||||
# undef BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1500) && !defined(_MSC_VER)
|
||||
# undef BOOST_NO_CXX11_ALIGNAS
|
||||
# undef BOOST_NO_CXX11_CONSTEXPR
|
||||
# undef BOOST_NO_CXX11_NOEXCEPT
|
||||
# undef BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310)
|
||||
# define BOOST_NO_CXX11_HDR_FUTURE
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
@ -279,6 +316,10 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
# define BOOST_NO_CXX11_HDR_TUPLE
|
||||
#endif
|
||||
|
||||
#if BOOST_INTEL_CXX_VERSION <= 1500
|
||||
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER <= 1700)
|
||||
//
|
||||
// Although the Intel compiler is capable of supporting these, it appears not to in MSVC compatibility mode:
|
||||
@ -300,11 +341,19 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
# define BOOST_NO_FENV_H
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
|
||||
# define BOOST_HAS_STDINT_H
|
||||
// Intel 13.10 fails to access defaulted functions of a base class declared in private or protected sections,
|
||||
// producing the following errors:
|
||||
// error #453: protected function "..." (declared at ...") is not accessible through a "..." pointer or object
|
||||
#if (BOOST_INTEL_CXX_VERSION <= 1310)
|
||||
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310)
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
|
||||
# define BOOST_HAS_STDINT_H
|
||||
# undef BOOST_NO_CXX11_FINAL
|
||||
#endif
|
||||
|
||||
#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(__CUDACC__)
|
||||
# define BOOST_HAS_INT128
|
||||
#endif
|
||||
|
||||
|
@ -124,6 +124,7 @@
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
|
||||
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
||||
|
||||
|
@ -73,6 +73,7 @@
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
//
|
||||
// versions check:
|
||||
// we don't support MPW prior to version 8.9:
|
||||
|
@ -81,4 +81,5 @@
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# define BOOST_NO_CXX11_FINAL
|
||||
#endif
|
||||
|
@ -119,6 +119,7 @@
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
|
||||
//
|
||||
// version check:
|
||||
|
@ -132,6 +132,7 @@
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
|
||||
//
|
||||
// Version
|
||||
|
@ -130,3 +130,4 @@
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
|
@ -104,6 +104,9 @@
|
||||
#if (_MSC_VER >= 1400) && !defined(_DEBUG)
|
||||
# define BOOST_HAS_NRVO
|
||||
#endif
|
||||
#if _MSC_VER >= 1500 // 150X == VC++ 9.0
|
||||
# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
|
||||
#endif
|
||||
//
|
||||
// disable Win32 API's if compiler extensions are
|
||||
// turned off:
|
||||
@ -149,6 +152,7 @@
|
||||
// C++11 features supported by VC++ 11 (aka 2012)
|
||||
//
|
||||
#if _MSC_VER < 1700
|
||||
# define BOOST_NO_CXX11_FINAL
|
||||
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif // _MSC_VER < 1700
|
||||
@ -168,18 +172,25 @@
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#endif
|
||||
|
||||
// C++11 features supported by VC++ 14 (aka 2014) CTP1
|
||||
// Because the CTP is unsupported, unrelease, and only alpha quality,
|
||||
// it is only supported if BOOST_MSVC_ENABLE_2014_JUN_CTP is defined.
|
||||
//
|
||||
#if (_MSC_FULL_VER < 190021730) || !defined(BOOST_MSVC_ENABLE_2014_JUN_CTP)
|
||||
# define BOOST_NO_CXX11_NOEXCEPT
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#endif
|
||||
|
||||
// C++11 features not supported by any versions
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
|
||||
//
|
||||
// prefix and suffix headers:
|
||||
@ -243,6 +254,8 @@
|
||||
# define BOOST_COMPILER_VERSION 11.0
|
||||
# elif _MSC_VER < 1900
|
||||
# define BOOST_COMPILER_VERSION 12.0
|
||||
# elif _MSC_VER < 2000
|
||||
# define BOOST_COMPILER_VERSION 14.0
|
||||
# else
|
||||
# define BOOST_COMPILER_VERSION _MSC_VER
|
||||
# endif
|
||||
@ -252,8 +265,8 @@
|
||||
#endif
|
||||
|
||||
//
|
||||
// last known and checked version is 18.00.20827.3 (VC12 RC, aka 2013 RC):
|
||||
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 180020827)
|
||||
// last known and checked version is 19.00.21901.1 (VC14 CTP2):
|
||||
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 190021901)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
|
@ -39,7 +39,8 @@
|
||||
// Intel
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
|
||||
|
||||
#elif defined __clang__
|
||||
#elif defined __clang__ && !defined(__CUDACC__)
|
||||
// when using clang and cuda at same time, you want to appear as gcc
|
||||
// Clang C++ emulates GCC, so it has to appear early.
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp"
|
||||
|
||||
|
@ -147,6 +147,12 @@
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400)
|
||||
// Intel's compiler can't handle this header yet:
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
#endif
|
||||
|
||||
|
||||
// 520..610 have std::addressof, but it doesn't support functions
|
||||
//
|
||||
# define BOOST_NO_CXX11_ADDRESSOF
|
||||
|
@ -31,6 +31,30 @@
|
||||
# define BOOST_NO_CXX11_ALLOCATOR
|
||||
#endif
|
||||
|
||||
#if __cpluplus < 201103
|
||||
# define BOOST_NO_CXX11_HDR_ARRAY
|
||||
# define BOOST_NO_CXX11_HDR_CODECVT
|
||||
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define BOOST_NO_CXX11_HDR_MUTEX
|
||||
# define BOOST_NO_CXX11_HDR_RANDOM
|
||||
# define BOOST_NO_CXX11_HDR_RATIO
|
||||
# define BOOST_NO_CXX11_HDR_REGEX
|
||||
# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
# define BOOST_NO_CXX11_HDR_THREAD
|
||||
# define BOOST_NO_CXX11_HDR_TUPLE
|
||||
# define BOOST_NO_CXX11_HDR_TYPEINDEX
|
||||
# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
|
||||
# define BOOST_NO_CXX11_HDR_UNORDERED_SET
|
||||
# define BOOST_NO_CXX11_NUMERIC_LIMITS
|
||||
# define BOOST_NO_CXX11_ALLOCATOR
|
||||
# define BOOST_NO_CXX11_SMART_PTR
|
||||
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
# define BOOST_NO_CXX11_ADDRESSOF
|
||||
#endif
|
||||
|
||||
//
|
||||
// These appear to be unusable/incomplete so far:
|
||||
//
|
||||
|
@ -1,5 +1,5 @@
|
||||
// Boost config.hpp configuration header file ------------------------------//
|
||||
// boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file
|
||||
// boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file
|
||||
|
||||
// Copyright (c) 2001-2003 John Maddock
|
||||
// Copyright (c) 2001 Darin Adler
|
||||
@ -646,6 +646,11 @@ namespace std{ using ::type_info; }
|
||||
# define BOOST_ALIGNMENT(x)
|
||||
#endif
|
||||
|
||||
// Lack of non-public defaulted functions is implied by the lack of any defaulted functions
|
||||
#if !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS) && defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
|
||||
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
// Defaulted and deleted function declaration helpers
|
||||
// These macros are intended to be inside a class definition.
|
||||
// BOOST_DEFAULTED_FUNCTION accepts the function declaration and its
|
||||
@ -681,7 +686,7 @@ namespace std{ using ::type_info; }
|
||||
// Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined
|
||||
//
|
||||
#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276)
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE
|
||||
#endif
|
||||
|
||||
// -------------------- Deprecated macros for 1.50 ---------------------------
|
||||
@ -957,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,
|
||||
|
@ -19,7 +19,7 @@
|
||||
// BOOST_VERSION / 100 % 1000 is the minor version
|
||||
// BOOST_VERSION / 100000 is the major version
|
||||
|
||||
#define BOOST_VERSION 105600
|
||||
#define BOOST_VERSION 105700
|
||||
|
||||
//
|
||||
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
|
||||
@ -27,6 +27,6 @@
|
||||
// number, y is the minor version number, and z is the patch level if not 0.
|
||||
// This is used by <config/auto_link.hpp> to select which library version to link to.
|
||||
|
||||
#define BOOST_LIB_VERSION "1_56"
|
||||
#define BOOST_LIB_VERSION "1_57"
|
||||
|
||||
#endif
|
||||
|
13
meta/libraries.json
Normal file
13
meta/libraries.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"key": "config",
|
||||
"name": "Config",
|
||||
"description": "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users.",
|
||||
"documentation": "config.htm",
|
||||
"category": [
|
||||
"workarounds"
|
||||
],
|
||||
"authors": "",
|
||||
"maintainers": [
|
||||
"John Maddock <john -at- johnmaddock.co.uk>"
|
||||
]
|
||||
}
|
@ -15,6 +15,7 @@ project
|
||||
|
||||
|
||||
import modules ;
|
||||
import ../checks/config : requires ;
|
||||
|
||||
local is_unix = [ modules.peek : UNIX ] ;
|
||||
|
||||
@ -47,9 +48,31 @@ test-suite config
|
||||
<target-os>linux:<linkflags>-lpthread
|
||||
<target-os>linux:<linkflags>-lrt
|
||||
<toolset>gcc:<linkflags>$(OTHERFLAGS)
|
||||
]
|
||||
[ run config_test.cpp
|
||||
: #args
|
||||
: #input-files
|
||||
: #requirements
|
||||
<rtti>off
|
||||
<target-os>linux:<linkflags>-lpthread
|
||||
<target-os>linux:<linkflags>-lrt
|
||||
<toolset>gcc:<linkflags>$(OTHERFLAGS)
|
||||
: config_test_no_rtti
|
||||
]
|
||||
[ run config_test.cpp
|
||||
: #args
|
||||
: #input-files
|
||||
: #requirements
|
||||
<exception-handling>off
|
||||
<target-os>linux:<linkflags>-lpthread
|
||||
<target-os>linux:<linkflags>-lrt
|
||||
<toolset>gcc:<linkflags>$(OTHERFLAGS)
|
||||
: config_test_no_except
|
||||
]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>multi : config_info_threaded ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <rtti>off : config_info_no_rtti ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <exception-handling>off : config_info_no_except ]
|
||||
[ run math_info.cpp : : : <test-info>always_show_run_output <toolset>borland:<runtime-link>static <toolset>borland:<link>static ]
|
||||
[ run abi/abi_test.cpp abi/main.cpp ]
|
||||
[ run limits_test.cpp ../../test/build//boost_test_exec_monitor ]
|
||||
@ -69,6 +92,7 @@ test-suite config
|
||||
[ run cstdint_test.cpp : : : <warnings>all <toolset>gcc:<cxxflags>"-Wno-long-long -Wextra" <toolset>darwin:<cxxflags>-Wno-long-long ]
|
||||
[ run cstdint_test2.cpp : : : <warnings>all <toolset>gcc:<cxxflags>"-Wno-long-long -Wextra" <toolset>darwin:<cxxflags>-Wno-long-long ]
|
||||
[ compile cstdint_include_test.cpp : <warnings>all <toolset>gcc:<cxxflags>-Wextra ]
|
||||
[ run config_build_check.cpp : : : [ requires int128 cxx11_constexpr cxx11_user_defined_literals ] ]
|
||||
;
|
||||
|
||||
obj has_clang_implicit_fallthrough : cmd_line_check.cpp :
|
||||
|
1001
test/all/Jamfile.v2
1001
test/all/Jamfile.v2
File diff suppressed because it is too large
Load Diff
@ -12,6 +12,12 @@
|
||||
|
||||
#include <memory>
|
||||
|
||||
#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
|
||||
# define BOOST_UNUSED_ATTRIBUTE __attribute__((unused))
|
||||
#else
|
||||
# define BOOST_UNUSED_ATTRIBUTE
|
||||
#endif
|
||||
|
||||
namespace boost_has_partial_std_allocator{
|
||||
|
||||
//
|
||||
@ -23,12 +29,12 @@ int test_allocator(const T& i)
|
||||
{
|
||||
typedef std::allocator<int> alloc1_t;
|
||||
typedef typename alloc1_t::size_type size_type;
|
||||
typedef typename alloc1_t::difference_type difference_type;
|
||||
typedef typename alloc1_t::difference_type difference_type BOOST_UNUSED_ATTRIBUTE;
|
||||
typedef typename alloc1_t::pointer pointer;
|
||||
typedef typename alloc1_t::const_pointer const_pointer;
|
||||
typedef typename alloc1_t::reference reference;
|
||||
typedef typename alloc1_t::const_reference const_reference;
|
||||
typedef typename alloc1_t::value_type value_type;
|
||||
typedef typename alloc1_t::value_type value_type BOOST_UNUSED_ATTRIBUTE;
|
||||
|
||||
alloc1_t a1;
|
||||
|
||||
@ -55,8 +61,5 @@ int test()
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#undef BOOST_UNUSED_ATTRIBUTE
|
||||
|
||||
|
41
test/boost_no_cxx11_final.ipp
Normal file
41
test/boost_no_cxx11_final.ipp
Normal file
@ -0,0 +1,41 @@
|
||||
// (C) Copyright Agustin Berge 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_FINAL
|
||||
// TITLE: C++11 final class-virt-specifier
|
||||
// DESCRIPTION: The compiler does not support the C++ class-virt-specifier final
|
||||
|
||||
namespace boost_no_cxx11_final {
|
||||
|
||||
struct X final {};
|
||||
|
||||
struct abstract
|
||||
{
|
||||
virtual int f() = 0;
|
||||
};
|
||||
|
||||
struct derived : public abstract
|
||||
{
|
||||
virtual int f() final
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
int check(abstract* pa)
|
||||
{
|
||||
return pa->f();
|
||||
}
|
||||
|
||||
int test()
|
||||
{
|
||||
derived d;
|
||||
return check(&d);
|
||||
}
|
||||
|
||||
}
|
@ -25,6 +25,7 @@ int test()
|
||||
{
|
||||
std::memory_order m = static_cast<std::memory_order>(std::memory_order_relaxed | std::memory_order_consume | std::memory_order_acquire | std::memory_order_release
|
||||
| std::memory_order_acq_rel | std::memory_order_seq_cst);
|
||||
(void)m;
|
||||
|
||||
std::atomic<int> a1;
|
||||
std::atomic<unsigned> a2;
|
||||
|
@ -16,10 +16,18 @@ namespace boost_no_cxx11_hdr_typeindex {
|
||||
|
||||
int test()
|
||||
{
|
||||
#if defined( BOOST_NO_TYPEID )
|
||||
std::type_index * p1;
|
||||
std::hash<std::type_index> h;
|
||||
(void)p1;
|
||||
(void)h;
|
||||
return 0;
|
||||
#else
|
||||
std::type_index t1 = typeid(int);
|
||||
std::type_index t2 = typeid(double);
|
||||
std::hash<std::type_index> h;
|
||||
return (t1 != t2) && (h(t1) != h(t2)) ? 0 : 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
38
test/boost_no_cxx11_non_pub_def_fun.ipp
Normal file
38
test/boost_no_cxx11_non_pub_def_fun.ipp
Normal file
@ -0,0 +1,38 @@
|
||||
// (C) Copyright Andrey Semashev 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_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
// TITLE: C++11 non-public defaulted functions unavailable
|
||||
// DESCRIPTION: The compiler does not support C++11 defaulted functions in access control sections other than public
|
||||
|
||||
#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
|
||||
# error Non-public defaulted functions are not supported in non-C++11 mode
|
||||
#endif
|
||||
|
||||
namespace boost_no_cxx11_non_public_defaulted_functions {
|
||||
|
||||
struct foo
|
||||
{
|
||||
protected:
|
||||
foo() = default;
|
||||
foo& operator= (foo const&) = default;
|
||||
};
|
||||
|
||||
struct bar
|
||||
{
|
||||
private:
|
||||
bar() = default;
|
||||
bar& operator= (bar const&) = default;
|
||||
};
|
||||
|
||||
int test()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
@ -16,10 +16,10 @@ namespace boost_no_cxx11_user_defined_literals {
|
||||
|
||||
struct my_literal
|
||||
{
|
||||
constexpr my_literal() : val(0) {}
|
||||
constexpr my_literal(int i) : val(i) {}
|
||||
constexpr my_literal(const my_literal& a) : val(a.val) {}
|
||||
constexpr bool operator==(const my_literal& a) const { return val == a.val; }
|
||||
my_literal() : val(0) {}
|
||||
my_literal(int i) : val(i) {}
|
||||
my_literal(const my_literal& a) : val(a.val) {}
|
||||
bool operator==(const my_literal& a) const { return val == a.val; }
|
||||
int val;
|
||||
};
|
||||
|
||||
@ -47,20 +47,20 @@ struct parse_int<base, val, c, Digits...>
|
||||
char_value, Digits...>::value };
|
||||
};
|
||||
|
||||
constexpr my_literal operator "" _suf1(unsigned long long v)
|
||||
my_literal operator "" _suf1(unsigned long long v)
|
||||
{
|
||||
return my_literal(v);
|
||||
}
|
||||
template <char...PACK>
|
||||
constexpr my_literal operator "" _bin()
|
||||
my_literal operator "" _bin()
|
||||
{
|
||||
return parse_int<2, 0, PACK...>::value;
|
||||
}
|
||||
|
||||
int test()
|
||||
{
|
||||
constexpr my_literal a = 0x23_suf1;
|
||||
constexpr my_literal b = 1001_bin;
|
||||
my_literal a = 0x23_suf1;
|
||||
my_literal b = 1001_bin;
|
||||
return ((a == my_literal(0x23)) && (b == my_literal(9))) ? 0 : 1;
|
||||
}
|
||||
|
||||
|
@ -36,8 +36,8 @@ int test()
|
||||
#endif
|
||||
|
||||
int i;
|
||||
fexcept_t fe;
|
||||
fenv_t env;
|
||||
has_fexcept_t fe;
|
||||
has_fenv_t env;
|
||||
|
||||
i = feclearexcept(FE_ALL_EXCEPT);
|
||||
i += fetestexcept(FE_ALL_EXCEPT); // All flags should be zero
|
||||
|
26
test/boost_no_fixed_len_variadic_templates.ipp
Normal file
26
test/boost_no_fixed_len_variadic_templates.ipp
Normal file
@ -0,0 +1,26 @@
|
||||
// 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -44,12 +44,19 @@ struct is_int<int>
|
||||
static const bool value = true;
|
||||
};
|
||||
|
||||
#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
|
||||
# define BOOST_UNUSED_ATTRIBUTE __attribute__((unused))
|
||||
#else
|
||||
# define BOOST_UNUSED_ATTRIBUTE
|
||||
#endif
|
||||
|
||||
|
||||
int test()
|
||||
{
|
||||
typedef int a1[ice_or< is_int<int>::value, is_int<UDT>::value>::value ? 1 : -1];
|
||||
typedef int a1[ice_or< is_int<int>::value, is_int<UDT>::value>::value ? 1 : -1] BOOST_UNUSED_ATTRIBUTE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
#undef BOOST_UNUSED_ATTRIBUTE
|
||||
|
@ -16,10 +16,15 @@
|
||||
|
||||
namespace boost_no_cxx11_lambdas {
|
||||
|
||||
template <class Func>
|
||||
int f(Func f)
|
||||
{
|
||||
return f();
|
||||
}
|
||||
|
||||
int test()
|
||||
{
|
||||
(void)[](){};
|
||||
return 0;
|
||||
return f([](){ return 0; });
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -12,12 +12,19 @@
|
||||
// compilers insist on it, while other issue a
|
||||
// bunch of warnings if it is in fact present.
|
||||
|
||||
#if defined( BOOST_NO_EXCEPTIONS ) && !defined( _MSC_VER )
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
|
||||
namespace boost_no_unreachable_return_detection{
|
||||
|
||||
int checker()
|
||||
{
|
||||
#if defined( BOOST_NO_EXCEPTIONS ) && !defined( _MSC_VER )
|
||||
abort();
|
||||
#else
|
||||
throw 0;
|
||||
#endif
|
||||
// no return statement: we don't ever get here...
|
||||
}
|
||||
|
||||
|
@ -43,6 +43,12 @@ int check_f(const A& a)
|
||||
|
||||
int test()
|
||||
{
|
||||
#if defined( BOOST_NO_EXCEPTIONS )
|
||||
{
|
||||
B b;
|
||||
return check_f(b);
|
||||
}
|
||||
#else
|
||||
try{
|
||||
B b;
|
||||
return check_f(b);
|
||||
@ -51,6 +57,7 @@ int test()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,17 +18,23 @@
|
||||
|
||||
namespace boost_no_std_allocator{
|
||||
|
||||
#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
|
||||
# define BOOST_UNUSED_ATTRIBUTE __attribute__((unused))
|
||||
#else
|
||||
# define BOOST_UNUSED_ATTRIBUTE
|
||||
#endif
|
||||
|
||||
template <class T>
|
||||
int test_allocator(const T& i)
|
||||
{
|
||||
typedef std::allocator<int> alloc1_t;
|
||||
typedef typename alloc1_t::size_type size_type;
|
||||
typedef typename alloc1_t::difference_type difference_type;
|
||||
typedef typename alloc1_t::difference_type difference_type BOOST_UNUSED_ATTRIBUTE;
|
||||
typedef typename alloc1_t::pointer pointer;
|
||||
typedef typename alloc1_t::const_pointer const_pointer;
|
||||
typedef typename alloc1_t::reference reference;
|
||||
typedef typename alloc1_t::const_reference const_reference;
|
||||
typedef typename alloc1_t::value_type value_type;
|
||||
typedef typename alloc1_t::value_type value_type BOOST_UNUSED_ATTRIBUTE;
|
||||
|
||||
typedef typename alloc1_t::BOOST_NESTED_TEMPLATE rebind<double> binder_t;
|
||||
typedef typename binder_t::other alloc2_t;
|
||||
@ -66,7 +72,7 @@ int test()
|
||||
|
||||
}
|
||||
|
||||
|
||||
#undef BOOST_UNUSED_ATTRIBUTE
|
||||
|
||||
|
||||
|
||||
|
18
test/config_build_check.cpp
Normal file
18
test/config_build_check.cpp
Normal file
@ -0,0 +1,18 @@
|
||||
// Copyright John Maddock 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 the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
# include "../test/boost_has_int128.ipp"
|
||||
# include "../test/boost_no_constexpr.ipp"
|
||||
# include "../test/boost_no_cxx11_user_lit.ipp"
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_has_int128::test() || boost_no_cxx11_constexpr::test() || boost_no_cxx11_user_defined_literals::test();
|
||||
}
|
||||
|
@ -192,6 +192,7 @@ void print_compiler_macros()
|
||||
PRINT_MACRO(__hppa);
|
||||
PRINT_MACRO(__CYGWIN__);
|
||||
PRINT_MACRO(__MINGW32__);
|
||||
PRINT_MACRO(__GXX_RTTI);
|
||||
// HP aCC:
|
||||
PRINT_MACRO(__HP_aCC);
|
||||
PRINT_MACRO(_HPACC_);
|
||||
@ -293,6 +294,8 @@ void print_compiler_macros()
|
||||
PRINT_MACRO(_OPENMPT);
|
||||
PRINT_MACRO(_PGO_INSTRUMENT);
|
||||
PRINT_MACRO(__QMSPP_);
|
||||
PRINT_MACRO(__INTEL_RTTI__);
|
||||
PRINT_MACRO(__INTEL_CXX11_MODE__);
|
||||
|
||||
// Cray options:
|
||||
PRINT_MACRO(_CRAYC);
|
||||
@ -1007,6 +1010,8 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_NO_CXX11_DELETED_FUNCTIONS);
|
||||
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);
|
||||
@ -1032,6 +1037,7 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_NO_CXX11_LAMBDAS);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_NOEXCEPT);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_NULLPTR);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_NUMERIC_LIMITS);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_RANGE_BASED_FOR);
|
||||
@ -1111,6 +1117,19 @@ void print_boost_macros()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
2982
test/config_test.cpp
2982
test/config_test.cpp
File diff suppressed because it is too large
Load Diff
37
test/no_cxx11_final_fail.cpp
Normal file
37
test/no_cxx11_final_fail.cpp
Normal file
@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Fri Aug 15 15:51:00 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_FINAL
|
||||
// This file should not compile, if it does then
|
||||
// BOOST_NO_CXX11_FINAL should not be defined.
|
||||
// See file boost_no_cxx11_final.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_FINAL
|
||||
#include "boost_no_cxx11_final.ipp"
|
||||
#else
|
||||
#error "this file should not compile"
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx11_final::test();
|
||||
}
|
||||
|
37
test/no_cxx11_final_pass.cpp
Normal file
37
test/no_cxx11_final_pass.cpp
Normal file
@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Fri Aug 15 15:51:00 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_FINAL
|
||||
// This file should compile, if it does not then
|
||||
// BOOST_NO_CXX11_FINAL should be defined.
|
||||
// See file boost_no_cxx11_final.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_FINAL
|
||||
#include "boost_no_cxx11_final.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx11_final = empty_boost;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx11_final::test();
|
||||
}
|
||||
|
37
test/no_cxx11_non_pub_def_fun_fail.cpp
Normal file
37
test/no_cxx11_non_pub_def_fun_fail.cpp
Normal file
@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Fri Aug 22 18:33:20 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_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
// This file should not compile, if it does then
|
||||
// BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS should not be defined.
|
||||
// See file boost_no_cxx11_non_pub_def_fun.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_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
#include "boost_no_cxx11_non_pub_def_fun.ipp"
|
||||
#else
|
||||
#error "this file should not compile"
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx11_non_public_defaulted_functions::test();
|
||||
}
|
||||
|
37
test/no_cxx11_non_pub_def_fun_pass.cpp
Normal file
37
test/no_cxx11_non_pub_def_fun_pass.cpp
Normal file
@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Fri Aug 22 18:33:20 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_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
// This file should compile, if it does not then
|
||||
// BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS should be defined.
|
||||
// See file boost_no_cxx11_non_pub_def_fun.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_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
#include "boost_no_cxx11_non_pub_def_fun.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx11_non_public_defaulted_functions = empty_boost;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx11_non_public_defaulted_functions::test();
|
||||
}
|
||||
|
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();
|
||||
}
|
||||
|
@ -38,6 +38,8 @@ std::stringstream config_test1a;
|
||||
std::stringstream config_test2;
|
||||
std::stringstream jamfile;
|
||||
std::stringstream jamfile_v2;
|
||||
std::stringstream build_config_test;
|
||||
std::stringstream build_config_jamfile;
|
||||
std::set<std::string> macro_list;
|
||||
|
||||
|
||||
@ -184,6 +186,47 @@ void write_test_file(const fs::path& file,
|
||||
}
|
||||
}
|
||||
|
||||
void write_build_tests()
|
||||
{
|
||||
fs::ofstream ofs(config_path / ".." / "checks" / "test_case.cpp");
|
||||
time_t t = std::time(0);
|
||||
ofs << "// This file was automatically generated on " << std::ctime(&t);
|
||||
ofs << "// by libs/config/tools/generate.cpp\n" << copyright << std::endl;
|
||||
ofs << build_config_test.str() << std::endl;
|
||||
ofs << "int main( int, char *[] )\n{\n" << " return test::test();\n}\n\n";
|
||||
}
|
||||
|
||||
void write_build_check_jamfile()
|
||||
{
|
||||
fs::ofstream ofs(config_path / ".." / "checks" / "Jamfile.v2");
|
||||
time_t t = std::time(0);
|
||||
ofs << "#\n# *** DO NOT EDIT THIS FILE BY HAND ***\n"
|
||||
"# This file was automatically generated on " << std::ctime(&t);
|
||||
ofs << "# by libs/config/tools/generate.cpp\n"
|
||||
"# Copyright John Maddock.\n"
|
||||
"# Use, modification and distribution are subject to the \n"
|
||||
"# Boost Software License, Version 1.0. (See accompanying file \n"
|
||||
"# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n"
|
||||
"import modules ;\nimport path ; \n\n"
|
||||
"actions simple_run_action\n"
|
||||
"{\n"
|
||||
" $(>) > $(<)\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"rule run-simple ( sources + : args * : input-files * : requirements * : target-name )\n"
|
||||
"{\n"
|
||||
" obj $(target-name)_obj : $(sources) : $(requirements) ;\n"
|
||||
" explicit $(target-name)_obj ;\n"
|
||||
" exe $(target-name)_exe : $(target-name)_obj : $(requirements) ;\n"
|
||||
" explicit $(target-name)_exe ;\n"
|
||||
" #testing.capture-output $(target-name)_output : $(target-name) : $(requirements) <name>$(target-name) ;\n"
|
||||
" make $(target-name).output : $(target-name)_exe : @simple_run_action ;\n"
|
||||
" explicit $(target-name).output ;\n"
|
||||
"}\n\n"
|
||||
;
|
||||
ofs << build_config_jamfile.str() << std::endl;
|
||||
}
|
||||
|
||||
void process_ipp_file(const fs::path& file, bool positive_test)
|
||||
{
|
||||
std::cout << "Info: Scanning file: " << file.string() << std::endl;
|
||||
@ -250,6 +293,17 @@ void process_ipp_file(const fs::path& file, bool positive_test)
|
||||
"[ run ../" << positive_file.leaf().string() << " ]\n"
|
||||
"[ compile-fail ../" << negative_file.leaf().string() << " ] ;\n";
|
||||
|
||||
// Generate data for the Build-checks test file:
|
||||
build_config_test << "#ifdef TEST_" << macro_name << std::endl;
|
||||
build_config_test << "# include \"../test/" << file.leaf().string() << "\"\n";
|
||||
build_config_test << "namespace test = " << namespace_name << ";\n#endif\n";
|
||||
|
||||
// Generate data for the build-checks Jamfile:
|
||||
static const boost::regex feature_regex("boost_(?:no|has)_(.*)");
|
||||
std::string feature_name = boost::regex_replace(namespace_name, feature_regex, "\\1");
|
||||
build_config_jamfile << "run-simple test_case.cpp : : : <define>TEST_" << macro_name << " : " << feature_name << " ;\n";
|
||||
build_config_jamfile << "alias " << feature_name << " : " << feature_name << ".output ;\n";
|
||||
build_config_jamfile << "explicit " << feature_name << " ;\n";
|
||||
}
|
||||
|
||||
int cpp_main(int argc, char* argv[])
|
||||
@ -285,6 +339,8 @@ int cpp_main(int argc, char* argv[])
|
||||
write_config_test();
|
||||
write_jamfile_v2();
|
||||
write_config_info();
|
||||
write_build_tests();
|
||||
write_build_check_jamfile();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user