diff --git a/checks/Jamfile.v2 b/checks/Jamfile.v2 index 70b000dd..214cfeee 100644 --- a/checks/Jamfile.v2 +++ b/checks/Jamfile.v2 @@ -1,6 +1,6 @@ # # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Sun Feb 5 19:09:22 2017 +# This file was automatically generated on Mon Apr 17 18:35:54 2017 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the @@ -11,212 +11,206 @@ import modules ; import path ; import testing ; -rule run-simple ( requirements * : target-name ) -{ - obj $(target-name)_obj : test_case.cpp : $(requirements) ; - explicit $(target-name)_obj ; - unit-test $(target-name) : $(target-name)_obj : $(requirements) ; - explicit $(target-name) ; -} - -run-simple TEST_BOOST_HAS_TWO_ARG_USE_FACET : two_arg_use_facet ; -run-simple TEST_BOOST_HAS_BETHREADS : bethreads ; -run-simple TEST_BOOST_HAS_CLOCK_GETTIME : clock_gettime ; -run-simple TEST_BOOST_HAS_DIRENT_H : dirent_h ; -run-simple TEST_BOOST_HAS_EXPM1 : expm1 ; -run-simple TEST_BOOST_HAS_FLOAT128 : float128 ; -run-simple TEST_BOOST_HAS_FTIME : ftime ; -run-simple TEST_BOOST_HAS_GETSYSTEMTIMEASFILETIME : getsystemtimeasfiletime ; -run-simple TEST_BOOST_HAS_GETTIMEOFDAY : gettimeofday ; -run-simple TEST_BOOST_HAS_HASH : hash ; -run-simple TEST_BOOST_HAS_INT128 : int128 ; -run-simple TEST_BOOST_HAS_LOG1P : log1p ; -run-simple TEST_BOOST_HAS_LONG_LONG : long_long ; -run-simple TEST_BOOST_HAS_MACRO_USE_FACET : macro_use_facet ; -run-simple TEST_BOOST_HAS_MS_INT64 : ms_int64 ; -run-simple TEST_BOOST_HAS_NANOSLEEP : nanosleep ; -run-simple TEST_BOOST_HAS_NL_TYPES_H : nl_types_h ; -run-simple TEST_BOOST_HAS_NRVO : nrvo ; -run-simple TEST_BOOST_HAS_PARTIAL_STD_ALLOCATOR : partial_std_allocator ; -run-simple TEST_BOOST_HAS_PTHREAD_DELAY_NP : pthread_delay_np ; -run-simple TEST_BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE : pthread_mutexattr_settype ; -run-simple TEST_BOOST_HAS_PTHREAD_YIELD : pthread_yield ; -run-simple TEST_BOOST_HAS_PTHREADS : pthreads ; -run-simple TEST_BOOST_HAS_RVALUE_REFS : rvalue_refs ; -run-simple TEST_BOOST_HAS_SCHED_YIELD : sched_yield ; -run-simple TEST_BOOST_HAS_SGI_TYPE_TRAITS : sgi_type_traits ; -run-simple TEST_BOOST_HAS_SIGACTION : sigaction ; -run-simple TEST_BOOST_HAS_SLIST : slist ; -run-simple TEST_BOOST_HAS_STATIC_ASSERT : static_assert ; -run-simple TEST_BOOST_HAS_STDINT_H : stdint_h ; -run-simple TEST_BOOST_HAS_STLP_USE_FACET : stlp_use_facet ; -run-simple TEST_BOOST_HAS_TR1_ARRAY : tr1_array ; -run-simple TEST_BOOST_HAS_TR1_BIND : tr1_bind ; -run-simple TEST_BOOST_HAS_TR1_COMPLEX_OVERLOADS : tr1_complex_overloads ; -run-simple TEST_BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG : tr1_complex_inverse_trig ; -run-simple TEST_BOOST_HAS_TR1_FUNCTION : tr1_function ; -run-simple TEST_BOOST_HAS_TR1_HASH : tr1_hash ; -run-simple TEST_BOOST_HAS_TR1_MEM_FN : tr1_mem_fn ; -run-simple TEST_BOOST_HAS_TR1_RANDOM : tr1_random ; -run-simple TEST_BOOST_HAS_TR1_REFERENCE_WRAPPER : tr1_reference_wrapper ; -run-simple TEST_BOOST_HAS_TR1_REGEX : tr1_regex ; -run-simple TEST_BOOST_HAS_TR1_RESULT_OF : tr1_result_of ; -run-simple TEST_BOOST_HAS_TR1_SHARED_PTR : tr1_shared_ptr ; -run-simple TEST_BOOST_HAS_TR1_TUPLE : tr1_tuple ; -run-simple TEST_BOOST_HAS_TR1_TYPE_TRAITS : tr1_type_traits ; -run-simple TEST_BOOST_HAS_TR1_UNORDERED_MAP : tr1_unordered_map ; -run-simple TEST_BOOST_HAS_TR1_UNORDERED_SET : tr1_unordered_set ; -run-simple TEST_BOOST_HAS_TR1_UTILITY : tr1_utility ; -run-simple TEST_BOOST_HAS_UNISTD_H : unistd_h ; -run-simple TEST_BOOST_HAS_VARIADIC_TMPL : variadic_tmpl ; -run-simple TEST_BOOST_MSVC6_MEMBER_TEMPLATES : boost_msvc6_member_templates ; -run-simple TEST_BOOST_MSVC_STD_ITERATOR : boost_msvc_std_iterator ; -run-simple TEST_BOOST_HAS_WINTHREADS : winthreads ; -run-simple TEST_BOOST_NO_ADL_BARRIER : adl_barrier ; -run-simple TEST_BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP : argument_dependent_lookup ; -run-simple TEST_BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS : array_type_specializations ; -run-simple TEST_BOOST_NO_CXX11_AUTO_DECLARATIONS : cxx11_auto_declarations ; -run-simple TEST_BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS : cxx11_auto_multideclarations ; -run-simple TEST_BOOST_NO_AUTO_PTR : auto_ptr ; -run-simple TEST_BOOST_BCB_PARTIAL_SPECIALIZATION_BUG : boost_bcb_partial_specialization_bug ; -run-simple TEST_BOOST_NO_CXX11_CHAR16_T : cxx11_char16_t ; -run-simple TEST_BOOST_NO_CXX11_CHAR32_T : cxx11_char32_t ; -run-simple TEST_BOOST_NO_COMPLETE_VALUE_INITIALIZATION : complete_value_initialization ; -run-simple TEST_BOOST_NO_CXX11_CONSTEXPR : cxx11_constexpr ; -run-simple TEST_BOOST_NO_CTYPE_FUNCTIONS : ctype_functions ; -run-simple TEST_BOOST_NO_CV_SPECIALIZATIONS : cv_specializations ; -run-simple TEST_BOOST_NO_CV_VOID_SPECIALIZATIONS : cv_void_specializations ; -run-simple TEST_BOOST_NO_CWCHAR : cwchar ; -run-simple TEST_BOOST_NO_CWCTYPE : cwctype ; -run-simple TEST_BOOST_NO_CXX11_ADDRESSOF : cxx11_addressof ; -run-simple TEST_BOOST_NO_CXX11_ALIGNAS : cxx11_alignas ; -run-simple TEST_BOOST_NO_CXX11_ALLOCATOR : cxx11_allocator ; -run-simple TEST_BOOST_NO_CXX11_ATOMIC_SMART_PTR : cxx11_atomic_smart_ptr ; -run-simple TEST_BOOST_NO_CXX11_FINAL : cxx11_final ; -run-simple TEST_BOOST_NO_CXX11_HDR_ARRAY : cxx11_hdr_array ; -run-simple TEST_BOOST_NO_CXX11_HDR_ATOMIC : cxx11_hdr_atomic ; -run-simple TEST_BOOST_NO_CXX11_HDR_CHRONO : cxx11_hdr_chrono ; -run-simple TEST_BOOST_NO_CXX11_HDR_CODECVT : cxx11_hdr_codecvt ; -run-simple TEST_BOOST_NO_CXX11_HDR_CONDITION_VARIABLE : cxx11_hdr_condition_variable ; -run-simple TEST_BOOST_NO_CXX11_HDR_FORWARD_LIST : cxx11_hdr_forward_list ; -run-simple TEST_BOOST_NO_CXX11_HDR_FUTURE : cxx11_hdr_future ; -run-simple TEST_BOOST_NO_CXX11_HDR_INITIALIZER_LIST : cxx11_hdr_initializer_list ; -run-simple TEST_BOOST_NO_CXX11_HDR_MUTEX : cxx11_hdr_mutex ; -run-simple TEST_BOOST_NO_CXX11_HDR_RANDOM : cxx11_hdr_random ; -run-simple TEST_BOOST_NO_CXX11_HDR_RATIO : cxx11_hdr_ratio ; -run-simple TEST_BOOST_NO_CXX11_HDR_REGEX : cxx11_hdr_regex ; -run-simple TEST_BOOST_NO_CXX11_HDR_SYSTEM_ERROR : cxx11_hdr_system_error ; -run-simple TEST_BOOST_NO_CXX11_HDR_THREAD : cxx11_hdr_thread ; -run-simple TEST_BOOST_NO_CXX11_HDR_TUPLE : cxx11_hdr_tuple ; -run-simple TEST_BOOST_NO_CXX11_HDR_TYPE_TRAITS : cxx11_hdr_type_traits ; -run-simple TEST_BOOST_NO_CXX11_HDR_TYPEINDEX : cxx11_hdr_typeindex ; -run-simple TEST_BOOST_NO_CXX11_HDR_UNORDERED_MAP : cxx11_hdr_unordered_map ; -run-simple TEST_BOOST_NO_CXX11_HDR_UNORDERED_SET : cxx11_hdr_unordered_set ; -run-simple TEST_BOOST_NO_CXX11_INLINE_NAMESPACES : cxx11_inline_namespaces ; -run-simple TEST_BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS : cxx11_non_public_defaulted_functions ; -run-simple TEST_BOOST_NO_CXX11_NUMERIC_LIMITS : cxx11_numeric_limits ; -run-simple TEST_BOOST_NO_CXX11_REF_QUALIFIERS : cxx11_ref_qualifiers ; -run-simple TEST_BOOST_NO_CXX11_SFINAE_EXPR : cxx11_sfinae_expr ; -run-simple TEST_BOOST_NO_CXX11_SMART_PTR : cxx11_smart_ptr ; -run-simple TEST_BOOST_NO_CXX11_STD_ALIGN : cxx11_std_align ; -run-simple TEST_BOOST_NO_CXX11_THREAD_LOCAL : cxx11_thread_local ; -run-simple TEST_BOOST_NO_CXX11_TRAILING_RESULT_TYPES : cxx11_trailing_result_types ; -run-simple TEST_BOOST_NO_CXX11_USER_DEFINED_LITERALS : cxx11_user_defined_literals ; -run-simple TEST_BOOST_NO_CXX14_BINARY_LITERALS : cxx14_binary_literals ; -run-simple TEST_BOOST_NO_CXX14_CONSTEXPR : cxx14_constexpr ; -run-simple TEST_BOOST_NO_CXX14_DECLTYPE_AUTO : cxx14_decltype_auto ; -run-simple TEST_BOOST_NO_CXX14_DIGIT_SEPARATORS : cxx14_digit_separators ; -run-simple TEST_BOOST_NO_CXX14_GENERIC_LAMBDAS : cxx14_generic_lambdas ; -run-simple TEST_BOOST_NO_CXX14_HDR_SHARED_MUTEX : cxx14_hdr_shared_mutex ; -run-simple TEST_BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES : cxx14_initialized_lambda_captures ; -run-simple TEST_BOOST_NO_CXX14_AGGREGATE_NSDMI : cxx14_aggregate_nsdmi ; -run-simple TEST_BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION : cxx14_return_type_deduction ; -run-simple TEST_BOOST_NO_CXX14_STD_EXCHANGE : cxx14_std_exchange ; -run-simple TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES : cxx14_variable_templates ; -run-simple TEST_BOOST_NO_CXX17_STD_APPLY : cxx17_std_apply ; -run-simple TEST_BOOST_NO_CXX17_STD_INVOKE : cxx17_std_invoke ; -run-simple TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL : cxx11_hdr_functional ; -run-simple TEST_BOOST_NO_CXX11_DECLTYPE : cxx11_decltype ; -run-simple TEST_BOOST_NO_CXX11_DECLTYPE_N3276 : cxx11_decltype_n3276 ; -run-simple TEST_BOOST_DEDUCED_TYPENAME : boost_deduced_typename ; -run-simple TEST_BOOST_NO_CXX11_DEFAULTED_FUNCTIONS : cxx11_defaulted_functions ; -run-simple TEST_BOOST_NO_CXX11_DELETED_FUNCTIONS : cxx11_deleted_functions ; -run-simple TEST_BOOST_NO_DEPENDENT_NESTED_DERIVATIONS : dependent_nested_derivations ; -run-simple TEST_BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS : dependent_types_in_template_value_parameters ; -run-simple TEST_BOOST_NO_EXCEPTION_STD_NAMESPACE : exception_std_namespace ; -run-simple TEST_BOOST_NO_EXCEPTIONS : exceptions ; -run-simple TEST_BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS : explicit_function_template_arguments ; -run-simple TEST_BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS : cxx11_explicit_conversion_operators ; -run-simple TEST_BOOST_NO_CXX11_EXTERN_TEMPLATE : cxx11_extern_template ; -run-simple TEST_BOOST_NO_FENV_H : fenv_h ; -run-simple TEST_BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS : cxx11_fixed_length_variadic_template_expansion_packs ; -run-simple TEST_BOOST_NO_FUNCTION_TEMPLATE_ORDERING : function_template_ordering ; -run-simple TEST_BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS : cxx11_function_template_default_args ; -run-simple TEST_BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS : function_type_specializations ; -run-simple TEST_BOOST_NO_MS_INT64_NUMERIC_LIMITS : ms_int64_numeric_limits ; -run-simple TEST_BOOST_NO_INCLASS_MEMBER_INITIALIZATION : inclass_member_initialization ; -run-simple TEST_BOOST_NO_INTEGRAL_INT64_T : integral_int64_t ; -run-simple TEST_BOOST_NO_IOSFWD : iosfwd ; -run-simple TEST_BOOST_NO_IOSTREAM : iostream ; -run-simple TEST_BOOST_NO_IS_ABSTRACT : is_abstract ; -run-simple TEST_BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS : templated_iterator_constructors ; -run-simple TEST_BOOST_NO_CXX11_LAMBDAS : cxx11_lambdas ; -run-simple TEST_BOOST_NO_LIMITS : limits ; -run-simple TEST_BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS : limits_compile_time_constants ; -run-simple TEST_BOOST_NO_LONG_LONG_NUMERIC_LIMITS : long_long_numeric_limits ; -run-simple TEST_BOOST_NO_LONG_LONG : long_long ; -run-simple TEST_BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS : member_function_specializations ; -run-simple TEST_BOOST_NO_MEMBER_TEMPLATE_KEYWORD : member_template_keyword ; -run-simple TEST_BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS : pointer_to_member_template_parameters ; -run-simple TEST_BOOST_NO_MEMBER_TEMPLATE_FRIENDS : member_template_friends ; -run-simple TEST_BOOST_NO_MEMBER_TEMPLATES : member_templates ; -run-simple TEST_BOOST_NO_NESTED_FRIENDSHIP : nested_friendship ; -run-simple TEST_BOOST_NO_CXX11_NOEXCEPT : cxx11_noexcept ; -run-simple TEST_BOOST_NO_CXX11_NULLPTR : cxx11_nullptr ; -run-simple TEST_BOOST_NO_OPERATORS_IN_NAMESPACE : operators_in_namespace ; -run-simple TEST_BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS : partial_specialization_implicit_default_args ; -run-simple TEST_BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION : template_partial_specialization ; -run-simple TEST_BOOST_NO_PRIVATE_IN_AGGREGATE : private_in_aggregate ; -run-simple TEST_BOOST_NO_POINTER_TO_MEMBER_CONST : pointer_to_member_const ; -run-simple TEST_BOOST_NO_CXX11_RANGE_BASED_FOR : cxx11_range_based_for ; -run-simple TEST_BOOST_NO_CXX11_RAW_LITERALS : cxx11_raw_literals ; -run-simple TEST_BOOST_NO_RESTRICT_REFERENCES : restrict_references ; -run-simple TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION : unreachable_return_detection ; -run-simple TEST_BOOST_NO_RTTI : rtti ; -run-simple TEST_BOOST_NO_CXX11_RVALUE_REFERENCES : cxx11_rvalue_references ; -run-simple TEST_BOOST_NO_CXX11_SCOPED_ENUMS : cxx11_scoped_enums ; -run-simple TEST_BOOST_NO_SFINAE : sfinae ; -run-simple TEST_BOOST_NO_SFINAE_EXPR : sfinae_expr ; -run-simple TEST_BOOST_NO_STRINGSTREAM : stringstream ; -run-simple TEST_BOOST_NO_CXX11_STATIC_ASSERT : cxx11_static_assert ; -run-simple TEST_BOOST_NO_STD_ALLOCATOR : std_allocator ; -run-simple TEST_BOOST_NO_STD_DISTANCE : std_distance ; -run-simple TEST_BOOST_NO_STD_ITERATOR_TRAITS : std_iterator_traits ; -run-simple TEST_BOOST_NO_STD_ITERATOR : std_iterator ; -run-simple TEST_BOOST_NO_STD_LOCALE : std_locale ; -run-simple TEST_BOOST_NO_STD_MESSAGES : std_messages ; -run-simple TEST_BOOST_NO_STD_MIN_MAX : std_min_max ; -run-simple TEST_BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN : std_output_iterator_assign ; -run-simple TEST_BOOST_NO_STD_TYPEINFO : std_typeinfo ; -run-simple TEST_BOOST_NO_STD_USE_FACET : std_use_facet ; -run-simple TEST_BOOST_NO_STD_WSTREAMBUF : std_wstreambuf ; -run-simple TEST_BOOST_NO_STD_WSTRING : std_wstring ; -run-simple TEST_BOOST_NO_STDC_NAMESPACE : stdc_namespace ; -run-simple TEST_BOOST_NO_SWPRINTF : swprintf ; -run-simple TEST_BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS : cxx11_local_class_template_parameters ; -run-simple TEST_BOOST_NO_CXX11_TEMPLATE_ALIASES : cxx11_template_aliases ; -run-simple TEST_BOOST_NO_TEMPLATED_IOSTREAMS : templated_iostreams ; -run-simple TEST_BOOST_NO_TEMPLATE_TEMPLATES : template_templates ; -run-simple TEST_BOOST_NO_TWO_PHASE_NAME_LOOKUP : two_phase_name_lookup ; -run-simple TEST_BOOST_NO_TYPEID : typeid ; -run-simple TEST_BOOST_NO_TYPENAME_WITH_CTOR : typename_with_ctor ; -run-simple TEST_BOOST_NO_CXX11_UNICODE_LITERALS : cxx11_unicode_literals ; -run-simple TEST_BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX : cxx11_unified_initialization_syntax ; -run-simple TEST_BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL : boost_function_scope_using_declaration_breaks_adl ; -run-simple TEST_BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE : using_declaration_overloads_from_typename_base ; -run-simple TEST_BOOST_NO_USING_TEMPLATE : using_template ; -run-simple TEST_BOOST_NO_CXX11_VARIADIC_MACROS : cxx11_variadic_macros ; -run-simple TEST_BOOST_NO_CXX11_VARIADIC_TEMPLATES : cxx11_variadic_templates ; -run-simple TEST_BOOST_NO_VOID_RETURNS : void_returns ; -run-simple TEST_BOOST_NO_INTRINSIC_WCHAR_T : intrinsic_wchar_t ; +obj two_arg_use_facet : test_case.cpp : TEST_BOOST_HAS_TWO_ARG_USE_FACET ; +obj bethreads : test_case.cpp : TEST_BOOST_HAS_BETHREADS ; +obj clock_gettime : test_case.cpp : TEST_BOOST_HAS_CLOCK_GETTIME ; +obj dirent_h : test_case.cpp : TEST_BOOST_HAS_DIRENT_H ; +obj expm1 : test_case.cpp : TEST_BOOST_HAS_EXPM1 ; +obj float128 : test_case.cpp : TEST_BOOST_HAS_FLOAT128 ; +obj ftime : test_case.cpp : TEST_BOOST_HAS_FTIME ; +obj getsystemtimeasfiletime : test_case.cpp : TEST_BOOST_HAS_GETSYSTEMTIMEASFILETIME ; +obj gettimeofday : test_case.cpp : TEST_BOOST_HAS_GETTIMEOFDAY ; +obj hash : test_case.cpp : TEST_BOOST_HAS_HASH ; +obj int128 : test_case.cpp : TEST_BOOST_HAS_INT128 ; +obj log1p : test_case.cpp : TEST_BOOST_HAS_LOG1P ; +obj long_long : test_case.cpp : TEST_BOOST_HAS_LONG_LONG ; +obj macro_use_facet : test_case.cpp : TEST_BOOST_HAS_MACRO_USE_FACET ; +obj ms_int64 : test_case.cpp : TEST_BOOST_HAS_MS_INT64 ; +obj nanosleep : test_case.cpp : TEST_BOOST_HAS_NANOSLEEP ; +obj nl_types_h : test_case.cpp : TEST_BOOST_HAS_NL_TYPES_H ; +obj nrvo : test_case.cpp : TEST_BOOST_HAS_NRVO ; +obj partial_std_allocator : test_case.cpp : TEST_BOOST_HAS_PARTIAL_STD_ALLOCATOR ; +obj pthread_delay_np : test_case.cpp : TEST_BOOST_HAS_PTHREAD_DELAY_NP ; +obj pthread_mutexattr_settype : test_case.cpp : TEST_BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE ; +obj pthread_yield : test_case.cpp : TEST_BOOST_HAS_PTHREAD_YIELD ; +obj pthreads : test_case.cpp : TEST_BOOST_HAS_PTHREADS ; +obj rvalue_refs : test_case.cpp : TEST_BOOST_HAS_RVALUE_REFS ; +obj sched_yield : test_case.cpp : TEST_BOOST_HAS_SCHED_YIELD ; +obj sgi_type_traits : test_case.cpp : TEST_BOOST_HAS_SGI_TYPE_TRAITS ; +obj sigaction : test_case.cpp : TEST_BOOST_HAS_SIGACTION ; +obj slist : test_case.cpp : TEST_BOOST_HAS_SLIST ; +obj static_assert : test_case.cpp : TEST_BOOST_HAS_STATIC_ASSERT ; +obj stdint_h : test_case.cpp : TEST_BOOST_HAS_STDINT_H ; +obj stlp_use_facet : test_case.cpp : TEST_BOOST_HAS_STLP_USE_FACET ; +obj tr1_array : test_case.cpp : TEST_BOOST_HAS_TR1_ARRAY ; +obj tr1_bind : test_case.cpp : TEST_BOOST_HAS_TR1_BIND ; +obj tr1_complex_overloads : test_case.cpp : TEST_BOOST_HAS_TR1_COMPLEX_OVERLOADS ; +obj tr1_complex_inverse_trig : test_case.cpp : TEST_BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG ; +obj tr1_function : test_case.cpp : TEST_BOOST_HAS_TR1_FUNCTION ; +obj tr1_hash : test_case.cpp : TEST_BOOST_HAS_TR1_HASH ; +obj tr1_mem_fn : test_case.cpp : TEST_BOOST_HAS_TR1_MEM_FN ; +obj tr1_random : test_case.cpp : TEST_BOOST_HAS_TR1_RANDOM ; +obj tr1_reference_wrapper : test_case.cpp : TEST_BOOST_HAS_TR1_REFERENCE_WRAPPER ; +obj tr1_regex : test_case.cpp : TEST_BOOST_HAS_TR1_REGEX ; +obj tr1_result_of : test_case.cpp : TEST_BOOST_HAS_TR1_RESULT_OF ; +obj tr1_shared_ptr : test_case.cpp : TEST_BOOST_HAS_TR1_SHARED_PTR ; +obj tr1_tuple : test_case.cpp : TEST_BOOST_HAS_TR1_TUPLE ; +obj tr1_type_traits : test_case.cpp : TEST_BOOST_HAS_TR1_TYPE_TRAITS ; +obj tr1_unordered_map : test_case.cpp : TEST_BOOST_HAS_TR1_UNORDERED_MAP ; +obj tr1_unordered_set : test_case.cpp : TEST_BOOST_HAS_TR1_UNORDERED_SET ; +obj tr1_utility : test_case.cpp : TEST_BOOST_HAS_TR1_UTILITY ; +obj unistd_h : test_case.cpp : TEST_BOOST_HAS_UNISTD_H ; +obj variadic_tmpl : test_case.cpp : TEST_BOOST_HAS_VARIADIC_TMPL ; +obj boost_msvc6_member_templates : test_case.cpp : TEST_BOOST_MSVC6_MEMBER_TEMPLATES ; +obj boost_msvc_std_iterator : test_case.cpp : TEST_BOOST_MSVC_STD_ITERATOR ; +obj winthreads : test_case.cpp : TEST_BOOST_HAS_WINTHREADS ; +obj adl_barrier : test_case.cpp : TEST_BOOST_NO_ADL_BARRIER ; +obj argument_dependent_lookup : test_case.cpp : TEST_BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ; +obj array_type_specializations : test_case.cpp : TEST_BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS ; +obj cxx11_auto_declarations : test_case.cpp : TEST_BOOST_NO_CXX11_AUTO_DECLARATIONS ; +obj cxx11_auto_multideclarations : test_case.cpp : TEST_BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS ; +obj auto_ptr : test_case.cpp : TEST_BOOST_NO_AUTO_PTR ; +obj boost_bcb_partial_specialization_bug : test_case.cpp : TEST_BOOST_BCB_PARTIAL_SPECIALIZATION_BUG ; +obj cxx11_char16_t : test_case.cpp : TEST_BOOST_NO_CXX11_CHAR16_T ; +obj cxx11_char32_t : test_case.cpp : TEST_BOOST_NO_CXX11_CHAR32_T ; +obj complete_value_initialization : test_case.cpp : TEST_BOOST_NO_COMPLETE_VALUE_INITIALIZATION ; +obj cxx11_constexpr : test_case.cpp : TEST_BOOST_NO_CXX11_CONSTEXPR ; +obj ctype_functions : test_case.cpp : TEST_BOOST_NO_CTYPE_FUNCTIONS ; +obj cv_specializations : test_case.cpp : TEST_BOOST_NO_CV_SPECIALIZATIONS ; +obj cv_void_specializations : test_case.cpp : TEST_BOOST_NO_CV_VOID_SPECIALIZATIONS ; +obj cwchar : test_case.cpp : TEST_BOOST_NO_CWCHAR ; +obj cwctype : test_case.cpp : TEST_BOOST_NO_CWCTYPE ; +obj cxx11_addressof : test_case.cpp : TEST_BOOST_NO_CXX11_ADDRESSOF ; +obj cxx11_alignas : test_case.cpp : TEST_BOOST_NO_CXX11_ALIGNAS ; +obj cxx11_allocator : test_case.cpp : TEST_BOOST_NO_CXX11_ALLOCATOR ; +obj cxx11_atomic_smart_ptr : test_case.cpp : TEST_BOOST_NO_CXX11_ATOMIC_SMART_PTR ; +obj cxx11_final : test_case.cpp : TEST_BOOST_NO_CXX11_FINAL ; +obj cxx11_hdr_array : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_ARRAY ; +obj cxx11_hdr_atomic : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_ATOMIC ; +obj cxx11_hdr_chrono : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_CHRONO ; +obj cxx11_hdr_codecvt : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_CODECVT ; +obj cxx11_hdr_condition_variable : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_CONDITION_VARIABLE ; +obj cxx11_hdr_forward_list : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_FORWARD_LIST ; +obj cxx11_hdr_future : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_FUTURE ; +obj cxx11_hdr_initializer_list : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_INITIALIZER_LIST ; +obj cxx11_hdr_mutex : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_MUTEX ; +obj cxx11_hdr_random : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_RANDOM ; +obj cxx11_hdr_ratio : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_RATIO ; +obj cxx11_hdr_regex : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_REGEX ; +obj cxx11_hdr_system_error : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_SYSTEM_ERROR ; +obj cxx11_hdr_thread : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_THREAD ; +obj cxx11_hdr_tuple : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_TUPLE ; +obj cxx11_hdr_type_traits : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_TYPE_TRAITS ; +obj cxx11_hdr_typeindex : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_TYPEINDEX ; +obj cxx11_hdr_unordered_map : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_UNORDERED_MAP ; +obj cxx11_hdr_unordered_set : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_UNORDERED_SET ; +obj cxx11_inline_namespaces : test_case.cpp : TEST_BOOST_NO_CXX11_INLINE_NAMESPACES ; +obj cxx11_non_public_defaulted_functions : test_case.cpp : TEST_BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS ; +obj cxx11_numeric_limits : test_case.cpp : TEST_BOOST_NO_CXX11_NUMERIC_LIMITS ; +obj cxx11_ref_qualifiers : test_case.cpp : TEST_BOOST_NO_CXX11_REF_QUALIFIERS ; +obj cxx11_sfinae_expr : test_case.cpp : TEST_BOOST_NO_CXX11_SFINAE_EXPR ; +obj cxx11_smart_ptr : test_case.cpp : TEST_BOOST_NO_CXX11_SMART_PTR ; +obj cxx11_std_align : test_case.cpp : TEST_BOOST_NO_CXX11_STD_ALIGN ; +obj cxx11_thread_local : test_case.cpp : TEST_BOOST_NO_CXX11_THREAD_LOCAL ; +obj cxx11_trailing_result_types : test_case.cpp : TEST_BOOST_NO_CXX11_TRAILING_RESULT_TYPES ; +obj cxx11_user_defined_literals : test_case.cpp : TEST_BOOST_NO_CXX11_USER_DEFINED_LITERALS ; +obj cxx14_binary_literals : test_case.cpp : TEST_BOOST_NO_CXX14_BINARY_LITERALS ; +obj cxx14_constexpr : test_case.cpp : TEST_BOOST_NO_CXX14_CONSTEXPR ; +obj cxx14_decltype_auto : test_case.cpp : TEST_BOOST_NO_CXX14_DECLTYPE_AUTO ; +obj cxx14_digit_separators : test_case.cpp : TEST_BOOST_NO_CXX14_DIGIT_SEPARATORS ; +obj cxx14_generic_lambdas : test_case.cpp : TEST_BOOST_NO_CXX14_GENERIC_LAMBDAS ; +obj cxx14_hdr_shared_mutex : test_case.cpp : TEST_BOOST_NO_CXX14_HDR_SHARED_MUTEX ; +obj cxx14_initialized_lambda_captures : test_case.cpp : TEST_BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES ; +obj cxx14_aggregate_nsdmi : test_case.cpp : TEST_BOOST_NO_CXX14_AGGREGATE_NSDMI ; +obj cxx14_return_type_deduction : test_case.cpp : TEST_BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION ; +obj cxx14_std_exchange : test_case.cpp : TEST_BOOST_NO_CXX14_STD_EXCHANGE ; +obj cxx14_variable_templates : test_case.cpp : TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES ; +obj cxx17_std_apply : test_case.cpp : TEST_BOOST_NO_CXX17_STD_APPLY ; +obj cxx17_std_invoke : test_case.cpp : TEST_BOOST_NO_CXX17_STD_INVOKE ; +obj cxx98_binders : test_case.cpp : TEST_BOOST_NO_CXX98_BINDERS ; +obj cxx98_function_base : test_case.cpp : TEST_BOOST_NO_CXX98_FUNCTION_BASE ; +obj cxx98_random_shuffle : test_case.cpp : TEST_BOOST_NO_CXX98_RANDOM_SHUFFLE ; +obj cxx11_hdr_functional : test_case.cpp : TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL ; +obj cxx11_decltype : test_case.cpp : TEST_BOOST_NO_CXX11_DECLTYPE ; +obj cxx11_decltype_n3276 : test_case.cpp : TEST_BOOST_NO_CXX11_DECLTYPE_N3276 ; +obj boost_deduced_typename : test_case.cpp : TEST_BOOST_DEDUCED_TYPENAME ; +obj cxx11_defaulted_functions : test_case.cpp : TEST_BOOST_NO_CXX11_DEFAULTED_FUNCTIONS ; +obj cxx11_deleted_functions : test_case.cpp : TEST_BOOST_NO_CXX11_DELETED_FUNCTIONS ; +obj dependent_nested_derivations : test_case.cpp : TEST_BOOST_NO_DEPENDENT_NESTED_DERIVATIONS ; +obj dependent_types_in_template_value_parameters : test_case.cpp : TEST_BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS ; +obj exception_std_namespace : test_case.cpp : TEST_BOOST_NO_EXCEPTION_STD_NAMESPACE ; +obj exceptions : test_case.cpp : TEST_BOOST_NO_EXCEPTIONS ; +obj explicit_function_template_arguments : test_case.cpp : TEST_BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS ; +obj cxx11_explicit_conversion_operators : test_case.cpp : TEST_BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS ; +obj cxx11_extern_template : test_case.cpp : TEST_BOOST_NO_CXX11_EXTERN_TEMPLATE ; +obj fenv_h : test_case.cpp : TEST_BOOST_NO_FENV_H ; +obj cxx11_fixed_length_variadic_template_expansion_packs : test_case.cpp : TEST_BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS ; +obj function_template_ordering : test_case.cpp : TEST_BOOST_NO_FUNCTION_TEMPLATE_ORDERING ; +obj cxx11_function_template_default_args : test_case.cpp : TEST_BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS ; +obj function_type_specializations : test_case.cpp : TEST_BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS ; +obj ms_int64_numeric_limits : test_case.cpp : TEST_BOOST_NO_MS_INT64_NUMERIC_LIMITS ; +obj inclass_member_initialization : test_case.cpp : TEST_BOOST_NO_INCLASS_MEMBER_INITIALIZATION ; +obj integral_int64_t : test_case.cpp : TEST_BOOST_NO_INTEGRAL_INT64_T ; +obj iosfwd : test_case.cpp : TEST_BOOST_NO_IOSFWD ; +obj iostream : test_case.cpp : TEST_BOOST_NO_IOSTREAM ; +obj is_abstract : test_case.cpp : TEST_BOOST_NO_IS_ABSTRACT ; +obj templated_iterator_constructors : test_case.cpp : TEST_BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS ; +obj cxx11_lambdas : test_case.cpp : TEST_BOOST_NO_CXX11_LAMBDAS ; +obj limits : test_case.cpp : TEST_BOOST_NO_LIMITS ; +obj limits_compile_time_constants : test_case.cpp : TEST_BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS ; +obj long_long_numeric_limits : test_case.cpp : TEST_BOOST_NO_LONG_LONG_NUMERIC_LIMITS ; +obj member_function_specializations : test_case.cpp : TEST_BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS ; +obj member_template_keyword : test_case.cpp : TEST_BOOST_NO_MEMBER_TEMPLATE_KEYWORD ; +obj pointer_to_member_template_parameters : test_case.cpp : TEST_BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS ; +obj member_template_friends : test_case.cpp : TEST_BOOST_NO_MEMBER_TEMPLATE_FRIENDS ; +obj member_templates : test_case.cpp : TEST_BOOST_NO_MEMBER_TEMPLATES ; +obj nested_friendship : test_case.cpp : TEST_BOOST_NO_NESTED_FRIENDSHIP ; +obj cxx11_noexcept : test_case.cpp : TEST_BOOST_NO_CXX11_NOEXCEPT ; +obj cxx11_nullptr : test_case.cpp : TEST_BOOST_NO_CXX11_NULLPTR ; +obj operators_in_namespace : test_case.cpp : TEST_BOOST_NO_OPERATORS_IN_NAMESPACE ; +obj partial_specialization_implicit_default_args : test_case.cpp : TEST_BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS ; +obj template_partial_specialization : test_case.cpp : TEST_BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ; +obj private_in_aggregate : test_case.cpp : TEST_BOOST_NO_PRIVATE_IN_AGGREGATE ; +obj pointer_to_member_const : test_case.cpp : TEST_BOOST_NO_POINTER_TO_MEMBER_CONST ; +obj cxx11_range_based_for : test_case.cpp : TEST_BOOST_NO_CXX11_RANGE_BASED_FOR ; +obj cxx11_raw_literals : test_case.cpp : TEST_BOOST_NO_CXX11_RAW_LITERALS ; +obj restrict_references : test_case.cpp : TEST_BOOST_NO_RESTRICT_REFERENCES ; +obj unreachable_return_detection : test_case.cpp : TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION ; +obj rtti : test_case.cpp : TEST_BOOST_NO_RTTI ; +obj cxx11_rvalue_references : test_case.cpp : TEST_BOOST_NO_CXX11_RVALUE_REFERENCES ; +obj cxx11_scoped_enums : test_case.cpp : TEST_BOOST_NO_CXX11_SCOPED_ENUMS ; +obj sfinae : test_case.cpp : TEST_BOOST_NO_SFINAE ; +obj sfinae_expr : test_case.cpp : TEST_BOOST_NO_SFINAE_EXPR ; +obj stringstream : test_case.cpp : TEST_BOOST_NO_STRINGSTREAM ; +obj cxx11_static_assert : test_case.cpp : TEST_BOOST_NO_CXX11_STATIC_ASSERT ; +obj std_allocator : test_case.cpp : TEST_BOOST_NO_STD_ALLOCATOR ; +obj std_distance : test_case.cpp : TEST_BOOST_NO_STD_DISTANCE ; +obj std_iterator_traits : test_case.cpp : TEST_BOOST_NO_STD_ITERATOR_TRAITS ; +obj std_iterator : test_case.cpp : TEST_BOOST_NO_STD_ITERATOR ; +obj std_locale : test_case.cpp : TEST_BOOST_NO_STD_LOCALE ; +obj std_messages : test_case.cpp : TEST_BOOST_NO_STD_MESSAGES ; +obj std_min_max : test_case.cpp : TEST_BOOST_NO_STD_MIN_MAX ; +obj std_output_iterator_assign : test_case.cpp : TEST_BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN ; +obj std_typeinfo : test_case.cpp : TEST_BOOST_NO_STD_TYPEINFO ; +obj std_use_facet : test_case.cpp : TEST_BOOST_NO_STD_USE_FACET ; +obj std_wstreambuf : test_case.cpp : TEST_BOOST_NO_STD_WSTREAMBUF ; +obj std_wstring : test_case.cpp : TEST_BOOST_NO_STD_WSTRING ; +obj stdc_namespace : test_case.cpp : TEST_BOOST_NO_STDC_NAMESPACE ; +obj swprintf : test_case.cpp : TEST_BOOST_NO_SWPRINTF ; +obj cxx11_local_class_template_parameters : test_case.cpp : TEST_BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS ; +obj cxx11_template_aliases : test_case.cpp : TEST_BOOST_NO_CXX11_TEMPLATE_ALIASES ; +obj templated_iostreams : test_case.cpp : TEST_BOOST_NO_TEMPLATED_IOSTREAMS ; +obj template_templates : test_case.cpp : TEST_BOOST_NO_TEMPLATE_TEMPLATES ; +obj two_phase_name_lookup : test_case.cpp : TEST_BOOST_NO_TWO_PHASE_NAME_LOOKUP ; +obj typeid : test_case.cpp : TEST_BOOST_NO_TYPEID ; +obj typename_with_ctor : test_case.cpp : TEST_BOOST_NO_TYPENAME_WITH_CTOR ; +obj cxx11_unicode_literals : test_case.cpp : TEST_BOOST_NO_CXX11_UNICODE_LITERALS ; +obj cxx11_unified_initialization_syntax : test_case.cpp : TEST_BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX ; +obj boost_function_scope_using_declaration_breaks_adl : test_case.cpp : TEST_BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL ; +obj using_declaration_overloads_from_typename_base : test_case.cpp : TEST_BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE ; +obj using_template : test_case.cpp : TEST_BOOST_NO_USING_TEMPLATE ; +obj cxx11_variadic_macros : test_case.cpp : TEST_BOOST_NO_CXX11_VARIADIC_MACROS ; +obj cxx11_variadic_templates : test_case.cpp : TEST_BOOST_NO_CXX11_VARIADIC_TEMPLATES ; +obj void_returns : test_case.cpp : TEST_BOOST_NO_VOID_RETURNS ; +obj intrinsic_wchar_t : test_case.cpp : TEST_BOOST_NO_INTRINSIC_WCHAR_T ; diff --git a/checks/test_case.cpp b/checks/test_case.cpp index 0a9de081..6689d1d7 100644 --- a/checks/test_case.cpp +++ b/checks/test_case.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Sun Feb 5 19:09:22 2017 +// This file was automatically generated on Mon Apr 17 18:35:54 2017 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the @@ -9,809 +9,1026 @@ // Revision $Id$ // +#include + #ifdef TEST_BOOST_HAS_TWO_ARG_USE_FACET -# include "../test/boost_has_2arg_use_facet.ipp" -namespace test = boost_has_two_arg_use_facet; +# ifndef BOOST_HAS_TWO_ARG_USE_FACET +# error "Feature macro BOOST_HAS_TWO_ARG_USE_FACET is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_BETHREADS -# include "../test/boost_has_bethreads.ipp" -namespace test = boost_has_bethreads; +# ifndef BOOST_HAS_BETHREADS +# error "Feature macro BOOST_HAS_BETHREADS is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_CLOCK_GETTIME -# include "../test/boost_has_clock_gettime.ipp" -namespace test = boost_has_clock_gettime; +# ifndef BOOST_HAS_CLOCK_GETTIME +# error "Feature macro BOOST_HAS_CLOCK_GETTIME is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_DIRENT_H -# include "../test/boost_has_dirent_h.ipp" -namespace test = boost_has_dirent_h; +# ifndef BOOST_HAS_DIRENT_H +# error "Feature macro BOOST_HAS_DIRENT_H is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_EXPM1 -# include "../test/boost_has_expm1.ipp" -namespace test = boost_has_expm1; +# ifndef BOOST_HAS_EXPM1 +# error "Feature macro BOOST_HAS_EXPM1 is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_FLOAT128 -# include "../test/boost_has_float128.ipp" -namespace test = boost_has_float128; +# ifndef BOOST_HAS_FLOAT128 +# error "Feature macro BOOST_HAS_FLOAT128 is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_FTIME -# include "../test/boost_has_ftime.ipp" -namespace test = boost_has_ftime; +# ifndef BOOST_HAS_FTIME +# error "Feature macro BOOST_HAS_FTIME is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_GETSYSTEMTIMEASFILETIME -# include "../test/boost_has_getsystemtimeasfiletime.ipp" -namespace test = boost_has_getsystemtimeasfiletime; +# ifndef BOOST_HAS_GETSYSTEMTIMEASFILETIME +# error "Feature macro BOOST_HAS_GETSYSTEMTIMEASFILETIME is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_GETTIMEOFDAY -# include "../test/boost_has_gettimeofday.ipp" -namespace test = boost_has_gettimeofday; +# ifndef BOOST_HAS_GETTIMEOFDAY +# error "Feature macro BOOST_HAS_GETTIMEOFDAY is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_HASH -# include "../test/boost_has_hash.ipp" -namespace test = boost_has_hash; +# ifndef BOOST_HAS_HASH +# error "Feature macro BOOST_HAS_HASH is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_INT128 -# include "../test/boost_has_int128.ipp" -namespace test = boost_has_int128; +# ifndef BOOST_HAS_INT128 +# error "Feature macro BOOST_HAS_INT128 is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_LOG1P -# include "../test/boost_has_log1p.ipp" -namespace test = boost_has_log1p; +# ifndef BOOST_HAS_LOG1P +# error "Feature macro BOOST_HAS_LOG1P is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_LONG_LONG -# include "../test/boost_has_long_long.ipp" -namespace test = boost_has_long_long; +# ifndef BOOST_HAS_LONG_LONG +# error "Feature macro BOOST_HAS_LONG_LONG is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_MACRO_USE_FACET -# include "../test/boost_has_macro_use_facet.ipp" -namespace test = boost_has_macro_use_facet; +# ifndef BOOST_HAS_MACRO_USE_FACET +# error "Feature macro BOOST_HAS_MACRO_USE_FACET is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_MS_INT64 -# include "../test/boost_has_ms_int64.ipp" -namespace test = boost_has_ms_int64; +# ifndef BOOST_HAS_MS_INT64 +# error "Feature macro BOOST_HAS_MS_INT64 is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_NANOSLEEP -# include "../test/boost_has_nanosleep.ipp" -namespace test = boost_has_nanosleep; +# ifndef BOOST_HAS_NANOSLEEP +# error "Feature macro BOOST_HAS_NANOSLEEP is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_NL_TYPES_H -# include "../test/boost_has_nl_types_h.ipp" -namespace test = boost_has_nl_types_h; +# ifndef BOOST_HAS_NL_TYPES_H +# error "Feature macro BOOST_HAS_NL_TYPES_H is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_NRVO -# include "../test/boost_has_nrvo.ipp" -namespace test = boost_has_nrvo; +# ifndef BOOST_HAS_NRVO +# error "Feature macro BOOST_HAS_NRVO is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_PARTIAL_STD_ALLOCATOR -# include "../test/boost_has_part_alloc.ipp" -namespace test = boost_has_partial_std_allocator; +# ifndef BOOST_HAS_PARTIAL_STD_ALLOCATOR +# error "Feature macro BOOST_HAS_PARTIAL_STD_ALLOCATOR is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_PTHREAD_DELAY_NP -# include "../test/boost_has_pthread_delay_np.ipp" -namespace test = boost_has_pthread_delay_np; +# ifndef BOOST_HAS_PTHREAD_DELAY_NP +# error "Feature macro BOOST_HAS_PTHREAD_DELAY_NP is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# include "../test/boost_has_pthread_ma_st.ipp" -namespace test = boost_has_pthread_mutexattr_settype; +# ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# error "Feature macro BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_PTHREAD_YIELD -# include "../test/boost_has_pthread_yield.ipp" -namespace test = boost_has_pthread_yield; +# ifndef BOOST_HAS_PTHREAD_YIELD +# error "Feature macro BOOST_HAS_PTHREAD_YIELD is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_PTHREADS -# include "../test/boost_has_pthreads.ipp" -namespace test = boost_has_pthreads; +# ifndef BOOST_HAS_PTHREADS +# error "Feature macro BOOST_HAS_PTHREADS is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_RVALUE_REFS -# include "../test/boost_has_rvalue_refs.ipp" -namespace test = boost_has_rvalue_refs; +# ifndef BOOST_HAS_RVALUE_REFS +# error "Feature macro BOOST_HAS_RVALUE_REFS is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_SCHED_YIELD -# include "../test/boost_has_sched_yield.ipp" -namespace test = boost_has_sched_yield; +# ifndef BOOST_HAS_SCHED_YIELD +# error "Feature macro BOOST_HAS_SCHED_YIELD is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_SGI_TYPE_TRAITS -# include "../test/boost_has_sgi_type_traits.ipp" -namespace test = boost_has_sgi_type_traits; +# ifndef BOOST_HAS_SGI_TYPE_TRAITS +# error "Feature macro BOOST_HAS_SGI_TYPE_TRAITS is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_SIGACTION -# include "../test/boost_has_sigaction.ipp" -namespace test = boost_has_sigaction; +# ifndef BOOST_HAS_SIGACTION +# error "Feature macro BOOST_HAS_SIGACTION is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_SLIST -# include "../test/boost_has_slist.ipp" -namespace test = boost_has_slist; +# ifndef BOOST_HAS_SLIST +# error "Feature macro BOOST_HAS_SLIST is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_STATIC_ASSERT -# include "../test/boost_has_static_assert.ipp" -namespace test = boost_has_static_assert; +# ifndef BOOST_HAS_STATIC_ASSERT +# error "Feature macro BOOST_HAS_STATIC_ASSERT is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_STDINT_H -# include "../test/boost_has_stdint_h.ipp" -namespace test = boost_has_stdint_h; +# ifndef BOOST_HAS_STDINT_H +# error "Feature macro BOOST_HAS_STDINT_H is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_STLP_USE_FACET -# include "../test/boost_has_stlp_use_facet.ipp" -namespace test = boost_has_stlp_use_facet; +# ifndef BOOST_HAS_STLP_USE_FACET +# error "Feature macro BOOST_HAS_STLP_USE_FACET is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_ARRAY -# include "../test/boost_has_tr1_array.ipp" -namespace test = boost_has_tr1_array; +# ifndef BOOST_HAS_TR1_ARRAY +# error "Feature macro BOOST_HAS_TR1_ARRAY is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_BIND -# include "../test/boost_has_tr1_bind.ipp" -namespace test = boost_has_tr1_bind; +# ifndef BOOST_HAS_TR1_BIND +# error "Feature macro BOOST_HAS_TR1_BIND is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_COMPLEX_OVERLOADS -# include "../test/boost_has_tr1_complex_over.ipp" -namespace test = boost_has_tr1_complex_overloads; +# ifndef BOOST_HAS_TR1_COMPLEX_OVERLOADS +# error "Feature macro BOOST_HAS_TR1_COMPLEX_OVERLOADS is not defined." +# endif #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; +# ifndef BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG +# error "Feature macro BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_FUNCTION -# include "../test/boost_has_tr1_function.ipp" -namespace test = boost_has_tr1_function; +# ifndef BOOST_HAS_TR1_FUNCTION +# error "Feature macro BOOST_HAS_TR1_FUNCTION is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_HASH -# include "../test/boost_has_tr1_hash.ipp" -namespace test = boost_has_tr1_hash; +# ifndef BOOST_HAS_TR1_HASH +# error "Feature macro BOOST_HAS_TR1_HASH is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_MEM_FN -# include "../test/boost_has_tr1_mem_fn.ipp" -namespace test = boost_has_tr1_mem_fn; +# ifndef BOOST_HAS_TR1_MEM_FN +# error "Feature macro BOOST_HAS_TR1_MEM_FN is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_RANDOM -# include "../test/boost_has_tr1_random.ipp" -namespace test = boost_has_tr1_random; +# ifndef BOOST_HAS_TR1_RANDOM +# error "Feature macro BOOST_HAS_TR1_RANDOM is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_REFERENCE_WRAPPER -# include "../test/boost_has_tr1_ref_wrap.ipp" -namespace test = boost_has_tr1_reference_wrapper; +# ifndef BOOST_HAS_TR1_REFERENCE_WRAPPER +# error "Feature macro BOOST_HAS_TR1_REFERENCE_WRAPPER is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_REGEX -# include "../test/boost_has_tr1_regex.ipp" -namespace test = boost_has_tr1_regex; +# ifndef BOOST_HAS_TR1_REGEX +# error "Feature macro BOOST_HAS_TR1_REGEX is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_RESULT_OF -# include "../test/boost_has_tr1_result_of.ipp" -namespace test = boost_has_tr1_result_of; +# ifndef BOOST_HAS_TR1_RESULT_OF +# error "Feature macro BOOST_HAS_TR1_RESULT_OF is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_SHARED_PTR -# include "../test/boost_has_tr1_shared_ptr.ipp" -namespace test = boost_has_tr1_shared_ptr; +# ifndef BOOST_HAS_TR1_SHARED_PTR +# error "Feature macro BOOST_HAS_TR1_SHARED_PTR is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_TUPLE -# include "../test/boost_has_tr1_tuple.ipp" -namespace test = boost_has_tr1_tuple; +# ifndef BOOST_HAS_TR1_TUPLE +# error "Feature macro BOOST_HAS_TR1_TUPLE is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_TYPE_TRAITS -# include "../test/boost_has_tr1_type_traits.ipp" -namespace test = boost_has_tr1_type_traits; +# ifndef BOOST_HAS_TR1_TYPE_TRAITS +# error "Feature macro BOOST_HAS_TR1_TYPE_TRAITS is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_UNORDERED_MAP -# include "../test/boost_has_tr1_unordered_map.ipp" -namespace test = boost_has_tr1_unordered_map; +# ifndef BOOST_HAS_TR1_UNORDERED_MAP +# error "Feature macro BOOST_HAS_TR1_UNORDERED_MAP is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_UNORDERED_SET -# include "../test/boost_has_tr1_unordered_set.ipp" -namespace test = boost_has_tr1_unordered_set; +# ifndef BOOST_HAS_TR1_UNORDERED_SET +# error "Feature macro BOOST_HAS_TR1_UNORDERED_SET is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_TR1_UTILITY -# include "../test/boost_has_tr1_utility.ipp" -namespace test = boost_has_tr1_utility; +# ifndef BOOST_HAS_TR1_UTILITY +# error "Feature macro BOOST_HAS_TR1_UTILITY is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_UNISTD_H -# include "../test/boost_has_unistd_h.ipp" -namespace test = boost_has_unistd_h; +# ifndef BOOST_HAS_UNISTD_H +# error "Feature macro BOOST_HAS_UNISTD_H is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_VARIADIC_TMPL -# include "../test/boost_has_variadic_tmpl.ipp" -namespace test = boost_has_variadic_tmpl; +# ifndef BOOST_HAS_VARIADIC_TMPL +# error "Feature macro BOOST_HAS_VARIADIC_TMPL is not defined." +# endif #endif #ifdef TEST_BOOST_MSVC6_MEMBER_TEMPLATES -# include "../test/boost_has_vc6_mem_templ.ipp" -namespace test = boost_msvc6_member_templates; +# ifndef BOOST_MSVC6_MEMBER_TEMPLATES +# error "Feature macro BOOST_MSVC6_MEMBER_TEMPLATES is not defined." +# endif #endif #ifdef TEST_BOOST_MSVC_STD_ITERATOR -# include "../test/boost_has_vc_iterator.ipp" -namespace test = boost_msvc_std_iterator; +# ifndef BOOST_MSVC_STD_ITERATOR +# error "Feature macro BOOST_MSVC_STD_ITERATOR is not defined." +# endif #endif #ifdef TEST_BOOST_HAS_WINTHREADS -# include "../test/boost_has_winthreads.ipp" -namespace test = boost_has_winthreads; +# ifndef BOOST_HAS_WINTHREADS +# error "Feature macro BOOST_HAS_WINTHREADS is not defined." +# endif #endif #ifdef TEST_BOOST_NO_ADL_BARRIER -# include "../test/boost_no_adl_barrier.ipp" -namespace test = boost_no_adl_barrier; +# ifdef BOOST_NO_ADL_BARRIER +# error "Defect macro BOOST_NO_ADL_BARRIER is defined." +# endif #endif #ifdef TEST_BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# include "../test/boost_no_arg_dep_lookup.ipp" -namespace test = boost_no_argument_dependent_lookup; +# ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +# error "Defect macro BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP is defined." +# endif #endif #ifdef TEST_BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -# include "../test/boost_no_array_type_spec.ipp" -namespace test = boost_no_array_type_specializations; +# ifdef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS +# error "Defect macro BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_AUTO_DECLARATIONS -# include "../test/boost_no_auto_declarations.ipp" -namespace test = boost_no_cxx11_auto_declarations; +# ifdef BOOST_NO_CXX11_AUTO_DECLARATIONS +# error "Defect macro BOOST_NO_CXX11_AUTO_DECLARATIONS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -# include "../test/boost_no_auto_multidecl.ipp" -namespace test = boost_no_cxx11_auto_multideclarations; +# ifdef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +# error "Defect macro BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS is defined." +# endif #endif #ifdef TEST_BOOST_NO_AUTO_PTR -# include "../test/boost_no_auto_ptr.ipp" -namespace test = boost_no_auto_ptr; +# ifdef BOOST_NO_AUTO_PTR +# error "Defect macro BOOST_NO_AUTO_PTR is defined." +# endif #endif #ifdef TEST_BOOST_BCB_PARTIAL_SPECIALIZATION_BUG -# include "../test/boost_no_bcb_partial_spec.ipp" -namespace test = boost_bcb_partial_specialization_bug; +# ifdef BOOST_BCB_PARTIAL_SPECIALIZATION_BUG +# error "Defect macro BOOST_BCB_PARTIAL_SPECIALIZATION_BUG is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_CHAR16_T -# include "../test/boost_no_char16_t.ipp" -namespace test = boost_no_cxx11_char16_t; +# ifdef BOOST_NO_CXX11_CHAR16_T +# error "Defect macro BOOST_NO_CXX11_CHAR16_T is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_CHAR32_T -# include "../test/boost_no_char32_t.ipp" -namespace test = boost_no_cxx11_char32_t; +# ifdef BOOST_NO_CXX11_CHAR32_T +# error "Defect macro BOOST_NO_CXX11_CHAR32_T is defined." +# endif #endif #ifdef TEST_BOOST_NO_COMPLETE_VALUE_INITIALIZATION -# include "../test/boost_no_com_value_init.ipp" -namespace test = boost_no_complete_value_initialization; +# ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION +# error "Defect macro BOOST_NO_COMPLETE_VALUE_INITIALIZATION is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_CONSTEXPR -# include "../test/boost_no_constexpr.ipp" -namespace test = boost_no_cxx11_constexpr; +# ifdef BOOST_NO_CXX11_CONSTEXPR +# error "Defect macro BOOST_NO_CXX11_CONSTEXPR is defined." +# endif #endif #ifdef TEST_BOOST_NO_CTYPE_FUNCTIONS -# include "../test/boost_no_ctype_functions.ipp" -namespace test = boost_no_ctype_functions; +# ifdef BOOST_NO_CTYPE_FUNCTIONS +# error "Defect macro BOOST_NO_CTYPE_FUNCTIONS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CV_SPECIALIZATIONS -# include "../test/boost_no_cv_spec.ipp" -namespace test = boost_no_cv_specializations; +# ifdef BOOST_NO_CV_SPECIALIZATIONS +# error "Defect macro BOOST_NO_CV_SPECIALIZATIONS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CV_VOID_SPECIALIZATIONS -# include "../test/boost_no_cv_void_spec.ipp" -namespace test = boost_no_cv_void_specializations; +# ifdef BOOST_NO_CV_VOID_SPECIALIZATIONS +# error "Defect macro BOOST_NO_CV_VOID_SPECIALIZATIONS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CWCHAR -# include "../test/boost_no_cwchar.ipp" -namespace test = boost_no_cwchar; +# ifdef BOOST_NO_CWCHAR +# error "Defect macro BOOST_NO_CWCHAR is defined." +# endif #endif #ifdef TEST_BOOST_NO_CWCTYPE -# include "../test/boost_no_cwctype.ipp" -namespace test = boost_no_cwctype; +# ifdef BOOST_NO_CWCTYPE +# error "Defect macro BOOST_NO_CWCTYPE is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_ADDRESSOF -# include "../test/boost_no_cxx11_addressof.ipp" -namespace test = boost_no_cxx11_addressof; +# ifdef BOOST_NO_CXX11_ADDRESSOF +# error "Defect macro BOOST_NO_CXX11_ADDRESSOF is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_ALIGNAS -# include "../test/boost_no_cxx11_alignas.ipp" -namespace test = boost_no_cxx11_alignas; +# ifdef BOOST_NO_CXX11_ALIGNAS +# error "Defect macro BOOST_NO_CXX11_ALIGNAS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_ALLOCATOR -# include "../test/boost_no_cxx11_allocator.ipp" -namespace test = boost_no_cxx11_allocator; +# ifdef BOOST_NO_CXX11_ALLOCATOR +# error "Defect macro BOOST_NO_CXX11_ALLOCATOR is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_ATOMIC_SMART_PTR +# error "Defect macro BOOST_NO_CXX11_ATOMIC_SMART_PTR is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_FINAL -# include "../test/boost_no_cxx11_final.ipp" -namespace test = boost_no_cxx11_final; +# ifdef BOOST_NO_CXX11_FINAL +# error "Defect macro BOOST_NO_CXX11_FINAL is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_HDR_ARRAY -# include "../test/boost_no_cxx11_hdr_array.ipp" -namespace test = boost_no_cxx11_hdr_array; +# ifdef BOOST_NO_CXX11_HDR_ARRAY +# error "Defect macro BOOST_NO_CXX11_HDR_ARRAY is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_HDR_ATOMIC -# include "../test/boost_no_cxx11_hdr_atomic.ipp" -namespace test = boost_no_cxx11_hdr_atomic; +# ifdef BOOST_NO_CXX11_HDR_ATOMIC +# error "Defect macro BOOST_NO_CXX11_HDR_ATOMIC is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_HDR_CHRONO -# include "../test/boost_no_cxx11_hdr_chrono.ipp" -namespace test = boost_no_cxx11_hdr_chrono; +# ifdef BOOST_NO_CXX11_HDR_CHRONO +# error "Defect macro BOOST_NO_CXX11_HDR_CHRONO is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_HDR_CODECVT -# include "../test/boost_no_cxx11_hdr_codecvt.ipp" -namespace test = boost_no_cxx11_hdr_codecvt; +# ifdef BOOST_NO_CXX11_HDR_CODECVT +# error "Defect macro BOOST_NO_CXX11_HDR_CODECVT is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# error "Defect macro BOOST_NO_CXX11_HDR_CONDITION_VARIABLE is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_HDR_FORWARD_LIST +# error "Defect macro BOOST_NO_CXX11_HDR_FORWARD_LIST is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_HDR_FUTURE -# include "../test/boost_no_cxx11_hdr_future.ipp" -namespace test = boost_no_cxx11_hdr_future; +# ifdef BOOST_NO_CXX11_HDR_FUTURE +# error "Defect macro BOOST_NO_CXX11_HDR_FUTURE is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# error "Defect macro BOOST_NO_CXX11_HDR_INITIALIZER_LIST is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_HDR_MUTEX -# include "../test/boost_no_cxx11_hdr_mutex.ipp" -namespace test = boost_no_cxx11_hdr_mutex; +# ifdef BOOST_NO_CXX11_HDR_MUTEX +# error "Defect macro BOOST_NO_CXX11_HDR_MUTEX is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_HDR_RANDOM -# include "../test/boost_no_cxx11_hdr_random.ipp" -namespace test = boost_no_cxx11_hdr_random; +# ifdef BOOST_NO_CXX11_HDR_RANDOM +# error "Defect macro BOOST_NO_CXX11_HDR_RANDOM is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_HDR_RATIO -# include "../test/boost_no_cxx11_hdr_ratio.ipp" -namespace test = boost_no_cxx11_hdr_ratio; +# ifdef BOOST_NO_CXX11_HDR_RATIO +# error "Defect macro BOOST_NO_CXX11_HDR_RATIO is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_HDR_REGEX -# include "../test/boost_no_cxx11_hdr_regex.ipp" -namespace test = boost_no_cxx11_hdr_regex; +# ifdef BOOST_NO_CXX11_HDR_REGEX +# error "Defect macro BOOST_NO_CXX11_HDR_REGEX is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# error "Defect macro BOOST_NO_CXX11_HDR_SYSTEM_ERROR is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_HDR_THREAD -# include "../test/boost_no_cxx11_hdr_thread.ipp" -namespace test = boost_no_cxx11_hdr_thread; +# ifdef BOOST_NO_CXX11_HDR_THREAD +# error "Defect macro BOOST_NO_CXX11_HDR_THREAD is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_HDR_TUPLE -# include "../test/boost_no_cxx11_hdr_tuple.ipp" -namespace test = boost_no_cxx11_hdr_tuple; +# ifdef BOOST_NO_CXX11_HDR_TUPLE +# error "Defect macro BOOST_NO_CXX11_HDR_TUPLE is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_HDR_TYPE_TRAITS +# error "Defect macro BOOST_NO_CXX11_HDR_TYPE_TRAITS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_HDR_TYPEINDEX -# include "../test/boost_no_cxx11_hdr_typeindex.ipp" -namespace test = boost_no_cxx11_hdr_typeindex; +# ifdef BOOST_NO_CXX11_HDR_TYPEINDEX +# error "Defect macro BOOST_NO_CXX11_HDR_TYPEINDEX is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_HDR_UNORDERED_MAP +# error "Defect macro BOOST_NO_CXX11_HDR_UNORDERED_MAP is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_HDR_UNORDERED_SET +# error "Defect macro BOOST_NO_CXX11_HDR_UNORDERED_SET is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_INLINE_NAMESPACES -# include "../test/boost_no_cxx11_inline_namespaces.ipp" -namespace test = boost_no_cxx11_inline_namespaces; +# ifdef BOOST_NO_CXX11_INLINE_NAMESPACES +# error "Defect macro BOOST_NO_CXX11_INLINE_NAMESPACES is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS +# error "Defect macro BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_NUMERIC_LIMITS -# include "../test/boost_no_cxx11_numeric_limits.ipp" -namespace test = boost_no_cxx11_numeric_limits; +# ifdef BOOST_NO_CXX11_NUMERIC_LIMITS +# error "Defect macro BOOST_NO_CXX11_NUMERIC_LIMITS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_REF_QUALIFIERS -# include "../test/boost_no_cxx11_ref_qualifiers.ipp" -namespace test = boost_no_cxx11_ref_qualifiers; +# ifdef BOOST_NO_CXX11_REF_QUALIFIERS +# error "Defect macro BOOST_NO_CXX11_REF_QUALIFIERS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_SFINAE_EXPR -# include "../test/boost_no_cxx11_sfinae_expr.ipp" -namespace test = boost_no_cxx11_sfinae_expr; +# ifdef BOOST_NO_CXX11_SFINAE_EXPR +# error "Defect macro BOOST_NO_CXX11_SFINAE_EXPR is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_SMART_PTR -# include "../test/boost_no_cxx11_smart_ptr.ipp" -namespace test = boost_no_cxx11_smart_ptr; +# ifdef BOOST_NO_CXX11_SMART_PTR +# error "Defect macro BOOST_NO_CXX11_SMART_PTR is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_STD_ALIGN -# include "../test/boost_no_cxx11_std_align.ipp" -namespace test = boost_no_cxx11_std_align; +# ifdef BOOST_NO_CXX11_STD_ALIGN +# error "Defect macro BOOST_NO_CXX11_STD_ALIGN is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_THREAD_LOCAL -# include "../test/boost_no_cxx11_thread_local.ipp" -namespace test = boost_no_cxx11_thread_local; +# ifdef BOOST_NO_CXX11_THREAD_LOCAL +# error "Defect macro BOOST_NO_CXX11_THREAD_LOCAL is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_TRAILING_RESULT_TYPES +# error "Defect macro BOOST_NO_CXX11_TRAILING_RESULT_TYPES is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_USER_DEFINED_LITERALS +# error "Defect macro BOOST_NO_CXX11_USER_DEFINED_LITERALS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX14_BINARY_LITERALS -# include "../test/boost_no_cxx14_binary_literals.ipp" -namespace test = boost_no_cxx14_binary_literals; +# ifdef BOOST_NO_CXX14_BINARY_LITERALS +# error "Defect macro BOOST_NO_CXX14_BINARY_LITERALS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX14_CONSTEXPR -# include "../test/boost_no_cxx14_constexpr.ipp" -namespace test = boost_no_cxx14_constexpr; +# ifdef BOOST_NO_CXX14_CONSTEXPR +# error "Defect macro BOOST_NO_CXX14_CONSTEXPR is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX14_DECLTYPE_AUTO -# include "../test/boost_no_cxx14_decltype_auto.ipp" -namespace test = boost_no_cxx14_decltype_auto; +# ifdef BOOST_NO_CXX14_DECLTYPE_AUTO +# error "Defect macro BOOST_NO_CXX14_DECLTYPE_AUTO is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX14_DIGIT_SEPARATORS -# include "../test/boost_no_cxx14_digit_separator.ipp" -namespace test = boost_no_cxx14_digit_separators; +# ifdef BOOST_NO_CXX14_DIGIT_SEPARATORS +# error "Defect macro BOOST_NO_CXX14_DIGIT_SEPARATORS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX14_GENERIC_LAMBDAS -# include "../test/boost_no_cxx14_generic_lambda.ipp" -namespace test = boost_no_cxx14_generic_lambdas; +# ifdef BOOST_NO_CXX14_GENERIC_LAMBDAS +# error "Defect macro BOOST_NO_CXX14_GENERIC_LAMBDAS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX14_HDR_SHARED_MUTEX -# include "../test/boost_no_cxx14_hdr_shared_mutex.ipp" -namespace test = boost_no_cxx14_hdr_shared_mutex; +# ifdef BOOST_NO_CXX14_HDR_SHARED_MUTEX +# error "Defect macro BOOST_NO_CXX14_HDR_SHARED_MUTEX is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -# include "../test/boost_no_cxx14_lambda_capture.ipp" -namespace test = boost_no_cxx14_initialized_lambda_captures; +# ifdef BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +# error "Defect macro BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX14_AGGREGATE_NSDMI -# include "../test/boost_no_cxx14_member_init.ipp" -namespace test = boost_no_cxx14_aggregate_nsdmi; +# ifdef BOOST_NO_CXX14_AGGREGATE_NSDMI +# error "Defect macro BOOST_NO_CXX14_AGGREGATE_NSDMI is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -# include "../test/boost_no_cxx14_return_type_ded.ipp" -namespace test = boost_no_cxx14_return_type_deduction; +# ifdef BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +# error "Defect macro BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX14_STD_EXCHANGE -# include "../test/boost_no_cxx14_std_exchange.ipp" -namespace test = boost_no_cxx14_std_exchange; +# ifdef BOOST_NO_CXX14_STD_EXCHANGE +# error "Defect macro BOOST_NO_CXX14_STD_EXCHANGE is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES -# include "../test/boost_no_cxx14_var_templ.ipp" -namespace test = boost_no_cxx14_variable_templates; +# ifdef BOOST_NO_CXX14_VARIABLE_TEMPLATES +# error "Defect macro BOOST_NO_CXX14_VARIABLE_TEMPLATES is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX17_STD_APPLY -# include "../test/boost_no_cxx17_std_apply.ipp" -namespace test = boost_no_cxx17_std_apply; +# ifdef BOOST_NO_CXX17_STD_APPLY +# error "Defect macro BOOST_NO_CXX17_STD_APPLY is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX17_STD_INVOKE -# include "../test/boost_no_cxx17_std_invoke.ipp" -namespace test = boost_no_cxx17_std_invoke; +# ifdef BOOST_NO_CXX17_STD_INVOKE +# error "Defect macro BOOST_NO_CXX17_STD_INVOKE is defined." +# endif +#endif +#ifdef TEST_BOOST_NO_CXX98_BINDERS +# ifdef BOOST_NO_CXX98_BINDERS +# error "Defect macro BOOST_NO_CXX98_BINDERS is defined." +# endif +#endif +#ifdef TEST_BOOST_NO_CXX98_FUNCTION_BASE +# ifdef BOOST_NO_CXX98_FUNCTION_BASE +# error "Defect macro BOOST_NO_CXX98_FUNCTION_BASE is defined." +# endif +#endif +#ifdef TEST_BOOST_NO_CXX98_RANDOM_SHUFFLE +# ifdef BOOST_NO_CXX98_RANDOM_SHUFFLE +# error "Defect macro BOOST_NO_CXX98_RANDOM_SHUFFLE is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL -# include "../test/boost_no_cxx_hdr_functional.ipp" -namespace test = boost_no_cxx11_hdr_functional; +# ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL +# error "Defect macro BOOST_NO_CXX11_HDR_FUNCTIONAL is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_DECLTYPE -# include "../test/boost_no_decltype.ipp" -namespace test = boost_no_cxx11_decltype; +# ifdef BOOST_NO_CXX11_DECLTYPE +# error "Defect macro BOOST_NO_CXX11_DECLTYPE is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_DECLTYPE_N3276 -# include "../test/boost_no_decltype_n3276.ipp" -namespace test = boost_no_cxx11_decltype_n3276; +# ifdef BOOST_NO_CXX11_DECLTYPE_N3276 +# error "Defect macro BOOST_NO_CXX11_DECLTYPE_N3276 is defined." +# endif #endif #ifdef TEST_BOOST_DEDUCED_TYPENAME -# include "../test/boost_no_ded_typename.ipp" -namespace test = boost_deduced_typename; +# ifdef BOOST_DEDUCED_TYPENAME +# error "Defect macro BOOST_DEDUCED_TYPENAME is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# include "../test/boost_no_defaulted_functions.ipp" -namespace test = boost_no_cxx11_defaulted_functions; +# ifdef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +# error "Defect macro BOOST_NO_CXX11_DEFAULTED_FUNCTIONS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_DELETED_FUNCTIONS -# include "../test/boost_no_deleted_functions.ipp" -namespace test = boost_no_cxx11_deleted_functions; +# ifdef BOOST_NO_CXX11_DELETED_FUNCTIONS +# error "Defect macro BOOST_NO_CXX11_DELETED_FUNCTIONS is defined." +# endif #endif #ifdef TEST_BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# include "../test/boost_no_dep_nested_class.ipp" -namespace test = boost_no_dependent_nested_derivations; +# ifdef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# error "Defect macro BOOST_NO_DEPENDENT_NESTED_DERIVATIONS is defined." +# endif #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; +# ifdef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# error "Defect macro BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS is defined." +# endif #endif #ifdef TEST_BOOST_NO_EXCEPTION_STD_NAMESPACE -# include "../test/boost_no_excep_std.ipp" -namespace test = boost_no_exception_std_namespace; +# ifdef BOOST_NO_EXCEPTION_STD_NAMESPACE +# error "Defect macro BOOST_NO_EXCEPTION_STD_NAMESPACE is defined." +# endif #endif #ifdef TEST_BOOST_NO_EXCEPTIONS -# include "../test/boost_no_exceptions.ipp" -namespace test = boost_no_exceptions; +# ifdef BOOST_NO_EXCEPTIONS +# error "Defect macro BOOST_NO_EXCEPTIONS is defined." +# endif #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; +# ifdef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +# error "Defect macro BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +# error "Defect macro BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_EXTERN_TEMPLATE -# include "../test/boost_no_extern_template.ipp" -namespace test = boost_no_cxx11_extern_template; +# ifdef BOOST_NO_CXX11_EXTERN_TEMPLATE +# error "Defect macro BOOST_NO_CXX11_EXTERN_TEMPLATE is defined." +# endif #endif #ifdef TEST_BOOST_NO_FENV_H -# include "../test/boost_no_fenv_h.ipp" -namespace test = boost_no_fenv_h; +# ifdef BOOST_NO_FENV_H +# error "Defect macro BOOST_NO_FENV_H is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS +# error "Defect macro BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS is defined." +# endif #endif #ifdef TEST_BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# include "../test/boost_no_func_tmp_order.ipp" -namespace test = boost_no_function_template_ordering; +# ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# error "Defect macro BOOST_NO_FUNCTION_TEMPLATE_ORDERING is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +# error "Defect macro BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS is defined." +# endif #endif #ifdef TEST_BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS -# include "../test/boost_no_function_type_spec.ipp" -namespace test = boost_no_function_type_specializations; +# ifdef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS +# error "Defect macro BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS is defined." +# endif #endif #ifdef TEST_BOOST_NO_MS_INT64_NUMERIC_LIMITS -# include "../test/boost_no_i64_limits.ipp" -namespace test = boost_no_ms_int64_numeric_limits; +# ifdef BOOST_NO_MS_INT64_NUMERIC_LIMITS +# error "Defect macro BOOST_NO_MS_INT64_NUMERIC_LIMITS is defined." +# endif #endif #ifdef TEST_BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# include "../test/boost_no_inline_memb_init.ipp" -namespace test = boost_no_inclass_member_initialization; +# ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# error "Defect macro BOOST_NO_INCLASS_MEMBER_INITIALIZATION is defined." +# endif #endif #ifdef TEST_BOOST_NO_INTEGRAL_INT64_T -# include "../test/boost_no_integral_int64_t.ipp" -namespace test = boost_no_integral_int64_t; +# ifdef BOOST_NO_INTEGRAL_INT64_T +# error "Defect macro BOOST_NO_INTEGRAL_INT64_T is defined." +# endif #endif #ifdef TEST_BOOST_NO_IOSFWD -# include "../test/boost_no_iosfwd.ipp" -namespace test = boost_no_iosfwd; +# ifdef BOOST_NO_IOSFWD +# error "Defect macro BOOST_NO_IOSFWD is defined." +# endif #endif #ifdef TEST_BOOST_NO_IOSTREAM -# include "../test/boost_no_iostream.ipp" -namespace test = boost_no_iostream; +# ifdef BOOST_NO_IOSTREAM +# error "Defect macro BOOST_NO_IOSTREAM is defined." +# endif #endif #ifdef TEST_BOOST_NO_IS_ABSTRACT -# include "../test/boost_no_is_abstract.ipp" -namespace test = boost_no_is_abstract; +# ifdef BOOST_NO_IS_ABSTRACT +# error "Defect macro BOOST_NO_IS_ABSTRACT is defined." +# endif #endif #ifdef TEST_BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# include "../test/boost_no_iter_construct.ipp" -namespace test = boost_no_templated_iterator_constructors; +# ifdef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# error "Defect macro BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_LAMBDAS -# include "../test/boost_no_lambdas.ipp" -namespace test = boost_no_cxx11_lambdas; +# ifdef BOOST_NO_CXX11_LAMBDAS +# error "Defect macro BOOST_NO_CXX11_LAMBDAS is defined." +# endif #endif #ifdef TEST_BOOST_NO_LIMITS -# include "../test/boost_no_limits.ipp" -namespace test = boost_no_limits; +# ifdef BOOST_NO_LIMITS +# error "Defect macro BOOST_NO_LIMITS is defined." +# endif #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; +# ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# error "Defect macro BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS is defined." +# endif #endif #ifdef TEST_BOOST_NO_LONG_LONG_NUMERIC_LIMITS -# include "../test/boost_no_ll_limits.ipp" -namespace test = boost_no_long_long_numeric_limits; +# ifdef BOOST_NO_LONG_LONG_NUMERIC_LIMITS +# error "Defect macro BOOST_NO_LONG_LONG_NUMERIC_LIMITS is defined." +# endif #endif #ifdef TEST_BOOST_NO_LONG_LONG -# include "../test/boost_no_long_long.ipp" -namespace test = boost_no_long_long; +# ifdef BOOST_NO_LONG_LONG +# error "Defect macro BOOST_NO_LONG_LONG is defined." +# endif #endif #ifdef TEST_BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -# include "../test/boost_no_mem_func_spec.ipp" -namespace test = boost_no_member_function_specializations; +# ifdef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +# error "Defect macro BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS is defined." +# endif #endif #ifdef TEST_BOOST_NO_MEMBER_TEMPLATE_KEYWORD -# include "../test/boost_no_mem_tem_keyword.ipp" -namespace test = boost_no_member_template_keyword; +# ifdef BOOST_NO_MEMBER_TEMPLATE_KEYWORD +# error "Defect macro BOOST_NO_MEMBER_TEMPLATE_KEYWORD is defined." +# endif #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; +# ifdef BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +# error "Defect macro BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS is defined." +# endif #endif #ifdef TEST_BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# include "../test/boost_no_mem_templ_frnds.ipp" -namespace test = boost_no_member_template_friends; +# ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# error "Defect macro BOOST_NO_MEMBER_TEMPLATE_FRIENDS is defined." +# endif #endif #ifdef TEST_BOOST_NO_MEMBER_TEMPLATES -# include "../test/boost_no_mem_templates.ipp" -namespace test = boost_no_member_templates; +# ifdef BOOST_NO_MEMBER_TEMPLATES +# error "Defect macro BOOST_NO_MEMBER_TEMPLATES is defined." +# endif #endif #ifdef TEST_BOOST_NO_NESTED_FRIENDSHIP -# include "../test/boost_no_nested_friendship.ipp" -namespace test = boost_no_nested_friendship; +# ifdef BOOST_NO_NESTED_FRIENDSHIP +# error "Defect macro BOOST_NO_NESTED_FRIENDSHIP is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_NOEXCEPT -# include "../test/boost_no_noexcept.ipp" -namespace test = boost_no_cxx11_noexcept; +# ifdef BOOST_NO_CXX11_NOEXCEPT +# error "Defect macro BOOST_NO_CXX11_NOEXCEPT is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_NULLPTR -# include "../test/boost_no_nullptr.ipp" -namespace test = boost_no_cxx11_nullptr; +# ifdef BOOST_NO_CXX11_NULLPTR +# error "Defect macro BOOST_NO_CXX11_NULLPTR is defined." +# endif #endif #ifdef TEST_BOOST_NO_OPERATORS_IN_NAMESPACE -# include "../test/boost_no_ops_in_namespace.ipp" -namespace test = boost_no_operators_in_namespace; +# ifdef BOOST_NO_OPERATORS_IN_NAMESPACE +# error "Defect macro BOOST_NO_OPERATORS_IN_NAMESPACE is defined." +# endif #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; +# ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS +# error "Defect macro BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS is defined." +# endif #endif #ifdef TEST_BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# include "../test/boost_no_partial_spec.ipp" -namespace test = boost_no_template_partial_specialization; +# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# error "Defect macro BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION is defined." +# endif #endif #ifdef TEST_BOOST_NO_PRIVATE_IN_AGGREGATE -# include "../test/boost_no_priv_aggregate.ipp" -namespace test = boost_no_private_in_aggregate; +# ifdef BOOST_NO_PRIVATE_IN_AGGREGATE +# error "Defect macro BOOST_NO_PRIVATE_IN_AGGREGATE is defined." +# endif #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; +# ifdef BOOST_NO_POINTER_TO_MEMBER_CONST +# error "Defect macro BOOST_NO_POINTER_TO_MEMBER_CONST is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_RANGE_BASED_FOR +# error "Defect macro BOOST_NO_CXX11_RANGE_BASED_FOR is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_RAW_LITERALS -# include "../test/boost_no_raw_literals.ipp" -namespace test = boost_no_cxx11_raw_literals; +# ifdef BOOST_NO_CXX11_RAW_LITERALS +# error "Defect macro BOOST_NO_CXX11_RAW_LITERALS is defined." +# endif #endif #ifdef TEST_BOOST_NO_RESTRICT_REFERENCES -# include "../test/boost_no_restrict_references.ipp" -namespace test = boost_no_restrict_references; +# ifdef BOOST_NO_RESTRICT_REFERENCES +# error "Defect macro BOOST_NO_RESTRICT_REFERENCES is defined." +# endif #endif #ifdef TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION -# include "../test/boost_no_ret_det.ipp" -namespace test = boost_no_unreachable_return_detection; +# ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION +# error "Defect macro BOOST_NO_UNREACHABLE_RETURN_DETECTION is defined." +# endif #endif #ifdef TEST_BOOST_NO_RTTI -# include "../test/boost_no_rtti.ipp" -namespace test = boost_no_rtti; +# ifdef BOOST_NO_RTTI +# error "Defect macro BOOST_NO_RTTI is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_RVALUE_REFERENCES -# include "../test/boost_no_rvalue_references.ipp" -namespace test = boost_no_cxx11_rvalue_references; +# ifdef BOOST_NO_CXX11_RVALUE_REFERENCES +# error "Defect macro BOOST_NO_CXX11_RVALUE_REFERENCES is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_SCOPED_ENUMS -# include "../test/boost_no_scoped_enums.ipp" -namespace test = boost_no_cxx11_scoped_enums; +# ifdef BOOST_NO_CXX11_SCOPED_ENUMS +# error "Defect macro BOOST_NO_CXX11_SCOPED_ENUMS is defined." +# endif #endif #ifdef TEST_BOOST_NO_SFINAE -# include "../test/boost_no_sfinae.ipp" -namespace test = boost_no_sfinae; +# ifdef BOOST_NO_SFINAE +# error "Defect macro BOOST_NO_SFINAE is defined." +# endif #endif #ifdef TEST_BOOST_NO_SFINAE_EXPR -# include "../test/boost_no_sfinae_expr.ipp" -namespace test = boost_no_sfinae_expr; +# ifdef BOOST_NO_SFINAE_EXPR +# error "Defect macro BOOST_NO_SFINAE_EXPR is defined." +# endif #endif #ifdef TEST_BOOST_NO_STRINGSTREAM -# include "../test/boost_no_sstream.ipp" -namespace test = boost_no_stringstream; +# ifdef BOOST_NO_STRINGSTREAM +# error "Defect macro BOOST_NO_STRINGSTREAM is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_STATIC_ASSERT -# include "../test/boost_no_static_assert.ipp" -namespace test = boost_no_cxx11_static_assert; +# ifdef BOOST_NO_CXX11_STATIC_ASSERT +# error "Defect macro BOOST_NO_CXX11_STATIC_ASSERT is defined." +# endif #endif #ifdef TEST_BOOST_NO_STD_ALLOCATOR -# include "../test/boost_no_std_allocator.ipp" -namespace test = boost_no_std_allocator; +# ifdef BOOST_NO_STD_ALLOCATOR +# error "Defect macro BOOST_NO_STD_ALLOCATOR is defined." +# endif #endif #ifdef TEST_BOOST_NO_STD_DISTANCE -# include "../test/boost_no_std_distance.ipp" -namespace test = boost_no_std_distance; +# ifdef BOOST_NO_STD_DISTANCE +# error "Defect macro BOOST_NO_STD_DISTANCE is defined." +# endif #endif #ifdef TEST_BOOST_NO_STD_ITERATOR_TRAITS -# include "../test/boost_no_std_iter_traits.ipp" -namespace test = boost_no_std_iterator_traits; +# ifdef BOOST_NO_STD_ITERATOR_TRAITS +# error "Defect macro BOOST_NO_STD_ITERATOR_TRAITS is defined." +# endif #endif #ifdef TEST_BOOST_NO_STD_ITERATOR -# include "../test/boost_no_std_iterator.ipp" -namespace test = boost_no_std_iterator; +# ifdef BOOST_NO_STD_ITERATOR +# error "Defect macro BOOST_NO_STD_ITERATOR is defined." +# endif #endif #ifdef TEST_BOOST_NO_STD_LOCALE -# include "../test/boost_no_std_locale.ipp" -namespace test = boost_no_std_locale; +# ifdef BOOST_NO_STD_LOCALE +# error "Defect macro BOOST_NO_STD_LOCALE is defined." +# endif #endif #ifdef TEST_BOOST_NO_STD_MESSAGES -# include "../test/boost_no_std_messages.ipp" -namespace test = boost_no_std_messages; +# ifdef BOOST_NO_STD_MESSAGES +# error "Defect macro BOOST_NO_STD_MESSAGES is defined." +# endif #endif #ifdef TEST_BOOST_NO_STD_MIN_MAX -# include "../test/boost_no_std_min_max.ipp" -namespace test = boost_no_std_min_max; +# ifdef BOOST_NO_STD_MIN_MAX +# error "Defect macro BOOST_NO_STD_MIN_MAX is defined." +# endif #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; +# ifdef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN +# error "Defect macro BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN is defined." +# endif #endif #ifdef TEST_BOOST_NO_STD_TYPEINFO -# include "../test/boost_no_std_typeinfo.ipp" -namespace test = boost_no_std_typeinfo; +# ifdef BOOST_NO_STD_TYPEINFO +# error "Defect macro BOOST_NO_STD_TYPEINFO is defined." +# endif #endif #ifdef TEST_BOOST_NO_STD_USE_FACET -# include "../test/boost_no_std_use_facet.ipp" -namespace test = boost_no_std_use_facet; +# ifdef BOOST_NO_STD_USE_FACET +# error "Defect macro BOOST_NO_STD_USE_FACET is defined." +# endif #endif #ifdef TEST_BOOST_NO_STD_WSTREAMBUF -# include "../test/boost_no_std_wstreambuf.ipp" -namespace test = boost_no_std_wstreambuf; +# ifdef BOOST_NO_STD_WSTREAMBUF +# error "Defect macro BOOST_NO_STD_WSTREAMBUF is defined." +# endif #endif #ifdef TEST_BOOST_NO_STD_WSTRING -# include "../test/boost_no_std_wstring.ipp" -namespace test = boost_no_std_wstring; +# ifdef BOOST_NO_STD_WSTRING +# error "Defect macro BOOST_NO_STD_WSTRING is defined." +# endif #endif #ifdef TEST_BOOST_NO_STDC_NAMESPACE -# include "../test/boost_no_stdc_namespace.ipp" -namespace test = boost_no_stdc_namespace; +# ifdef BOOST_NO_STDC_NAMESPACE +# error "Defect macro BOOST_NO_STDC_NAMESPACE is defined." +# endif #endif #ifdef TEST_BOOST_NO_SWPRINTF -# include "../test/boost_no_swprintf.ipp" -namespace test = boost_no_swprintf; +# ifdef BOOST_NO_SWPRINTF +# error "Defect macro BOOST_NO_SWPRINTF is defined." +# endif #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; +# ifdef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +# error "Defect macro BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_TEMPLATE_ALIASES -# include "../test/boost_no_template_aliases.ipp" -namespace test = boost_no_cxx11_template_aliases; +# ifdef BOOST_NO_CXX11_TEMPLATE_ALIASES +# error "Defect macro BOOST_NO_CXX11_TEMPLATE_ALIASES is defined." +# endif #endif #ifdef TEST_BOOST_NO_TEMPLATED_IOSTREAMS -# include "../test/boost_no_template_streams.ipp" -namespace test = boost_no_templated_iostreams; +# ifdef BOOST_NO_TEMPLATED_IOSTREAMS +# error "Defect macro BOOST_NO_TEMPLATED_IOSTREAMS is defined." +# endif #endif #ifdef TEST_BOOST_NO_TEMPLATE_TEMPLATES -# include "../test/boost_no_template_template.ipp" -namespace test = boost_no_template_templates; +# ifdef BOOST_NO_TEMPLATE_TEMPLATES +# error "Defect macro BOOST_NO_TEMPLATE_TEMPLATES is defined." +# endif #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; +# ifdef BOOST_NO_TWO_PHASE_NAME_LOOKUP +# error "Defect macro BOOST_NO_TWO_PHASE_NAME_LOOKUP is defined." +# endif #endif #ifdef TEST_BOOST_NO_TYPEID -# include "../test/boost_no_typeid.ipp" -namespace test = boost_no_typeid; +# ifdef BOOST_NO_TYPEID +# error "Defect macro BOOST_NO_TYPEID is defined." +# endif #endif #ifdef TEST_BOOST_NO_TYPENAME_WITH_CTOR -# include "../test/boost_no_typename_with_ctor.ipp" -namespace test = boost_no_typename_with_ctor; +# ifdef BOOST_NO_TYPENAME_WITH_CTOR +# error "Defect macro BOOST_NO_TYPENAME_WITH_CTOR is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_UNICODE_LITERALS -# include "../test/boost_no_unicode_literals.ipp" -namespace test = boost_no_cxx11_unicode_literals; +# ifdef BOOST_NO_CXX11_UNICODE_LITERALS +# error "Defect macro BOOST_NO_CXX11_UNICODE_LITERALS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -# include "../test/boost_no_unified_init.ipp" -namespace test = boost_no_cxx11_unified_initialization_syntax; +# ifdef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +# error "Defect macro BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX is defined." +# endif #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; +# ifdef BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +# error "Defect macro BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL is defined." +# endif #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; +# ifdef BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +# error "Defect macro BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE is defined." +# endif #endif #ifdef TEST_BOOST_NO_USING_TEMPLATE -# include "../test/boost_no_using_template.ipp" -namespace test = boost_no_using_template; +# ifdef BOOST_NO_USING_TEMPLATE +# error "Defect macro BOOST_NO_USING_TEMPLATE is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_VARIADIC_MACROS -# include "../test/boost_no_variadic_macros.ipp" -namespace test = boost_no_cxx11_variadic_macros; +# ifdef BOOST_NO_CXX11_VARIADIC_MACROS +# error "Defect macro BOOST_NO_CXX11_VARIADIC_MACROS is defined." +# endif #endif #ifdef TEST_BOOST_NO_CXX11_VARIADIC_TEMPLATES -# include "../test/boost_no_variadic_templates.ipp" -namespace test = boost_no_cxx11_variadic_templates; +# ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES +# error "Defect macro BOOST_NO_CXX11_VARIADIC_TEMPLATES is defined." +# endif #endif #ifdef TEST_BOOST_NO_VOID_RETURNS -# include "../test/boost_no_void_returns.ipp" -namespace test = boost_no_void_returns; +# ifdef BOOST_NO_VOID_RETURNS +# error "Defect macro BOOST_NO_VOID_RETURNS is defined." +# endif #endif #ifdef TEST_BOOST_NO_INTRINSIC_WCHAR_T -# include "../test/boost_no_wchar_t.ipp" -namespace test = boost_no_intrinsic_wchar_t; +# ifdef BOOST_NO_INTRINSIC_WCHAR_T +# error "Defect macro BOOST_NO_INTRINSIC_WCHAR_T is defined." +# endif #endif int main( int, char *[] ) { - return test::test(); + return 0; } diff --git a/configure b/configure index 82d3db96..85e2307e 100644 --- a/configure +++ b/configure @@ -2614,7 +2614,7 @@ for file in $boost_base/libs/config/test/boost_no*.ipp; do basename=`echo $file | $SED 's/.*boost_\(.*\)\.ipp/\1/'` macroname=`cat $file | grep '^//[ ]*MACRO:' | $SED 's/.*MACRO:[ ]*\([_A-Z0-9]*\).*/\1/'` title=`cat $file | grep '^//[ ]*TITLE:' | $SED 's/.*TITLE:[ ]*\([^ ].*\)/\1/'` - namespace=`echo $macroname | tr [A-Z] [a-z]` + namespace=`echo $macroname | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` #echo file = $file #echo basename = $basename @@ -2777,7 +2777,7 @@ for file in $boost_base/libs/config/test/boost_has*.ipp; do basename=`echo $file | $SED 's/.*boost_\(.*\)\.ipp/\1/'` macroname=`cat $file | grep '^//[ ]*MACRO:' | $SED 's/.*MACRO:[ ]*\([_A-Z0-9]*\).*/\1/'` title=`cat $file | grep '^//[ ]*TITLE:' | $SED 's/.*TITLE:[ ]*\([^ ].*\)/\1/'` - namespace=`echo $macroname | tr [A-Z] [a-z]` + namespace=`echo $macroname | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` # echo $file # echo $basename diff --git a/doc/html/boost_config/boost_macro_reference.html b/doc/html/boost_config/boost_macro_reference.html index a88b6f9a..da3866c0 100644 --- a/doc/html/boost_config/boost_macro_reference.html +++ b/doc/html/boost_config/boost_macro_reference.html @@ -43,6 +43,8 @@ that allow use of C++14 features with C++11 or earlier compilers
Macros that describe C++17 features not supported
+
Macros + that describe features that have been removed from the standard.
Boost Helper Macros
Boost @@ -3639,6 +3641,18 @@ + +

+ BOOST_NO_CXX14_STD_EXCHANGE +

+ + +

+ The compiler does not support std::exchange(). +

+ + +

BOOST_NO_CXX14_GENERIC_LAMBDAS @@ -3758,7 +3772,7 @@ that describe C++17 features not supported

- The following macros describe features in the 2016 ISO C++ standard, formerly + The following macros describe features in the 2017 ISO C++ standard, formerly known as C++1z, that are not yet supported by a particular compiler or library.

@@ -3778,7 +3792,20 @@

- + + + + + + - + + +
+

+ BOOST_NO_CXX17_STD_APPLY +

+
+

+ The compiler does not support std::apply(). +

+

BOOST_NO_CXX17_STD_INVOKE @@ -3789,7 +3816,93 @@ The compiler does not support std::invoke().

+ +
+ +

+ The following macros describe features which were required by one version + of the standard, but have been removed by later versions. +

+
++++ + + + + + + + + + + + + + + + + + + + + + +
+

+ Macro +

+
+

+ Description +

+
+

+ BOOST_NO_CXX98_RANDOM_SHUFFLE +

+
+

+ The standard library no longer supports std::random_shuffle(). It was deprecated in C++11 and + is removed from C++14. +

+
+

+ BOOST_NO_AUTO_PTR +

+
+

+ The standard library no longer supports std::auto_ptr. + It was deprecated in C++11 and is removed from C++14. +

+
+

+ BOOST_NO_CXX98_FUNCTION_BASE +

+
+

+ The standard library no longer supports std::unary_function + and std::binary_function. They were deprecated + in C++11 and is removed from C++14. +

+
+

+ BOOST_NO_CXX98_BINDERS +

+
+

+ The standard library no longer supports std::bind1st, + std::bind2nd, std::ptr_fun + and std::mem_fun. They were deprecated + in C++11 and is removed from C++14. +

+
diff --git a/doc/html/index.html b/doc/html/index.html index 30d87ce1..76ba53d1 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -74,6 +74,8 @@ that allow use of C++14 features with C++11 or earlier compilers
Macros that describe C++17 features not supported
+
Macros + that describe features that have been removed from the standard.
Boost Helper Macros
Boost @@ -990,7 +992,7 @@ - +

Last revised: February 05, 2017 at 19:27:06 GMT

Last revised: April 17, 2017 at 17:42:09 GMT


diff --git a/doc/macro_reference.qbk b/doc/macro_reference.qbk index cb9d5972..6e981225 100644 --- a/doc/macro_reference.qbk +++ b/doc/macro_reference.qbk @@ -910,6 +910,7 @@ Foo foo = { 0 }; [[`BOOST_NO_CXX14_CONSTEXPR`][The compiler does not support relaxed `constexpr`.]] [[`BOOST_NO_CXX14_DECLTYPE_AUTO`][The compiler does not support `decltype(auto)`.]] [[`BOOST_NO_CXX14_DIGIT_SEPARATORS`][The compiler does not support digit separators (e.g. `1'000'000`).]] +[[`BOOST_NO_CXX14_STD_EXCHANGE`][The compiler does not support `std::exchange()`.]] [[`BOOST_NO_CXX14_GENERIC_LAMBDAS`][The compiler does not support generic lambda (e.g. `[](auto v){ }`).]] [[`BOOST_NO_CXX14_HDR_SHARED_MUTEX`][The standard library does not provide header .]] [[`BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES`][The compiler does not support initialized lambda capture (e.g. `[foo = 42]{ }`).]] @@ -935,16 +936,31 @@ provide compliant C++14 support. [section Macros that describe C++17 features not supported] -The following macros describe features in the 2016 ISO C++ standard, formerly known as C++1z, +The following macros describe features in the 2017 ISO C++ standard, formerly known as C++1z, that are not yet supported by a particular compiler or library. [table [[Macro ][Description ]] +[[`BOOST_NO_CXX17_STD_APPLY`][The compiler does not support `std::apply()`.]] [[`BOOST_NO_CXX17_STD_INVOKE`][The compiler does not support `std::invoke()`.]] ] [endsect] +[section Macros that describe features that have been removed from the standard.] + +The following macros describe features which were required by one version of the standard, but have been removed by later versions. + +[table +[[Macro ][Description ]] +[[`BOOST_NO_CXX98_RANDOM_SHUFFLE`][The standard library no longer supports `std::random_shuffle()`. It was deprecated in C++11 and is removed from C++14.]] +[[`BOOST_NO_AUTO_PTR`][The standard library no longer supports `std::auto_ptr`. It was deprecated in C++11 and is removed from C++14.]] +[[`BOOST_NO_CXX98_FUNCTION_BASE`][The standard library no longer supports `std::unary_function` and `std::binary_function`. They were deprecated in C++11 and is removed from C++14.]] +[[`BOOST_NO_CXX98_BINDERS`][The standard library no longer supports `std::bind1st`, `std::bind2nd`, `std::ptr_fun` and `std::mem_fun`. They were deprecated in C++11 and is removed from C++14.]] +] + +[endsect] + [#config_helpers] [section Boost Helper Macros] diff --git a/include/boost/config.hpp b/include/boost/config.hpp index d49bb27c..f00a9805 100644 --- a/include/boost/config.hpp +++ b/include/boost/config.hpp @@ -32,7 +32,7 @@ // if we don't have a compiler config set, try and find one: #if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG) -# include +# include #endif // if we have a compiler config, include it now: #ifdef BOOST_COMPILER_CONFIG @@ -41,7 +41,7 @@ // if we don't have a std library config set, try and find one: #if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) && defined(__cplusplus) -# include +# include #endif // if we have a std library config, include it now: #ifdef BOOST_STDLIB_CONFIG @@ -50,7 +50,7 @@ // if we don't have a platform config set, try and find one: #if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG) -# include +# include #endif // if we have a platform config, include it now: #ifdef BOOST_PLATFORM_CONFIG @@ -58,7 +58,7 @@ #endif // get config suffix code: -#include +#include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once diff --git a/include/boost/config/compiler/diab.hpp b/include/boost/config/compiler/diab.hpp new file mode 100644 index 00000000..0de72d06 --- /dev/null +++ b/include/boost/config/compiler/diab.hpp @@ -0,0 +1,19 @@ +// (C) Copyright Brian Kuhl 2016. +// 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) + +// Check this is a recent EDG based compiler, otherwise we don't support it here: + + +#ifndef __EDG_VERSION__ +# error "Unknown Diab compiler version - please run the configure tests and report the results" +#endif + +#include "boost/config/compiler/common_edg.hpp" + +#define BOOST_HAS_LONG_LONG +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#define BOOST_NO_CXX11_HDR_CODECVT +#define BOOST_COMPILER "Wind River Diab " BOOST_STRINGIZE(__VERSION_NUMBER__) diff --git a/include/boost/config/compiler/pathscale.hpp b/include/boost/config/compiler/pathscale.hpp index 016ad5a4..709f8cf8 100644 --- a/include/boost/config/compiler/pathscale.hpp +++ b/include/boost/config/compiler/pathscale.hpp @@ -12,7 +12,12 @@ # define BOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__ #endif -#if __PATHCC__ >= 4 +#if __PATHCC__ >= 6 +// PathCC is based on clang, and supports the __has_*() builtins used +// to detect features in clang.hpp. Since the clang toolset is much +// better maintained, it is more convenient to reuse its definitions. +# include "boost/config/compiler/clang.hpp" +#elif __PATHCC__ >= 4 # define BOOST_MSVC6_MEMBER_TEMPLATES # define BOOST_HAS_UNISTD_H # define BOOST_HAS_STDINT_H diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index 760e2833..f51f0e1d 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -107,7 +107,7 @@ // // TR1 features: // -#if _MSC_VER >= 1700 +#if (_MSC_VER >= 1700) && defined(_HAS_CXX17) && (_HAS_CXX17 > 0) // # define BOOST_HAS_TR1_HASH // don't know if this is true yet. // # define BOOST_HAS_TR1_TYPE_TRAITS // don't know if this is true yet. # define BOOST_HAS_TR1_UNORDERED_MAP diff --git a/include/boost/config/compiler/xlcpp_zos.hpp b/include/boost/config/compiler/xlcpp_zos.hpp new file mode 100644 index 00000000..7f6d2ad0 --- /dev/null +++ b/include/boost/config/compiler/xlcpp_zos.hpp @@ -0,0 +1,165 @@ +// Copyright (c) 2017 Dynatrace +// +// Distributed under 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 for most recent version. + +// Compiler setup for IBM z/OS XL C/C++ compiler. + +// Oldest compiler version currently supported is 2.1 (V2R1) +#if !defined(__IBMCPP__) || !defined(__COMPILER_VER__) || __COMPILER_VER__ < 0x42010000 +# error "Compiler not supported or configured - please reconfigure" +#endif + +#if __COMPILER_VER__ > 0x42010000 +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + +#define BOOST_COMPILER "IBM z/OS XL C/C++ version " BOOST_STRINGIZE(__COMPILER_VER__) +#define BOOST_XLCPP_ZOS __COMPILER_VER__ + +// ------------------------------------- + +#include // For __UU, __C99, __TR1, ... + +#if !defined(__IBMCPP_DEFAULTED_AND_DELETED_FUNCTIONS) +# define BOOST_NO_CXX11_DELETED_FUNCTIONS +# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS +#endif + +// ------------------------------------- + +#if defined(__UU) || defined(__C99) || defined(__TR1) +# define BOOST_HAS_LOG1P +# define BOOST_HAS_EXPM1 +#endif + +#if defined(__C99) || defined(__TR1) +# define BOOST_HAS_STDINT_H +#else +# define BOOST_NO_FENV_H +#endif + +// ------------------------------------- + +#define BOOST_HAS_NRVO + +#if !defined(__RTTI_ALL__) +# define BOOST_NO_RTTI +#endif + +#if !defined(_CPPUNWIND) && !defined(__EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif + +#if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL) +# define BOOST_HAS_LONG_LONG +#else +# define BOOST_NO_LONG_LONG +#endif + +#if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL) || defined(_LP64) +# define BOOST_HAS_MS_INT64 +#endif + +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_CXX11_SFINAE_EXPR + +#if defined(__IBMCPP_VARIADIC_TEMPLATES) +# define BOOST_HAS_VARIADIC_TMPL +#else +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES +# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#endif + +#if defined(__IBMCPP_STATIC_ASSERT) +# define BOOST_HAS_STATIC_ASSERT +#else +# define BOOST_NO_CXX11_STATIC_ASSERT +#endif + +#if defined(__IBMCPP_RVALUE_REFERENCES) +# define BOOST_HAS_RVALUE_REFS +#else +# define BOOST_NO_CXX11_RVALUE_REFERENCES +#endif + +#if !defined(__IBMCPP_SCOPED_ENUM) +# define BOOST_NO_CXX11_SCOPED_ENUMS +#endif + +#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS +#define BOOST_NO_CXX11_TEMPLATE_ALIASES +#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS + +#if !defined(__IBMCPP_EXPLICIT_CONVERSION_OPERATORS) +# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#endif + +#if !defined(__IBMCPP_DECLTYPE) +# define BOOST_NO_CXX11_DECLTYPE +#else +# define BOOST_HAS_DECLTYPE +#endif +#define BOOST_NO_CXX11_DECLTYPE_N3276 + +#if !defined(__IBMCPP_INLINE_NAMESPACE) +# define BOOST_NO_CXX11_INLINE_NAMESPACES +#endif + +#if !defined(__IBMCPP_AUTO_TYPEDEDUCTION) +# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +# define BOOST_NO_CXX11_AUTO_DECLARATIONS +# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#endif + +#if !defined(__IBM_CHAR32_T__) +# define BOOST_NO_CXX11_CHAR32_T +#endif +#if !defined(__IBM_CHAR16_T__) +# define BOOST_NO_CXX11_CHAR16_T +#endif + +#if !defined(__IBMCPP_CONSTEXPR) +# define BOOST_NO_CXX11_CONSTEXPR +#endif + +#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_UNICODE_LITERALS +#define BOOST_NO_CXX11_RAW_LITERALS +#define BOOST_NO_CXX11_RANGE_BASED_FOR +#define BOOST_NO_CXX11_NULLPTR +#define BOOST_NO_CXX11_NOEXCEPT +#define BOOST_NO_CXX11_LAMBDAS +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_THREAD_LOCAL +#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#define BOOST_NO_CXX14_AGGREGATE_NSDMI +#define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#define BOOST_NO_CXX14_GENERIC_LAMBDAS +#define BOOST_NO_CXX14_DIGIT_SEPARATORS +#define BOOST_NO_CXX14_DECLTYPE_AUTO +#define BOOST_NO_CXX14_CONSTEXPR +#define BOOST_NO_CXX14_BINARY_LITERALS + +// ------------------------------------- + +#if defined(__IBM_ATTRIBUTES) +# define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__)) +# define BOOST_NOINLINE __attribute__ ((__noinline__)) +// No BOOST_ALIGNMENT - explicit alignment support is broken (V2R1). +#endif + +extern "builtin" long __builtin_expect(long, long); + +#define BOOST_LIKELY(x) __builtin_expect((x) && true, 1) +#define BOOST_UNLIKELY(x) __builtin_expect((x) && true, 0) diff --git a/include/boost/config/posix_features.hpp b/include/boost/config/detail/posix_features.hpp similarity index 100% rename from include/boost/config/posix_features.hpp rename to include/boost/config/detail/posix_features.hpp diff --git a/include/boost/config/select_compiler_config.hpp b/include/boost/config/detail/select_compiler_config.hpp similarity index 92% rename from include/boost/config/select_compiler_config.hpp rename to include/boost/config/detail/select_compiler_config.hpp index 7a757084..97d47c1c 100644 --- a/include/boost/config/select_compiler_config.hpp +++ b/include/boost/config/detail/select_compiler_config.hpp @@ -48,6 +48,10 @@ // Digital Mars C++ # define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp" +#elif defined __DCC__ +// Wind River Diab C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/diab.hpp" + # elif defined(__GNUC__) && !defined(__ibmxl__) // GNU C++: # define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp" @@ -92,8 +96,12 @@ // MPW MrCpp or SCpp # define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp" +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__) +// IBM z/OS XL C/C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp_zos.hpp" + #elif defined(__ibmxl__) -// IBM XL C/C++ for Linux (Little Endian) +// IBM XL C/C++ for Linux (Little Endian) # define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp.hpp" #elif defined(__IBMCPP__) @@ -140,6 +148,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/include/boost/config/select_platform_config.hpp b/include/boost/config/detail/select_platform_config.hpp similarity index 94% rename from include/boost/config/select_platform_config.hpp rename to include/boost/config/detail/select_platform_config.hpp index 62fd818b..b36eca57 100644 --- a/include/boost/config/select_platform_config.hpp +++ b/include/boost/config/detail/select_platform_config.hpp @@ -53,8 +53,12 @@ // MacOS # define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" +#elif defined(__TOS_MVS__) +// IBM z/OS +# define BOOST_PLATFORM_CONFIG "boost/config/platform/zos.hpp" + #elif defined(__IBMCPP__) || defined(_AIX) -// IBM +// IBM AIX # define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" #elif defined(__amigaos__) @@ -97,7 +101,7 @@ # define BOOST_HAS_UNISTD_H # endif -# include +# include # endif @@ -122,6 +126,7 @@ # include "boost/config/platform/win32.hpp" # include "boost/config/platform/beos.hpp" # include "boost/config/platform/macos.hpp" +# include "boost/config/platform/zos.hpp" # include "boost/config/platform/aix.hpp" # include "boost/config/platform/amigaos.hpp" # include "boost/config/platform/qnxnto.hpp" @@ -129,7 +134,7 @@ # include "boost/config/platform/symbian.hpp" # include "boost/config/platform/cray.hpp" # include "boost/config/platform/vms.hpp" -# include +# include diff --git a/include/boost/config/select_stdlib_config.hpp b/include/boost/config/detail/select_stdlib_config.hpp similarity index 94% rename from include/boost/config/select_stdlib_config.hpp rename to include/boost/config/detail/select_stdlib_config.hpp index e270a881..8db778c8 100644 --- a/include/boost/config/select_stdlib_config.hpp +++ b/include/boost/config/detail/select_stdlib_config.hpp @@ -66,6 +66,10 @@ // MSL standard lib: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp" +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__) +// IBM z/OS XL C/C++ +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/xlcpp_zos.hpp" + #elif defined(__IBMCPP__) // take the default VACPP std lib # define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp" @@ -98,6 +102,7 @@ # include "boost/config/stdlib/libstdcpp3.hpp" # include "boost/config/stdlib/sgi.hpp" # include "boost/config/stdlib/msl.hpp" +# include "boost/config/stdlib/xlcpp_zos.hpp" # include "boost/config/stdlib/vacpp.hpp" # include "boost/config/stdlib/modena.hpp" # include "boost/config/stdlib/dinkumware.hpp" diff --git a/include/boost/config/suffix.hpp b/include/boost/config/detail/suffix.hpp similarity index 98% rename from include/boost/config/suffix.hpp rename to include/boost/config/detail/suffix.hpp index 6df9223f..6abec22f 100644 --- a/include/boost/config/suffix.hpp +++ b/include/boost/config/detail/suffix.hpp @@ -643,7 +643,7 @@ namespace std{ using ::type_info; } # define BOOST_NORETURN __declspec(noreturn) # elif defined(__GNUC__) # define BOOST_NORETURN __attribute__ ((__noreturn__)) -# elif defined(__has_attribute) && defined(__SUNPRO_CC) +# elif defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130) # if __has_attribute(noreturn) # define BOOST_NORETURN [[noreturn]] # endif @@ -676,15 +676,17 @@ namespace std{ using ::type_info; } // Type and data alignment specification // -#if !defined(BOOST_NO_CXX11_ALIGNAS) -# define BOOST_ALIGNMENT(x) alignas(x) -#elif defined(_MSC_VER) -# define BOOST_ALIGNMENT(x) __declspec(align(x)) -#elif defined(__GNUC__) -# define BOOST_ALIGNMENT(x) __attribute__ ((__aligned__(x))) -#else -# define BOOST_NO_ALIGNMENT -# define BOOST_ALIGNMENT(x) +#if !defined(BOOST_ALIGNMENT) +# if !defined(BOOST_NO_CXX11_ALIGNAS) +# define BOOST_ALIGNMENT(x) alignas(x) +# elif defined(_MSC_VER) +# define BOOST_ALIGNMENT(x) __declspec(align(x)) +# elif defined(__GNUC__) +# define BOOST_ALIGNMENT(x) __attribute__ ((__aligned__(x))) +# else +# define BOOST_NO_ALIGNMENT +# define BOOST_ALIGNMENT(x) +# endif #endif // Lack of non-public defaulted functions is implied by the lack of any defaulted functions diff --git a/include/boost/config/platform/aix.hpp b/include/boost/config/platform/aix.hpp index 894ef42c..a48e2320 100644 --- a/include/boost/config/platform/aix.hpp +++ b/include/boost/config/platform/aix.hpp @@ -26,7 +26,7 @@ //#define BOOST_HAS_PTHREAD_YIELD // boilerplate code: -#include +#include diff --git a/include/boost/config/platform/beos.hpp b/include/boost/config/platform/beos.hpp index 48c3d8dc..6158c1c2 100644 --- a/include/boost/config/platform/beos.hpp +++ b/include/boost/config/platform/beos.hpp @@ -20,7 +20,7 @@ #endif // boilerplate code: -#include +#include diff --git a/include/boost/config/platform/bsd.hpp b/include/boost/config/platform/bsd.hpp index a0142978..79e74a08 100644 --- a/include/boost/config/platform/bsd.hpp +++ b/include/boost/config/platform/bsd.hpp @@ -77,7 +77,7 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H -#include +#include diff --git a/include/boost/config/platform/cray.hpp b/include/boost/config/platform/cray.hpp index 5c476e41..103e9c06 100644 --- a/include/boost/config/platform/cray.hpp +++ b/include/boost/config/platform/cray.hpp @@ -12,7 +12,7 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H -#include +#include diff --git a/include/boost/config/platform/cygwin.hpp b/include/boost/config/platform/cygwin.hpp index 53e23f7f..8ecc4a4a 100644 --- a/include/boost/config/platform/cygwin.hpp +++ b/include/boost/config/platform/cygwin.hpp @@ -43,7 +43,7 @@ #define BOOST_NO_FENV_H // boilerplate code: -#include +#include // // Cygwin lies about XSI conformance, there is no nl_types.h: diff --git a/include/boost/config/platform/haiku.hpp b/include/boost/config/platform/haiku.hpp index 750866c4..04244c56 100644 --- a/include/boost/config/platform/haiku.hpp +++ b/include/boost/config/platform/haiku.hpp @@ -28,4 +28,4 @@ #define BOOST_HAS_GETTIMEOFDAY // boilerplate code: -#include +#include diff --git a/include/boost/config/platform/hpux.hpp b/include/boost/config/platform/hpux.hpp index 19ce68e5..222622e7 100644 --- a/include/boost/config/platform/hpux.hpp +++ b/include/boost/config/platform/hpux.hpp @@ -43,7 +43,7 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H -#include +#include // the following are always available: #ifndef BOOST_HAS_GETTIMEOFDAY diff --git a/include/boost/config/platform/irix.hpp b/include/boost/config/platform/irix.hpp index aeae49c8..0acb6515 100644 --- a/include/boost/config/platform/irix.hpp +++ b/include/boost/config/platform/irix.hpp @@ -25,7 +25,7 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H -#include +#include diff --git a/include/boost/config/platform/linux.hpp b/include/boost/config/platform/linux.hpp index 8c43c7b6..db54677e 100644 --- a/include/boost/config/platform/linux.hpp +++ b/include/boost/config/platform/linux.hpp @@ -71,7 +71,7 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H -#include +#include #if defined(__USE_GNU) && !defined(__ANDROID__) && !defined(ANDROID) #define BOOST_HAS_PTHREAD_YIELD #endif diff --git a/include/boost/config/platform/macos.hpp b/include/boost/config/platform/macos.hpp index 5be4e3b3..ed7dc15f 100644 --- a/include/boost/config/platform/macos.hpp +++ b/include/boost/config/platform/macos.hpp @@ -25,7 +25,7 @@ // to replace the platform-native BSD one. G++ users // should also always be able to do this on MaxOS X. // -# include +# include # ifndef BOOST_HAS_STDINT_H # define BOOST_HAS_STDINT_H # endif diff --git a/include/boost/config/platform/qnxnto.hpp b/include/boost/config/platform/qnxnto.hpp index b1377c8d..d0298cb4 100644 --- a/include/boost/config/platform/qnxnto.hpp +++ b/include/boost/config/platform/qnxnto.hpp @@ -10,7 +10,7 @@ #define BOOST_PLATFORM "QNX" #define BOOST_HAS_UNISTD_H -#include +#include // QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h // or log1p and expm1: diff --git a/include/boost/config/platform/solaris.hpp b/include/boost/config/platform/solaris.hpp index 6e4efc9e..51ffe67f 100644 --- a/include/boost/config/platform/solaris.hpp +++ b/include/boost/config/platform/solaris.hpp @@ -14,7 +14,7 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H -#include +#include // // pthreads don't actually work with gcc unless _PTHREADS is defined: diff --git a/include/boost/config/platform/symbian.hpp b/include/boost/config/platform/symbian.hpp index e02a7782..f814d00b 100644 --- a/include/boost/config/platform/symbian.hpp +++ b/include/boost/config/platform/symbian.hpp @@ -24,7 +24,7 @@ #include #endif// boilerplate code: # define BOOST_HAS_UNISTD_H -# include +# include // S60 SDK defines _POSIX_VERSION as POSIX.1 # ifndef BOOST_HAS_STDINT_H # define BOOST_HAS_STDINT_H diff --git a/include/boost/config/platform/vxworks.hpp b/include/boost/config/platform/vxworks.hpp index cdda0158..a7f571c4 100644 --- a/include/boost/config/platform/vxworks.hpp +++ b/include/boost/config/platform/vxworks.hpp @@ -180,7 +180,7 @@ // Luckily, at the moment there seems to be none! #endif -// These #defines allow posix_features to work, since vxWorks doesn't +// These #defines allow detail/posix_features to work, since vxWorks doesn't // #define them itself for DKMs (for RTPs on the contrary it does): #ifdef _WRS_KERNEL # ifndef _POSIX_TIMERS @@ -286,10 +286,8 @@ inline ssize_t readlink(const char*, char*, size_t){ return -1; } -// vxWorks claims to implement gettimeofday in sys/time.h -// but nevertheless does not provide it! See -// https://support.windriver.com/olsPortal/faces/maintenance/techtipDetail_noHeader.jspx?docId=16442&contentId=WR_TECHTIP_006256 -// We implement a surrogate version here via clock_gettime: +#if (_WRS_VXWORKS_MAJOR < 7) + inline int gettimeofday(struct timeval *tv, void * /*tzv*/) { struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); @@ -297,6 +295,8 @@ inline int gettimeofday(struct timeval *tv, void * /*tzv*/) { tv->tv_usec = ts.tv_nsec / 1000; return 0; } +#endif + // vxWorks does provide neither struct tms nor function times()! // We implement an empty dummy-function, simply setting the user @@ -327,6 +327,7 @@ inline clock_t times(struct tms *t){ return ticks; } +extern void bzero (void *, size_t); // FD_ZERO uses bzero() but doesn't include strings.h } // extern "C" // Put the selfmade functions into the std-namespace, just in case @@ -349,21 +350,43 @@ namespace std { // Include signal.h which might contain a typo to be corrected here #include -#define getpagesize() sysconf(_SC_PAGESIZE) // getpagesize is deprecated anyway! +inline int getpagesize() { return sysconf(_SC_PAGESIZE); } // getpagesize is deprecated anyway! #ifndef S_ISSOCK # define S_ISSOCK(mode) ((mode & S_IFMT) == S_IFSOCK) // Is file a socket? #endif -#define lstat(p, b) stat(p, b) // lstat() == stat(), as vxWorks has no symlinks! +inline int lstat(p, b) { return stat(p, b); } // lstat() == stat(), as vxWorks has no symlinks! #ifndef FPE_FLTINV # define FPE_FLTINV (FPE_FLTSUB+1) // vxWorks has no FPE_FLTINV, so define one as a dummy #endif #if !defined(BUS_ADRALN) && defined(BUS_ADRALNR) # define BUS_ADRALN BUS_ADRALNR // Correct a supposed typo in vxWorks' #endif -//typedef int locale_t; // locale_t is a POSIX-extension, currently unpresent in vxWorks! +typedef int locale_t; // locale_t is a POSIX-extension, currently not present in vxWorks! // #include boilerplate code: -#include +#include // vxWorks lies about XSI conformance, there is no nl_types.h: #undef BOOST_HAS_NL_TYPES_H + +// vxWorks 7 adds C++11 support +// however it is optional, and does not match exactly the support determined +// by examining Dinkum STL version and GCC version (or ICC and DCC) + +#ifndef _WRS_CONFIG_LANG_LIB_CPLUS_CPLUS_USER_2011 +# define BOOST_NO_CXX11_HDR_ARRAY +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_SMART_PTR +# define BOOST_NO_CXX11_STD_ALIGN +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +# define BOOST_NO_CXX11_HDR_ATOMIC +#else +# define BOOST_NO_CXX11_NULLPTR +#endif + diff --git a/include/boost/config/platform/zos.hpp b/include/boost/config/platform/zos.hpp new file mode 100644 index 00000000..fa77999e --- /dev/null +++ b/include/boost/config/platform/zos.hpp @@ -0,0 +1,32 @@ +// Copyright (c) 2017 Dynatrace +// +// Distributed under 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 for most recent version. + +// Platform setup for IBM z/OS. + +#define BOOST_PLATFORM "IBM z/OS" + +#include // For __UU, __C99, __TR1, ... + +#if defined(__UU) +# define BOOST_HAS_GETTIMEOFDAY +#endif + +#if defined(_OPEN_THREADS) || defined(__SUSV3_THR) +# define BOOST_HAS_PTHREADS +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# define BOOST_HAS_THREADS +#endif + +#if defined(__SUSV3) || defined(__SUSV3_THR) +# define BOOST_HAS_SCHED_YIELD +#endif + +#define BOOST_HAS_SIGACTION +#define BOOST_HAS_UNISTD_H +#define BOOST_HAS_DIRENT_H +#define BOOST_HAS_NL_TYPES_H diff --git a/include/boost/config/stdlib/dinkumware.hpp b/include/boost/config/stdlib/dinkumware.hpp index 3b95dcf3..86fa7fe6 100644 --- a/include/boost/config/stdlib/dinkumware.hpp +++ b/include/boost/config/stdlib/dinkumware.hpp @@ -163,7 +163,9 @@ #endif // C++17 features +#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0) # define BOOST_NO_CXX17_STD_APPLY +#endif #if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) # define BOOST_NO_CXX17_STD_INVOKE #endif @@ -188,11 +190,14 @@ #endif #if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 650) -// If _HAS_AUTO_PTR_ETC is defined to 0, std::auto_ptr is not available. +// If _HAS_AUTO_PTR_ETC is defined to 0, std::auto_ptr and std::random_shuffle are not available. // See https://www.visualstudio.com/en-us/news/vs2015-vs.aspx#C++ // and http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx # if defined(_HAS_AUTO_PTR_ETC) && (_HAS_AUTO_PTR_ETC == 0) # define BOOST_NO_AUTO_PTR +# define BOOST_NO_CXX98_RANDOM_SHUFFLE +# define BOOST_NO_CXX98_FUNCTION_BASE +# define BOOST_NO_CXX98_BINDERS # endif #endif diff --git a/include/boost/config/stdlib/libstdcpp3.hpp b/include/boost/config/stdlib/libstdcpp3.hpp index 205489a9..14dca142 100644 --- a/include/boost/config/stdlib/libstdcpp3.hpp +++ b/include/boost/config/stdlib/libstdcpp3.hpp @@ -143,6 +143,12 @@ # define BOOST_LIBSTDCXX_VERSION 40300 #endif +#if (BOOST_LIBSTDCXX_VERSION < 50100) +// libstdc++ does not define this function as it's deprecated in C++11, but clang still looks for it, +// defining it here is a terrible cludge, but should get things working: +extern "C" char *gets (char *__s); +#endif + // // GCC 4.8 and 9 add working versions of and respectively. // However, we have no test for these as the headers were present but broken diff --git a/include/boost/config/stdlib/msl.hpp b/include/boost/config/stdlib/msl.hpp index 8f21a138..96c1b0d5 100644 --- a/include/boost/config/stdlib/msl.hpp +++ b/include/boost/config/stdlib/msl.hpp @@ -34,7 +34,7 @@ # define BOOST_HAS_UNISTD_H # endif // boilerplate code: -# include +# include #endif #if defined(_MWMT) || _MSL_THREADSAFE diff --git a/include/boost/config/stdlib/xlcpp_zos.hpp b/include/boost/config/stdlib/xlcpp_zos.hpp new file mode 100644 index 00000000..35cca6e9 --- /dev/null +++ b/include/boost/config/stdlib/xlcpp_zos.hpp @@ -0,0 +1,58 @@ +// Copyright (c) 2017 Dynatrace +// +// Distributed under 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 for most recent version. + +// Standard library setup for IBM z/OS XL C/C++ compiler. + +// Oldest library version currently supported is 2.1 (V2R1) +#if __TARGET_LIB__ < 0x42010000 +# error "Library version not supported or configured - please reconfigure" +#endif + +#if __TARGET_LIB__ > 0x42010000 +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown library version - please run the configure tests and report the results" +# endif +#endif + +#define BOOST_STDLIB "IBM z/OS XL C/C++ standard library" + +#define BOOST_HAS_MACRO_USE_FACET + +#define BOOST_NO_CXX11_HDR_TYPE_TRAITS +#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST + +#define BOOST_NO_CXX11_ADDRESSOF +#define BOOST_NO_CXX11_SMART_PTR +#define BOOST_NO_CXX11_ATOMIC_SMART_PTR +#define BOOST_NO_CXX11_NUMERIC_LIMITS +#define BOOST_NO_CXX11_ALLOCATOR +#define BOOST_NO_CXX11_HDR_FUNCTIONAL +#define BOOST_NO_CXX11_HDR_UNORDERED_SET +#define BOOST_NO_CXX11_HDR_UNORDERED_MAP +#define BOOST_NO_CXX11_HDR_TYPEINDEX +#define BOOST_NO_CXX11_HDR_TUPLE +#define BOOST_NO_CXX11_HDR_THREAD +#define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +#define BOOST_NO_CXX11_HDR_REGEX +#define BOOST_NO_CXX11_HDR_RATIO +#define BOOST_NO_CXX11_HDR_RANDOM +#define BOOST_NO_CXX11_HDR_MUTEX +#define BOOST_NO_CXX11_HDR_FUTURE +#define BOOST_NO_CXX11_HDR_FORWARD_LIST +#define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +#define BOOST_NO_CXX11_HDR_CODECVT +#define BOOST_NO_CXX11_HDR_CHRONO +#define BOOST_NO_CXX11_HDR_ATOMIC +#define BOOST_NO_CXX11_HDR_ARRAY +#define BOOST_NO_CXX11_STD_ALIGN + +#define BOOST_NO_CXX14_STD_EXCHANGE +#define BOOST_NO_CXX14_HDR_SHARED_MUTEX + +#define BOOST_NO_CXX17_STD_INVOKE +#define BOOST_NO_CXX17_STD_APPLY diff --git a/include/boost/cstdint.hpp b/include/boost/cstdint.hpp index bf7097ec..31b67417 100644 --- a/include/boost/cstdint.hpp +++ b/include/boost/cstdint.hpp @@ -374,7 +374,7 @@ namespace boost || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \ || defined(__CYGWIN__) \ || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \ - || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(sun) + || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || (defined(sun) && !defined(BOOST_HAS_STDINT_H)) || defined(INTPTR_MAX) namespace boost { using ::intptr_t; @@ -422,6 +422,20 @@ INT#_C macros if they're not already defined (John Maddock). #if defined(__GNUC__) && (__GNUC__ >= 4) #pragma GCC system_header #endif +// +// Undef the macros as a precaution, since we may get here if has failed +// to define them all, see https://svn.boost.org/trac/boost/ticket/12786 +// +#undef INT8_C +#undef INT16_C +#undef INT32_C +#undef INT64_C +#undef INTMAX_C +#undef UINT8_C +#undef UINT16_C +#undef UINT32_C +#undef UINT64_C +#undef UINTMAX_C #include # define BOOST__STDC_CONSTANT_MACROS_DEFINED diff --git a/include/boost/detail/workaround.hpp b/include/boost/detail/workaround.hpp index 7727aaf1..1aaa5aed 100644 --- a/include/boost/detail/workaround.hpp +++ b/include/boost/detail/workaround.hpp @@ -90,6 +90,11 @@ #else #define BOOST_GCC_WORKAROUND_GUARD 0 #endif +#ifndef BOOST_XLCPP_ZOS +#define BOOST_XLCPP_ZOS_WORKAROUND_GUARD 1 +#else +#define BOOST_XLCPP_ZOS_WORKAROUND_GUARD 0 +#endif #ifndef __IBMCPP__ #define __IBMCPP___WORKAROUND_GUARD 1 #else diff --git a/test/all/Jamfile.v2 b/test/all/Jamfile.v2 index 24284bee..f99040be 100644 --- a/test/all/Jamfile.v2 +++ b/test/all/Jamfile.v2 @@ -1,7 +1,7 @@ # # Regression test Jamfile for boost configuration setup. # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Sun Feb 5 19:09:22 2017 +# This file was automatically generated on Mon Apr 17 18:35:54 2017 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the @@ -370,6 +370,15 @@ test-suite "BOOST_NO_CXX17_STD_APPLY" : test-suite "BOOST_NO_CXX17_STD_INVOKE" : [ run ../no_cxx17_std_invoke_pass.cpp ] [ compile-fail ../no_cxx17_std_invoke_fail.cpp ] ; +test-suite "BOOST_NO_CXX98_BINDERS" : +[ run ../no_cxx98_binders_pass.cpp ] +[ compile-fail ../no_cxx98_binders_fail.cpp ] ; +test-suite "BOOST_NO_CXX98_FUNCTION_BASE" : +[ run ../no_cxx98_function_base_pass.cpp ] +[ compile-fail ../no_cxx98_function_base_fail.cpp ] ; +test-suite "BOOST_NO_CXX98_RANDOM_SHUFFLE" : +[ run ../no_cxx98_random_shuffle_pass.cpp ] +[ compile-fail ../no_cxx98_random_shuffle_fail.cpp ] ; test-suite "BOOST_NO_CXX11_HDR_FUNCTIONAL" : [ run ../no_cxx_hdr_functional_pass.cpp ] [ compile-fail ../no_cxx_hdr_functional_fail.cpp ] ; diff --git a/test/boost_has_int128.ipp b/test/boost_has_int128.ipp index 0feb6a3e..b7e10a40 100644 --- a/test/boost_has_int128.ipp +++ b/test/boost_has_int128.ipp @@ -1,4 +1,5 @@ // (C) Copyright John Maddock 2012. +// (C) Copyright Dynatrace 2017. // 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) @@ -10,21 +11,59 @@ // DESCRIPTION: The platform supports __int128. #include - +#include +#include namespace boost_has_int128{ +#ifdef __GNUC__ +__extension__ typedef __int128 my_int128_t; +__extension__ typedef unsigned __int128 my_uint128_t; +#else +typedef __int128 my_int128_t; +typedef unsigned __int128 my_uint128_t; +#endif + +my_uint128_t volatile g_ui128 = 0; +unsigned long volatile g_ul = 0; + int test() { -#ifdef __GNUC__ - __extension__ __int128 lli = 0; - __extension__ unsigned __int128 ulli = 0u; -#else - __int128 lli = 0; - unsigned __int128 ulli = 0u; -#endif - (void)&lli; - (void)&ulli; + my_int128_t si128 = 0; + (void)&si128; + + // Some compilers have seriously broken __int128 implementations, so we need to do a little more than simply check if we can declare variables with __int128... + // #1: check __int128 size + if (sizeof(my_uint128_t) < (128 / CHAR_BIT)) + { + fputs("Type too small.", stderr); + return 1; + } + + // #2: check result of computation with __int128 + my_uint128_t p1 = 1; + my_uint128_t p2 = 1; + unsigned int i = 0; + for (; i < 180; i++) + { + g_ui128 = p1 + p2; + if (g_ui128 < p1) + { + fputs("Unexpected overflow.", stderr); + return 1; + } + p2 = p1; + p1 = g_ui128; + } + + g_ul = static_cast((g_ui128 >> 92) & 0xFFFFFFFFUL); + g_ul -= 1216382273UL; + if (g_ul != 0) + { + fputs("Incorrect computation result.", stderr); + return 1; + } + return 0; } diff --git a/test/boost_has_nl_types_h.ipp b/test/boost_has_nl_types_h.ipp index 9126adbf..e23f0a21 100644 --- a/test/boost_has_nl_types_h.ipp +++ b/test/boost_has_nl_types_h.ipp @@ -17,7 +17,7 @@ namespace boost_has_nl_types_h{ int test() { nl_catd cat = catopen("foo", 0); - if(cat >= 0) catclose(cat); + if(cat != (nl_catd)-1) catclose(cat); return 0; } diff --git a/test/boost_no_auto_declarations.ipp b/test/boost_no_auto_declarations.ipp index 9201b160..fa2fe268 100644 --- a/test/boost_no_auto_declarations.ipp +++ b/test/boost_no_auto_declarations.ipp @@ -1,4 +1,5 @@ // Copyright (C) 2009 Andrey Semashev +// Copyright (C) 2017 Dynatrace // 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) @@ -11,13 +12,13 @@ namespace boost_no_cxx11_auto_declarations { -void check_f(int&) +void check_f(short&) { } int test() { - auto x = 10; + auto x = static_cast(10); check_f(x); return 0; } diff --git a/test/boost_no_auto_multidecl.ipp b/test/boost_no_auto_multidecl.ipp index 8fb7d5e4..c55791d2 100644 --- a/test/boost_no_auto_multidecl.ipp +++ b/test/boost_no_auto_multidecl.ipp @@ -1,4 +1,5 @@ // Copyright (C) 2009 Andrey Semashev +// Copyright (C) 2017 Dynatrace // 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) @@ -11,13 +12,13 @@ namespace boost_no_cxx11_auto_multideclarations { -void check_f(int&, int*&) +void check_f(short&, short*&) { } int test() { - auto x = 10, *y = &x; + auto x = static_cast(10), *y = &x; check_f(x, y); return 0; } diff --git a/test/boost_no_cxx98_binders.ipp b/test/boost_no_cxx98_binders.ipp new file mode 100644 index 00000000..c287e35c --- /dev/null +++ b/test/boost_no_cxx98_binders.ipp @@ -0,0 +1,30 @@ +// (C) Copyright John Maddock 2017. +// 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_CXX98_BINDERS +// TITLE: std::bind1st, prt_fun and mem_fun +// DESCRIPTION: The std lib has C++98 binders and adaptors. + +#include + +namespace boost_no_cxx98_binders{ + +int f2(int a, int b) { return a + b; } + +struct A +{ + int f1(int a) { return a; } +}; + + +int test() +{ + A a; + return std::bind1st(std::ptr_fun(f2), 0)(0) + std::bind1st(std::mem_fun(&A::f1), &a)(0); +} + +} diff --git a/test/boost_no_cxx98_function_base.ipp b/test/boost_no_cxx98_function_base.ipp new file mode 100644 index 00000000..6bc897b3 --- /dev/null +++ b/test/boost_no_cxx98_function_base.ipp @@ -0,0 +1,28 @@ +// (C) Copyright John Maddock 2017. +// 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_CXX98_FUNCTION_BASE +// TITLE: std::unary_function and std::binary_function +// DESCRIPTION: The std lib has unary_function and binary_function. + +#include + +namespace boost_no_cxx98_function_base{ + +struct A : public std::unary_function{}; +struct B : public std::binary_function{}; + +int test() +{ + A a; + B b; + (void)a; + (void)b; + return static_cast(0); +} + +} diff --git a/test/boost_no_cxx98_random_shuffle.ipp b/test/boost_no_cxx98_random_shuffle.ipp new file mode 100644 index 00000000..abef913f --- /dev/null +++ b/test/boost_no_cxx98_random_shuffle.ipp @@ -0,0 +1,23 @@ +// (C) Copyright John Maddock 2017. +// 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_CXX98_RANDOM_SHUFFLE +// TITLE: std::random_shuffle +// DESCRIPTION: The std lib has random_shuffle. + +#include + +namespace boost_no_cxx98_random_shuffle{ + +int test() +{ + int my_array[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; + std::random_shuffle(&my_array[0], &my_array[9] ); + return 0; +} + +} diff --git a/test/boost_no_ptr_mem_const.ipp b/test/boost_no_ptr_mem_const.ipp index ef6dda5c..f1069669 100644 --- a/test/boost_no_ptr_mem_const.ipp +++ b/test/boost_no_ptr_mem_const.ipp @@ -16,12 +16,10 @@ // of these in overloaded function templates. // See boost/functional.hpp for example. -#include - namespace boost_no_pointer_to_member_const{ template -class const_mem_fun_t : public std::unary_function +class const_mem_fun_t { public: explicit const_mem_fun_t(S (T::*p)() const) @@ -37,7 +35,7 @@ private: }; template -class const_mem_fun1_t : public std::binary_function +class const_mem_fun1_t { public: explicit const_mem_fun1_t(S (T::*p)(A) const) diff --git a/test/config_info.cpp b/test/config_info.cpp index 13cab45a..7f401181 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -1078,6 +1078,9 @@ void print_boost_macros() PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES); PRINT_MACRO(BOOST_NO_CXX17_STD_APPLY); PRINT_MACRO(BOOST_NO_CXX17_STD_INVOKE); + PRINT_MACRO(BOOST_NO_CXX98_BINDERS); + PRINT_MACRO(BOOST_NO_CXX98_FUNCTION_BASE); + PRINT_MACRO(BOOST_NO_CXX98_RANDOM_SHUFFLE); PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS); PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS); PRINT_MACRO(BOOST_NO_EXCEPTIONS); @@ -1148,6 +1151,15 @@ void print_boost_macros() + + + + + + + + + diff --git a/test/config_test.cpp b/test/config_test.cpp index ddcdc6ba..d94a438d 100644 --- a/test/config_test.cpp +++ b/test/config_test.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Sun Feb 5 19:09:22 2017 +// This file was automatically generated on Mon Apr 17 18:35:54 2017 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the @@ -337,6 +337,21 @@ namespace boost_no_cxx17_std_apply = empty_boost; #else namespace boost_no_cxx17_std_invoke = empty_boost; #endif +#ifndef BOOST_NO_CXX98_BINDERS +#include "boost_no_cxx98_binders.ipp" +#else +namespace boost_no_cxx98_binders = empty_boost; +#endif +#ifndef BOOST_NO_CXX98_FUNCTION_BASE +#include "boost_no_cxx98_function_base.ipp" +#else +namespace boost_no_cxx98_function_base = empty_boost; +#endif +#ifndef BOOST_NO_CXX98_RANDOM_SHUFFLE +#include "boost_no_cxx98_random_shuffle.ipp" +#else +namespace boost_no_cxx98_random_shuffle = empty_boost; +#endif #ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL #include "boost_no_cxx_hdr_functional.ipp" #else @@ -1606,6 +1621,21 @@ int main( int, char *[] ) std::cerr << "Failed test for BOOST_NO_CXX17_STD_INVOKE at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } + if(0 != boost_no_cxx98_binders::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX98_BINDERS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx98_function_base::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX98_FUNCTION_BASE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx98_random_shuffle::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX98_RANDOM_SHUFFLE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } if(0 != boost_no_cxx11_hdr_functional::test()) { std::cerr << "Failed test for BOOST_NO_CXX11_HDR_FUNCTIONAL at: " << __FILE__ << ":" << __LINE__ << std::endl; diff --git a/test/no_cxx98_binders_fail.cpp b/test/no_cxx98_binders_fail.cpp new file mode 100644 index 00000000..d17f1490 --- /dev/null +++ b/test/no_cxx98_binders_fail.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Mon Apr 17 18:06:53 2017 +// 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_CXX98_BINDERS +// This file should not compile, if it does then +// BOOST_NO_CXX98_BINDERS should not be defined. +// See file boost_no_cxx98_binders.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 +#include "test.hpp" + +#ifdef BOOST_NO_CXX98_BINDERS +#include "boost_no_cxx98_binders.ipp" +#else +#error "this file should not compile" +#endif + +int main( int, char *[] ) +{ + return boost_no_cxx98_binders::test(); +} + diff --git a/test/no_cxx98_binders_pass.cpp b/test/no_cxx98_binders_pass.cpp new file mode 100644 index 00000000..55878792 --- /dev/null +++ b/test/no_cxx98_binders_pass.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Mon Apr 17 18:06:53 2017 +// 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_CXX98_BINDERS +// This file should compile, if it does not then +// BOOST_NO_CXX98_BINDERS should be defined. +// See file boost_no_cxx98_binders.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 +#include "test.hpp" + +#ifndef BOOST_NO_CXX98_BINDERS +#include "boost_no_cxx98_binders.ipp" +#else +namespace boost_no_cxx98_binders = empty_boost; +#endif + +int main( int, char *[] ) +{ + return boost_no_cxx98_binders::test(); +} + diff --git a/test/no_cxx98_function_base_fail.cpp b/test/no_cxx98_function_base_fail.cpp new file mode 100644 index 00000000..132edce8 --- /dev/null +++ b/test/no_cxx98_function_base_fail.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Mon Apr 17 18:35:53 2017 +// 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_CXX98_FUNCTION_BASE +// This file should not compile, if it does then +// BOOST_NO_CXX98_FUNCTION_BASE should not be defined. +// See file boost_no_cxx98_function_base.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 +#include "test.hpp" + +#ifdef BOOST_NO_CXX98_FUNCTION_BASE +#include "boost_no_cxx98_function_base.ipp" +#else +#error "this file should not compile" +#endif + +int main( int, char *[] ) +{ + return boost_no_cxx98_function_base::test(); +} + diff --git a/test/no_cxx98_function_base_pass.cpp b/test/no_cxx98_function_base_pass.cpp new file mode 100644 index 00000000..a608e75b --- /dev/null +++ b/test/no_cxx98_function_base_pass.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Mon Apr 17 18:35:53 2017 +// 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_CXX98_FUNCTION_BASE +// This file should compile, if it does not then +// BOOST_NO_CXX98_FUNCTION_BASE should be defined. +// See file boost_no_cxx98_function_base.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 +#include "test.hpp" + +#ifndef BOOST_NO_CXX98_FUNCTION_BASE +#include "boost_no_cxx98_function_base.ipp" +#else +namespace boost_no_cxx98_function_base = empty_boost; +#endif + +int main( int, char *[] ) +{ + return boost_no_cxx98_function_base::test(); +} + diff --git a/test/no_cxx98_random_shuffle_fail.cpp b/test/no_cxx98_random_shuffle_fail.cpp new file mode 100644 index 00000000..419e22ed --- /dev/null +++ b/test/no_cxx98_random_shuffle_fail.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Mon Apr 17 17:54:47 2017 +// 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_CXX98_RANDOM_SHUFFLE +// This file should not compile, if it does then +// BOOST_NO_CXX98_RANDOM_SHUFFLE should not be defined. +// See file boost_no_cxx98_random_shuffle.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 +#include "test.hpp" + +#ifdef BOOST_NO_CXX98_RANDOM_SHUFFLE +#include "boost_no_cxx98_random_shuffle.ipp" +#else +#error "this file should not compile" +#endif + +int main( int, char *[] ) +{ + return boost_no_cxx98_random_shuffle::test(); +} + diff --git a/test/no_cxx98_random_shuffle_pass.cpp b/test/no_cxx98_random_shuffle_pass.cpp new file mode 100644 index 00000000..1d3355e8 --- /dev/null +++ b/test/no_cxx98_random_shuffle_pass.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Mon Apr 17 17:54:47 2017 +// 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_CXX98_RANDOM_SHUFFLE +// This file should compile, if it does not then +// BOOST_NO_CXX98_RANDOM_SHUFFLE should be defined. +// See file boost_no_cxx98_random_shuffle.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 +#include "test.hpp" + +#ifndef BOOST_NO_CXX98_RANDOM_SHUFFLE +#include "boost_no_cxx98_random_shuffle.ipp" +#else +namespace boost_no_cxx98_random_shuffle = empty_boost; +#endif + +int main( int, char *[] ) +{ + return boost_no_cxx98_random_shuffle::test(); +} + diff --git a/tools/configure.in b/tools/configure.in index 8c69620e..3e1425ce 100644 --- a/tools/configure.in +++ b/tools/configure.in @@ -166,7 +166,7 @@ for file in $boost_base/libs/config/test/boost_no*.ipp; do basename=`echo $file | $SED 's/.*boost_\(.*\)\.ipp/\1/'` macroname=`cat $file | grep '^//[[ ]]*MACRO:' | $SED 's/.*MACRO:[[ ]]*\([[_A-Z0-9]]*\).*/\1/'` title=`cat $file | grep '^//[[ ]]*TITLE:' | $SED 's/.*TITLE:[[ ]]*\([[^ ]].*\)/\1/'` - namespace=`echo $macroname | tr [[A-Z]] [[a-z]]` + namespace=`echo $macroname | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` #echo file = $file #echo basename = $basename @@ -234,7 +234,7 @@ for file in $boost_base/libs/config/test/boost_has*.ipp; do basename=`echo $file | $SED 's/.*boost_\(.*\)\.ipp/\1/'` macroname=`cat $file | grep '^//[[ ]]*MACRO:' | $SED 's/.*MACRO:[[ ]]*\([[_A-Z0-9]]*\).*/\1/'` title=`cat $file | grep '^//[[ ]]*TITLE:' | $SED 's/.*TITLE:[[ ]]*\([[^ ]].*\)/\1/'` - namespace=`echo $macroname | tr [[A-Z]] [[a-z]]` + namespace=`echo $macroname | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` # echo $file # echo $basename diff --git a/tools/generate.cpp b/tools/generate.cpp index 0ea4b4cc..1ef9e69e 100644 --- a/tools/generate.cpp +++ b/tools/generate.cpp @@ -41,7 +41,7 @@ std::stringstream jamfile_v2; std::stringstream build_config_test; std::stringstream build_config_jamfile; std::set macro_list; - +std::set feature_list; void write_config_info() { @@ -192,8 +192,9 @@ void write_build_tests() 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 << "#include \n\n"; ofs << build_config_test.str() << std::endl; - ofs << "int main( int, char *[] )\n{\n" << " return test::test();\n}\n\n"; + ofs << "int main( int, char *[] )\n{\n" << " return 0;\n}\n\n"; } void write_build_check_jamfile() @@ -209,13 +210,6 @@ void write_build_check_jamfile() "# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n" "import modules ;\nimport path ; \n\n" "\n" - "rule run-simple ( requirements * : target-name )\n" - "{\n" - " obj $(target-name)_obj : test_case.cpp : $(requirements) ;\n" - " explicit $(target-name)_obj ;\n" - " unit-test $(target-name) : $(target-name)_obj : $(requirements) ;\n" - " explicit $(target-name) ;\n" - "}\n\n" ; ofs << build_config_jamfile.str() << std::endl; } @@ -288,13 +282,22 @@ void process_ipp_file(const fs::path& file, bool positive_test) // 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"; + if (positive_test) + { + build_config_test << "# ifndef " << macro_name << "\n# error \"Feature macro " << macro_name << " is not defined.\"\n# endif\n"; + } + else + { + build_config_test << "# ifdef " << macro_name << "\n# error \"Defect macro " << macro_name << " is defined.\"\n# endif\n"; + } + build_config_test << "#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_" << macro_name << " : " << feature_name << " ;\n"; + if(feature_list.find(feature_name) == feature_list.end()) + build_config_jamfile << "obj " << feature_name << " : test_case.cpp : TEST_" << macro_name << " ;\n"; + feature_list.insert(feature_name); } int cpp_main(int argc, char* argv[])