summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/config
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/boost/libs/config
parentInitial commit. (diff)
downloadceph-upstream/16.2.11+ds.tar.xz
ceph-upstream/16.2.11+ds.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/libs/config')
-rw-r--r--src/boost/libs/config/CMakeLists.txt34
-rw-r--r--src/boost/libs/config/README.md42
-rw-r--r--src/boost/libs/config/checks/Jamfile.v2486
-rw-r--r--src/boost/libs/config/checks/architecture/32.cpp9
-rw-r--r--src/boost/libs/config/checks/architecture/64.cpp9
-rw-r--r--src/boost/libs/config/checks/architecture/Jamroot.jam25
-rw-r--r--src/boost/libs/config/checks/architecture/arm.cpp15
-rw-r--r--src/boost/libs/config/checks/architecture/combined.cpp21
-rw-r--r--src/boost/libs/config/checks/architecture/mips1.cpp11
-rw-r--r--src/boost/libs/config/checks/architecture/power.cpp14
-rw-r--r--src/boost/libs/config/checks/architecture/riscv.cpp10
-rw-r--r--src/boost/libs/config/checks/architecture/s390x.cpp11
-rw-r--r--src/boost/libs/config/checks/architecture/sparc.cpp11
-rw-r--r--src/boost/libs/config/checks/architecture/x86.cpp16
-rw-r--r--src/boost/libs/config/checks/config.jam21
-rw-r--r--src/boost/libs/config/checks/std/cpp_aggregate_bases_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_aggregate_nsdmi_14.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_alias_templates_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_aligned_new_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_attributes_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_binary_literals_14.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_capture_star_this_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_char8_t_20.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_conditional_explicit_20.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_constexpr_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_constexpr_14.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_constexpr_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_decltype_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_decltype_auto_14.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_deduction_guides_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_delegating_constructors_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_enumerator_attributes_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_exceptions_03.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_explicit_conversion_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_fold_expressions_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_generic_lambdas_14.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_guaranteed_copy_elision_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_hex_float_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_if_constexpr_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_impl_destroying_delete_20.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_impl_three_way_comparison_20.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_inheriting_constructors_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_inheriting_constructors_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_init_captures_14.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_initializer_lists_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_inline_variables_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_lambdas_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_addressof_constexpr_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_allocator_traits_is_always_equal_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_any_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_apply_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_array_constexpr_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_as_const_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_atomic_is_always_lock_free_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_atomic_ref_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_bind_front_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_bit_cast_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_bool_constant_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_boyer_moore_searcher_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_byte_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_char8_t_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_chrono_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_chrono_udls_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_clamp_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_complex_udls_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_concepts_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_constexpr_misc_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_constexpr_swap_algorithms_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_destroying_delete_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_enable_shared_from_this_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_erase_if_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_exchange_function_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_execution_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_filesystem_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_gcd_lcm_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_generic_associative_lookup_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_generic_unordered_lookup_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_hardware_interference_size_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_has_unique_object_representations_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_hypot_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_incomplete_container_elements_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_integer_sequence_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_integral_constant_callable_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_invoke_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_is_aggregate_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_is_constant_evaluated_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_is_final_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_is_invocable_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_is_null_pointer_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_is_swappable_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_launder_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_list_remove_return_type_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_logical_traits_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_make_from_tuple_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_make_reverse_iterator_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_make_unique_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_map_try_emplace_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_math_special_functions_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_memory_resource_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_node_extract_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_nonmember_container_access_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_not_fn_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_null_iterators_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_optional_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_parallel_algorithm_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_quoted_string_io_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_ranges_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_raw_memory_algorithms_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_result_of_sfinae_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_robust_nonmodifying_seq_ops_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_sample_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_scoped_lock_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_shared_mutex_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_shared_ptr_arrays_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_shared_ptr_weak_type_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_shared_timed_mutex_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_string_udls_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_string_view_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_three_way_comparison_20.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_to_chars_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_transformation_trait_aliases_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_transparent_operators_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_transparent_operators_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_tuple_element_t_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_tuples_by_type_14.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_type_trait_variable_templates_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_uncaught_exceptions_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_unordered_map_try_emplace_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_variant_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_lib_void_t_17.cpp32
-rw-r--r--src/boost/libs/config/checks/std/cpp_namespace_attributes_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_noexcept_function_type_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_nontype_template_args_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_nontype_template_parameter_auto_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_nontype_template_parameter_class_20.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_nsdmi_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_range_based_for_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_range_based_for_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_raw_strings_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_ref_qualifiers_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_return_type_deduction_14.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_rtti_03.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_rvalue_references_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_sized_deallocation_14.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_static_assert_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_static_assert_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_structured_bindings_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_template_template_args_17.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_threadsafe_static_init_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_unicode_characters_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_unicode_literals_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_user_defined_literals_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_variable_templates_14.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_variadic_templates_11.cpp30
-rw-r--r--src/boost/libs/config/checks/std/cpp_variadic_using_17.cpp30
-rw-r--r--src/boost/libs/config/checks/test_case.cpp1014
-rw-r--r--src/boost/libs/config/configure3894
-rw-r--r--src/boost/libs/config/index.html15
-rw-r--r--src/boost/libs/config/meta/libraries.json13
-rw-r--r--src/boost/libs/config/test/CMakeLists.txt27
-rw-r--r--src/boost/libs/config/test/Jamfile.v2140
-rw-r--r--src/boost/libs/config/test/abi/abi_test.cpp27
-rw-r--r--src/boost/libs/config/test/abi/abi_test.hpp54
-rw-r--r--src/boost/libs/config/test/abi/main.cpp31
-rw-r--r--src/boost/libs/config/test/all/Jamfile.v2622
-rw-r--r--src/boost/libs/config/test/all/options_v2.jam12
-rw-r--r--src/boost/libs/config/test/boost_fallthrough_test.cpp21
-rw-r--r--src/boost/libs/config/test/boost_has_2arg_use_facet.ipp32
-rw-r--r--src/boost/libs/config/test/boost_has_bethreads.ipp34
-rw-r--r--src/boost/libs/config/test/boost_has_clock_gettime.ipp35
-rw-r--r--src/boost/libs/config/test/boost_has_detect_mismatch.ipp25
-rw-r--r--src/boost/libs/config/test/boost_has_dirent_h.ipp30
-rw-r--r--src/boost/libs/config/test/boost_has_expm1.ipp25
-rw-r--r--src/boost/libs/config/test/boost_has_float128.ipp29
-rw-r--r--src/boost/libs/config/test/boost_has_ftime.ipp32
-rw-r--r--src/boost/libs/config/test/boost_has_getsystemtimeasfiletime.ipp30
-rw-r--r--src/boost/libs/config/test/boost_has_gettimeofday.ipp35
-rw-r--r--src/boost/libs/config/test/boost_has_hash.ipp68
-rw-r--r--src/boost/libs/config/test/boost_has_int128.ipp75
-rw-r--r--src/boost/libs/config/test/boost_has_log1p.ipp24
-rw-r--r--src/boost/libs/config/test/boost_has_long_long.ipp36
-rw-r--r--src/boost/libs/config/test/boost_has_macro_use_facet.ipp35
-rw-r--r--src/boost/libs/config/test/boost_has_ms_int64.ipp32
-rw-r--r--src/boost/libs/config/test/boost_has_nanosleep.ipp36
-rw-r--r--src/boost/libs/config/test/boost_has_nl_types_h.ipp29
-rw-r--r--src/boost/libs/config/test/boost_has_nrvo.ipp57
-rw-r--r--src/boost/libs/config/test/boost_has_part_alloc.ipp67
-rw-r--r--src/boost/libs/config/test/boost_has_pthread_delay_np.ipp35
-rw-r--r--src/boost/libs/config/test/boost_has_pthread_ma_st.ipp37
-rw-r--r--src/boost/libs/config/test/boost_has_pthread_yield.ipp34
-rw-r--r--src/boost/libs/config/test/boost_has_pthreads.ipp64
-rw-r--r--src/boost/libs/config/test/boost_has_rvalue_refs.ipp26
-rw-r--r--src/boost/libs/config/test/boost_has_sched_yield.ipp34
-rw-r--r--src/boost/libs/config/test/boost_has_sgi_type_traits.ipp40
-rw-r--r--src/boost/libs/config/test/boost_has_sigaction.ipp36
-rw-r--r--src/boost/libs/config/test/boost_has_slist.ipp44
-rw-r--r--src/boost/libs/config/test/boost_has_static_assert.ipp20
-rw-r--r--src/boost/libs/config/test/boost_has_stdint_h.ipp48
-rw-r--r--src/boost/libs/config/test/boost_has_stlp_use_facet.ipp31
-rw-r--r--src/boost/libs/config/test/boost_has_unistd_h.ipp26
-rw-r--r--src/boost/libs/config/test/boost_has_variadic_tmpl.ipp21
-rw-r--r--src/boost/libs/config/test/boost_has_vc6_mem_templ.ipp58
-rw-r--r--src/boost/libs/config/test/boost_has_vc_iterator.ipp40
-rw-r--r--src/boost/libs/config/test/boost_has_winthreads.ipp34
-rw-r--r--src/boost/libs/config/test/boost_no_adl_barrier.ipp38
-rw-r--r--src/boost/libs/config/test/boost_no_arg_dep_lookup.ipp37
-rw-r--r--src/boost/libs/config/test/boost_no_array_type_spec.ipp30
-rw-r--r--src/boost/libs/config/test/boost_no_auto_declarations.ipp26
-rw-r--r--src/boost/libs/config/test/boost_no_auto_multidecl.ipp26
-rw-r--r--src/boost/libs/config/test/boost_no_auto_ptr.ipp53
-rw-r--r--src/boost/libs/config/test/boost_no_bcb_partial_spec.ipp53
-rw-r--r--src/boost/libs/config/test/boost_no_char16_t.ipp32
-rw-r--r--src/boost/libs/config/test/boost_no_char32_t.ipp31
-rw-r--r--src/boost/libs/config/test/boost_no_com_value_init.ipp1016
-rw-r--r--src/boost/libs/config/test/boost_no_constexpr.ipp88
-rw-r--r--src/boost/libs/config/test/boost_no_ctype_functions.ipp44
-rw-r--r--src/boost/libs/config/test/boost_no_cv_spec.ipp47
-rw-r--r--src/boost/libs/config/test/boost_no_cv_void_spec.ipp45
-rw-r--r--src/boost/libs/config/test/boost_no_cwchar.ipp33
-rw-r--r--src/boost/libs/config/test/boost_no_cwctype.ipp47
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_addressof.ipp28
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_alignas.ipp36
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_allocator.ipp44
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_atomic_sp.ipp36
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_defaulted_moves.ipp25
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_exception.ipp47
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_final.ipp41
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_array.ipp23
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_atomic.ipp98
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_chrono.ipp31
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_codecvt.ipp29
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_condition_variable.ipp24
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_forward_list.ipp23
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_future.ipp34
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_initializer_list.ipp27
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_mutex.ipp26
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_random.ipp31
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_ratio.ipp37
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_regex.ipp29
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_system_error.ipp26
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_thread.ipp27
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_tuple.ipp24
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_type_traits.ipp109
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_typeindex.ipp33
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_unordered_map.ipp24
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_hdr_unordered_set.ipp24
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_inline_namespaces.ipp30
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_non_pub_def_fun.ipp38
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_numeric_limits.ipp31
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_pointer_traits.ipp37
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_ref_qualifiers.ipp33
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_sfinae_expr.ipp46
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_smart_ptr.ipp35
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_std_align.ipp34
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_thread_local.ipp36
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_trailing_result_types.ipp26
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_unrestricted_union.ipp55
-rw-r--r--src/boost/libs/config/test/boost_no_cxx11_user_lit.ipp67
-rw-r--r--src/boost/libs/config/test/boost_no_cxx14_binary_literals.ipp23
-rw-r--r--src/boost/libs/config/test/boost_no_cxx14_constexpr.ipp72
-rw-r--r--src/boost/libs/config/test/boost_no_cxx14_decltype_auto.ipp33
-rw-r--r--src/boost/libs/config/test/boost_no_cxx14_digit_separator.ipp23
-rw-r--r--src/boost/libs/config/test/boost_no_cxx14_generic_lambda.ipp23
-rw-r--r--src/boost/libs/config/test/boost_no_cxx14_hdr_shared_mutex.ipp27
-rw-r--r--src/boost/libs/config/test/boost_no_cxx14_lambda_capture.ipp23
-rw-r--r--src/boost/libs/config/test/boost_no_cxx14_member_init.ipp30
-rw-r--r--src/boost/libs/config/test/boost_no_cxx14_return_type_ded.ipp29
-rw-r--r--src/boost/libs/config/test/boost_no_cxx14_std_exchange.ipp23
-rw-r--r--src/boost/libs/config/test/boost_no_cxx14_var_templ.ipp26
-rw-r--r--src/boost/libs/config/test/boost_no_cxx17_fold_expressions.ipp27
-rw-r--r--src/boost/libs/config/test/boost_no_cxx17_hdr_optional.ipp23
-rw-r--r--src/boost/libs/config/test/boost_no_cxx17_hdr_string_view.ipp26
-rw-r--r--src/boost/libs/config/test/boost_no_cxx17_hdr_variant.ipp32
-rw-r--r--src/boost/libs/config/test/boost_no_cxx17_if_constexpr.ipp45
-rw-r--r--src/boost/libs/config/test/boost_no_cxx17_inline_variables.ipp27
-rw-r--r--src/boost/libs/config/test/boost_no_cxx17_iterator_traits.ipp54
-rw-r--r--src/boost/libs/config/test/boost_no_cxx17_std_apply.ipp28
-rw-r--r--src/boost/libs/config/test/boost_no_cxx17_std_invoke.ipp27
-rw-r--r--src/boost/libs/config/test/boost_no_cxx17_structured_bindings.ipp36
-rw-r--r--src/boost/libs/config/test/boost_no_cxx98_binders.ipp30
-rw-r--r--src/boost/libs/config/test/boost_no_cxx98_function_base.ipp28
-rw-r--r--src/boost/libs/config/test/boost_no_cxx98_random_shuffle.ipp23
-rw-r--r--src/boost/libs/config/test/boost_no_cxx_hdr_functional.ipp43
-rw-r--r--src/boost/libs/config/test/boost_no_decltype.ipp54
-rw-r--r--src/boost/libs/config/test/boost_no_decltype_n3276.ipp137
-rw-r--r--src/boost/libs/config/test/boost_no_ded_typename.ipp40
-rw-r--r--src/boost/libs/config/test/boost_no_defaulted_functions.ipp28
-rw-r--r--src/boost/libs/config/test/boost_no_deleted_functions.ipp28
-rw-r--r--src/boost/libs/config/test/boost_no_dep_nested_class.ipp58
-rw-r--r--src/boost/libs/config/test/boost_no_dep_val_param.ipp37
-rw-r--r--src/boost/libs/config/test/boost_no_excep_std.ipp35
-rw-r--r--src/boost/libs/config/test/boost_no_exceptions.ipp43
-rw-r--r--src/boost/libs/config/test/boost_no_exp_func_tem_arg.ipp55
-rw-r--r--src/boost/libs/config/test/boost_no_explicit_cvt_ops.ipp33
-rw-r--r--src/boost/libs/config/test/boost_no_extern_template.ipp41
-rw-r--r--src/boost/libs/config/test/boost_no_fenv_h.ipp58
-rw-r--r--src/boost/libs/config/test/boost_no_fixed_len_variadic_templates.ipp26
-rw-r--r--src/boost/libs/config/test/boost_no_func_tmp_order.ipp49
-rw-r--r--src/boost/libs/config/test/boost_no_function_template_default_args.ipp38
-rw-r--r--src/boost/libs/config/test/boost_no_function_type_spec.ipp44
-rw-r--r--src/boost/libs/config/test/boost_no_i64_limits.ipp29
-rw-r--r--src/boost/libs/config/test/boost_no_inline_memb_init.ipp62
-rw-r--r--src/boost/libs/config/test/boost_no_integral_int64_t.ipp54
-rw-r--r--src/boost/libs/config/test/boost_no_iosfwd.ipp23
-rw-r--r--src/boost/libs/config/test/boost_no_iostream.ipp25
-rw-r--r--src/boost/libs/config/test/boost_no_is_abstract.ipp53
-rw-r--r--src/boost/libs/config/test/boost_no_iter_construct.ipp38
-rw-r--r--src/boost/libs/config/test/boost_no_lambdas.ipp30
-rw-r--r--src/boost/libs/config/test/boost_no_limits.ipp34
-rw-r--r--src/boost/libs/config/test/boost_no_limits_const_exp.ipp42
-rw-r--r--src/boost/libs/config/test/boost_no_ll_limits.ipp37
-rw-r--r--src/boost/libs/config/test/boost_no_long_long.ipp36
-rw-r--r--src/boost/libs/config/test/boost_no_mem_func_spec.ipp62
-rw-r--r--src/boost/libs/config/test/boost_no_mem_tem_keyword.ipp69
-rw-r--r--src/boost/libs/config/test/boost_no_mem_tem_pnts.ipp50
-rw-r--r--src/boost/libs/config/test/boost_no_mem_templ_frnds.ipp72
-rw-r--r--src/boost/libs/config/test/boost_no_mem_templates.ipp64
-rw-r--r--src/boost/libs/config/test/boost_no_nested_friendship.ipp44
-rw-r--r--src/boost/libs/config/test/boost_no_noexcept.ipp26
-rw-r--r--src/boost/libs/config/test/boost_no_nullptr.ipp24
-rw-r--r--src/boost/libs/config/test/boost_no_ops_in_namespace.ipp73
-rw-r--r--src/boost/libs/config/test/boost_no_part_spec_def_args.ipp46
-rw-r--r--src/boost/libs/config/test/boost_no_partial_spec.ipp56
-rw-r--r--src/boost/libs/config/test/boost_no_priv_aggregate.ipp39
-rw-r--r--src/boost/libs/config/test/boost_no_ptr_mem_const.ipp84
-rw-r--r--src/boost/libs/config/test/boost_no_range_based_for.ipp23
-rw-r--r--src/boost/libs/config/test/boost_no_raw_literals.ipp27
-rw-r--r--src/boost/libs/config/test/boost_no_restrict_references.ipp47
-rw-r--r--src/boost/libs/config/test/boost_no_ret_det.ipp43
-rw-r--r--src/boost/libs/config/test/boost_no_rtti.ipp64
-rw-r--r--src/boost/libs/config/test/boost_no_rvalue_references.ipp26
-rw-r--r--src/boost/libs/config/test/boost_no_scoped_enums.ipp28
-rw-r--r--src/boost/libs/config/test/boost_no_sfinae.ipp68
-rw-r--r--src/boost/libs/config/test/boost_no_sfinae_expr.ipp37
-rw-r--r--src/boost/libs/config/test/boost_no_sstream.ipp29
-rw-r--r--src/boost/libs/config/test/boost_no_static_assert.ipp20
-rw-r--r--src/boost/libs/config/test/boost_no_std_allocator.ipp88
-rw-r--r--src/boost/libs/config/test/boost_no_std_distance.ipp31
-rw-r--r--src/boost/libs/config/test/boost_no_std_iter_traits.ipp80
-rw-r--r--src/boost/libs/config/test/boost_no_std_iterator.ipp67
-rw-r--r--src/boost/libs/config/test/boost_no_std_locale.ipp36
-rw-r--r--src/boost/libs/config/test/boost_no_std_messages.ipp39
-rw-r--r--src/boost/libs/config/test/boost_no_std_min_max.ipp33
-rw-r--r--src/boost/libs/config/test/boost_no_std_oi_assign.ipp42
-rw-r--r--src/boost/libs/config/test/boost_no_std_typeinfo.ipp26
-rw-r--r--src/boost/libs/config/test/boost_no_std_use_facet.ipp29
-rw-r--r--src/boost/libs/config/test/boost_no_std_wstreambuf.ipp108
-rw-r--r--src/boost/libs/config/test/boost_no_std_wstring.ipp28
-rw-r--r--src/boost/libs/config/test/boost_no_stdc_namespace.ipp43
-rw-r--r--src/boost/libs/config/test/boost_no_swprintf.ipp31
-rw-r--r--src/boost/libs/config/test/boost_no_tem_local_classes.ipp33
-rw-r--r--src/boost/libs/config/test/boost_no_template_aliases.ipp22
-rw-r--r--src/boost/libs/config/test/boost_no_template_streams.ipp29
-rw-r--r--src/boost/libs/config/test/boost_no_template_template.ipp50
-rw-r--r--src/boost/libs/config/test/boost_no_two_phase_lookup.ipp41
-rw-r--r--src/boost/libs/config/test/boost_no_typeid.ipp24
-rw-r--r--src/boost/libs/config/test/boost_no_typename_with_ctor.ipp34
-rw-r--r--src/boost/libs/config/test/boost_no_unicode_literals.ipp34
-rw-r--r--src/boost/libs/config/test/boost_no_unified_init.ipp59
-rw-r--r--src/boost/libs/config/test/boost_no_using_breaks_adl.ipp73
-rw-r--r--src/boost/libs/config/test/boost_no_using_decl_overld.ipp33
-rw-r--r--src/boost/libs/config/test/boost_no_using_template.ipp47
-rw-r--r--src/boost/libs/config/test/boost_no_variadic_macros.ipp64
-rw-r--r--src/boost/libs/config/test/boost_no_variadic_templates.ipp21
-rw-r--r--src/boost/libs/config/test/boost_no_void_returns.ipp34
-rw-r--r--src/boost/libs/config/test/boost_no_wchar_t.ipp45
-rw-r--r--src/boost/libs/config/test/cmd_line_check.cpp15
-rw-r--r--src/boost/libs/config/test/config_build_check.cpp20
-rw-r--r--src/boost/libs/config/test/config_info.cpp1350
-rw-r--r--src/boost/libs/config/test/config_test.cpp2021
-rw-r--r--src/boost/libs/config/test/config_test.cu1971
-rw-r--r--src/boost/libs/config/test/config_test_c.c13
-rw-r--r--src/boost/libs/config/test/cstdint_include_test.cpp69
-rw-r--r--src/boost/libs/config/test/cstdint_test.cpp238
-rw-r--r--src/boost/libs/config/test/cstdint_test2.cpp248
-rw-r--r--src/boost/libs/config/test/has_2arg_use_facet_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_2arg_use_facet_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_bethreads_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_bethreads_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_clock_gettime_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_clock_gettime_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_detect_mismatch_fail.cpp37
-rw-r--r--src/boost/libs/config/test/has_detect_mismatch_pass.cpp37
-rw-r--r--src/boost/libs/config/test/has_dirent_h_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_dirent_h_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_expm1_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_expm1_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_float128_fail.cpp37
-rw-r--r--src/boost/libs/config/test/has_float128_pass.cpp37
-rw-r--r--src/boost/libs/config/test/has_ftime_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_ftime_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_getsystemtimeasfiletime_fail.cpp37
-rw-r--r--src/boost/libs/config/test/has_getsystemtimeasfiletime_pass.cpp37
-rw-r--r--src/boost/libs/config/test/has_gettimeofday_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_gettimeofday_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_hash_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_hash_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_int128_fail.cpp37
-rw-r--r--src/boost/libs/config/test/has_int128_pass.cpp37
-rw-r--r--src/boost/libs/config/test/has_log1p_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_log1p_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_long_long_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_long_long_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_macro_use_facet_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_macro_use_facet_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_ms_int64_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_ms_int64_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_nanosleep_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_nanosleep_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_nl_types_h_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_nl_types_h_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_nrvo_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_nrvo_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_part_alloc_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_part_alloc_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_pthread_delay_np_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_pthread_delay_np_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_pthread_ma_st_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_pthread_ma_st_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_pthread_yield_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_pthread_yield_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_pthreads_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_pthreads_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_rvalue_refs_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_rvalue_refs_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_sched_yield_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_sched_yield_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_sgi_type_traits_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_sgi_type_traits_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_sigaction_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_sigaction_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_slist_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_slist_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_static_assert_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_static_assert_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_stdint_h_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_stdint_h_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_stlp_use_facet_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_stlp_use_facet_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_unistd_h_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_unistd_h_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_variadic_tmpl_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_variadic_tmpl_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_vc6_mem_templ_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_vc6_mem_templ_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_vc_iterator_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_vc_iterator_pass.cpp34
-rw-r--r--src/boost/libs/config/test/has_winthreads_fail.cpp34
-rw-r--r--src/boost/libs/config/test/has_winthreads_pass.cpp34
-rw-r--r--src/boost/libs/config/test/header_deprecated_test.cpp18
-rw-r--r--src/boost/libs/config/test/helper_macro_test.cpp87
-rw-r--r--src/boost/libs/config/test/helper_macros_test.cpp30
-rw-r--r--src/boost/libs/config/test/limits_test.cpp213
-rw-r--r--src/boost/libs/config/test/link/Jamfile.v219
-rw-r--r--src/boost/libs/config/test/link/bc_gen.sh286
-rw-r--r--src/boost/libs/config/test/link/borland.mak429
-rw-r--r--src/boost/libs/config/test/link/common.sh19
-rw-r--r--src/boost/libs/config/test/link/link_test.cpp54
-rw-r--r--src/boost/libs/config/test/link/link_test.hpp108
-rw-r--r--src/boost/libs/config/test/link/main.cpp19
-rw-r--r--src/boost/libs/config/test/link/test/Jamfile.v2117
-rw-r--r--src/boost/libs/config/test/link/vc6-stlport.mak292
-rw-r--r--src/boost/libs/config/test/link/vc6.mak260
-rw-r--r--src/boost/libs/config/test/link/vc7-stlport.mak292
-rw-r--r--src/boost/libs/config/test/link/vc7.mak260
-rw-r--r--src/boost/libs/config/test/link/vc71-stlport.mak292
-rw-r--r--src/boost/libs/config/test/link/vc71.mak260
-rw-r--r--src/boost/libs/config/test/link/vc_gen.sh424
-rw-r--r--src/boost/libs/config/test/math_info.cpp365
-rw-r--r--src/boost/libs/config/test/no_adl_barrier_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_adl_barrier_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_arg_dep_lookup_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_arg_dep_lookup_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_array_type_spec_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_array_type_spec_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_auto_declarations_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_auto_declarations_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_auto_multidecl_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_auto_multidecl_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_auto_ptr_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_auto_ptr_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_bcb_partial_spec_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_bcb_partial_spec_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_char16_t_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_char16_t_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_char32_t_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_char32_t_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_com_value_init_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_com_value_init_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_constexpr_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_constexpr_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_ctype_functions_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_ctype_functions_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_cv_spec_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_cv_spec_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_cv_void_spec_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_cv_void_spec_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_cwchar_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_cwchar_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_cwctype_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_cwctype_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_cxx11_addressof_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_addressof_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_alignas_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_alignas_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_allocator_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_allocator_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_atomic_sp_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_atomic_sp_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_defaulted_moves_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_defaulted_moves_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_exception_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_exception_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_final_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_final_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_array_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_array_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_atomic_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_atomic_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_chrono_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_chrono_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_codecvt_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_codecvt_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_condition_variable_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_condition_variable_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_forward_list_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_forward_list_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_future_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_future_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_initializer_list_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_initializer_list_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_mutex_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_mutex_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_random_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_random_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_ratio_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_ratio_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_regex_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_regex_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_system_error_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_system_error_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_thread_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_thread_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_tuple_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_tuple_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_type_traits_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_type_traits_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_typeindex_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_typeindex_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_unordered_map_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_unordered_map_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_unordered_set_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_hdr_unordered_set_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_inline_namespaces_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_inline_namespaces_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_non_pub_def_fun_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_non_pub_def_fun_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_numeric_limits_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_numeric_limits_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_pointer_traits_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_pointer_traits_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_ref_qualifiers_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_ref_qualifiers_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_sfinae_expr_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_sfinae_expr_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_smart_ptr_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_smart_ptr_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_std_align_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_std_align_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_thread_local_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_thread_local_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_trailing_result_types_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_trailing_result_types_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_unrestricted_union_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_unrestricted_union_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_user_lit_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx11_user_lit_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_binary_literals_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_binary_literals_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_constexpr_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_constexpr_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_decltype_auto_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_decltype_auto_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_digit_separator_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_digit_separator_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_generic_lambda_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_generic_lambda_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_hdr_shared_mutex_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_hdr_shared_mutex_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_lambda_capture_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_lambda_capture_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_member_init_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_member_init_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_return_type_ded_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_return_type_ded_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_std_exchange_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_std_exchange_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_var_templ_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx14_var_templ_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_fold_expressions_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_fold_expressions_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_hdr_optional_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_hdr_optional_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_hdr_string_view_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_hdr_string_view_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_hdr_variant_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_hdr_variant_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_if_constexpr_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_if_constexpr_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_inline_variables_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_inline_variables_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_iterator_traits_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_iterator_traits_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_std_apply_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_std_apply_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_std_invoke_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_std_invoke_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_structured_bindings_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx17_structured_bindings_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx98_binders_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx98_binders_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx98_function_base_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx98_function_base_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx98_random_shuffle_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx98_random_shuffle_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx_hdr_functional_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_cxx_hdr_functional_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_decltype_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_decltype_n3276_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_decltype_n3276_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_decltype_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_ded_typename_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_ded_typename_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_defaulted_functions_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_defaulted_functions_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_deleted_functions_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_deleted_functions_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_dep_nested_class_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_dep_nested_class_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_dep_val_param_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_dep_val_param_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_excep_std_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_excep_std_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_exceptions_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_exceptions_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_exp_func_tem_arg_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_exp_func_tem_arg_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_explicit_cvt_ops_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_explicit_cvt_ops_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_extern_template_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_extern_template_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_fenv_h_fail.cpp33
-rw-r--r--src/boost/libs/config/test/no_fenv_h_pass.cpp33
-rw-r--r--src/boost/libs/config/test/no_fixed_len_variadic_templates_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_fixed_len_variadic_templates_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_func_tmp_order_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_func_tmp_order_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_function_template_default_args_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_function_template_default_args_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_function_type_spec_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_function_type_spec_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_i64_limits_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_i64_limits_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_inline_memb_init_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_inline_memb_init_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_integral_int64_t_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_integral_int64_t_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_iosfwd_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_iosfwd_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_iostream_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_iostream_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_is_abstract_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_is_abstract_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_iter_construct_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_iter_construct_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_lambdas_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_lambdas_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_limits_const_exp_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_limits_const_exp_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_limits_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_limits_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_ll_limits_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_ll_limits_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_long_long_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_long_long_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_mem_func_spec_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_mem_func_spec_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_mem_tem_keyword_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_mem_tem_keyword_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_mem_tem_pnts_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_mem_tem_pnts_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_mem_templ_frnds_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_mem_templ_frnds_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_mem_templates_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_mem_templates_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_nested_friendship_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_nested_friendship_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_noexcept_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_noexcept_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_nullptr_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_nullptr_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_ops_in_namespace_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_ops_in_namespace_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_part_spec_def_args_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_part_spec_def_args_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_partial_spec_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_partial_spec_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_priv_aggregate_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_priv_aggregate_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_ptr_mem_const_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_ptr_mem_const_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_range_based_for_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_range_based_for_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_raw_literals_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_raw_literals_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_restrict_references_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_restrict_references_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_ret_det_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_ret_det_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_rtti_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_rtti_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_rvalue_references_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_rvalue_references_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_scoped_enums_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_scoped_enums_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_sfinae_expr_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_sfinae_expr_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_sfinae_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_sfinae_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_sstream_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_sstream_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_static_assert_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_static_assert_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_std_allocator_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_allocator_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_distance_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_distance_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_iter_traits_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_iter_traits_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_iterator_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_iterator_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_locale_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_locale_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_messages_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_messages_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_min_max_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_min_max_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_oi_assign_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_oi_assign_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_typeinfo_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_typeinfo_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_use_facet_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_use_facet_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_wstreambuf_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_wstreambuf_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_wstring_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_std_wstring_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_stdc_namespace_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_stdc_namespace_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_swprintf_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_swprintf_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_tem_local_classes_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_tem_local_classes_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_template_aliases_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_template_aliases_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_template_streams_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_template_streams_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_template_template_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_template_template_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_two_phase_lookup_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_two_phase_lookup_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_typeid_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_typeid_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_typename_with_ctor_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_typename_with_ctor_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_unicode_literals_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_unicode_literals_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_unified_init_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_unified_init_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_using_breaks_adl_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_using_breaks_adl_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_using_decl_overld_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_using_decl_overld_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_using_template_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_using_template_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_variadic_macros_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_variadic_macros_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_variadic_templates_fail.cpp37
-rw-r--r--src/boost/libs/config/test/no_variadic_templates_pass.cpp37
-rw-r--r--src/boost/libs/config/test/no_void_returns_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_void_returns_pass.cpp34
-rw-r--r--src/boost/libs/config/test/no_wchar_t_fail.cpp34
-rw-r--r--src/boost/libs/config/test/no_wchar_t_pass.cpp34
-rw-r--r--src/boost/libs/config/test/pragma_message_test.cpp18
-rw-r--r--src/boost/libs/config/test/test.hpp21
-rw-r--r--src/boost/libs/config/test/threads/test_thread_fail1.cpp10
-rw-r--r--src/boost/libs/config/test/threads/test_thread_fail2.cpp13
-rw-r--r--src/boost/libs/config/tools/Jamfile.v215
-rw-r--r--src/boost/libs/config/tools/configure.in463
-rw-r--r--src/boost/libs/config/tools/generate.cpp522
800 files changed, 44913 insertions, 0 deletions
diff --git a/src/boost/libs/config/CMakeLists.txt b/src/boost/libs/config/CMakeLists.txt
new file mode 100644
index 000000000..2cff703d7
--- /dev/null
+++ b/src/boost/libs/config/CMakeLists.txt
@@ -0,0 +1,34 @@
+# Copyright 2018 Mike Dev
+# Copyright 2019 Peter Dimov
+# 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
+#
+# CAUTION!!!!
+#
+# This addition to Boost.Config should be considered experimental and is part
+# of an ongoing effort to add CMake support Boost-wide.
+#
+# IT IS HIGHLY LIKELY THAT THIS FILE WILL CHANGE WITHOUT NOTICE!!!
+#
+# DO NOT RELY ON THE CONTENTS OF THIS FILE!!!
+#
+
+# We support CMake 3.5, but prefer 3.16 policies and behavior
+cmake_minimum_required(VERSION 3.5...3.16)
+
+project(boost_config VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
+
+add_library(boost_config INTERFACE)
+add_library(Boost::config ALIAS boost_config)
+
+target_include_directories(boost_config INTERFACE include)
+
+# boost_install requires PROJECT_VERSION
+# Without the superproject, we don't have any, so skip installation
+
+if(BOOST_SUPERPROJECT_VERSION)
+
+ include(BoostInstall)
+ boost_install(TARGETS boost_config HEADER_DIRECTORY include/)
+
+endif()
diff --git a/src/boost/libs/config/README.md b/src/boost/libs/config/README.md
new file mode 100644
index 000000000..a258cbc91
--- /dev/null
+++ b/src/boost/libs/config/README.md
@@ -0,0 +1,42 @@
+Boost Config Library
+============================
+
+This library provides configuration support for the Boost C++ libraries.
+
+The full documentation is available on [boost.org](http://www.boost.org/doc/libs/release/libs/config/index.html).
+
+| | Master | Develop |
+|------------------|----------|-------------|
+| Travis | [![Build Status](https://travis-ci.org/boostorg/config.svg?branch=master)](https://travis-ci.org/boostorg/config) | [![Build Status](https://travis-ci.org/boostorg/config.png)](https://travis-ci.org/boostorg/config) |
+| Appveyor | [![Build status](https://ci.appveyor.com/api/projects/status/wo2n2mhoy8vegmuo/branch/master?svg=true)](https://ci.appveyor.com/project/jzmaddock/config/branch/master) | [![Build status](https://ci.appveyor.com/api/projects/status/wo2n2mhoy8vegmuo/branch/develop?svg=true)](https://ci.appveyor.com/project/jzmaddock/config/branch/develop) |
+
+## Support, bugs and feature requests ##
+
+Bugs and feature requests can be reported through the [Gitub issue tracker](https://github.com/boostorg/config/issues)
+(see [open issues](https://github.com/boostorg/config/issues) and
+[closed issues](https://github.com/boostorg/config/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed)).
+
+You can submit your changes through a [pull request](https://github.com/boostorg/config/pulls).
+
+There is no mailing-list specific to Boost Config, although you can use the general-purpose Boost [mailing-list](http://lists.boost.org/mailman/listinfo.cgi/boost-users) using the tag [config].
+
+
+## Development ##
+
+Clone the whole boost project, which includes the individual Boost projects as submodules ([see boost+git doc](https://github.com/boostorg/boost/wiki/Getting-Started)):
+
+ git clone https://github.com/boostorg/boost
+ cd boost
+ git submodule update --init
+
+The Boost Config Library is located in `libs/config/`.
+
+### Running tests ###
+First, make sure you are in `libs/config/test`.
+You can either run all the tests listed in `Jamfile.v2` or run a single test:
+
+ ../../../b2 <- run all tests
+ ../../../b2 config_info <- single test
+
+### For developers ###
+Please check the [Guidelines for Boost Authors](http://www.boost.org/doc/libs/release/libs/config/doc/html/boost_config/guidelines_for_boost_authors.html). from the full documentation.
diff --git a/src/boost/libs/config/checks/Jamfile.v2 b/src/boost/libs/config/checks/Jamfile.v2
new file mode 100644
index 000000000..5c0c93a34
--- /dev/null
+++ b/src/boost/libs/config/checks/Jamfile.v2
@@ -0,0 +1,486 @@
+#
+# *** DO NOT EDIT THIS FILE BY HAND ***
+# This file was automatically generated on Mon Dec 09 09:47:38 2019
+# by libs/config/tools/generate.cpp
+# Copyright John Maddock.
+# Use, modification and distribution are subject to the
+# Boost Software License, Version 1.0. (See accompanying file
+# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+import modules ;
+import path ;
+
+
+obj two_arg_use_facet : test_case.cpp : <define>TEST_BOOST_HAS_TWO_ARG_USE_FACET ;
+obj bethreads : test_case.cpp : <define>TEST_BOOST_HAS_BETHREADS ;
+obj clock_gettime : test_case.cpp : <define>TEST_BOOST_HAS_CLOCK_GETTIME ;
+obj pragma_detect_mismatch : test_case.cpp : <define>TEST_BOOST_HAS_PRAGMA_DETECT_MISMATCH ;
+obj dirent_h : test_case.cpp : <define>TEST_BOOST_HAS_DIRENT_H ;
+obj expm1 : test_case.cpp : <define>TEST_BOOST_HAS_EXPM1 ;
+obj float128 : test_case.cpp : <define>TEST_BOOST_HAS_FLOAT128 ;
+obj ftime : test_case.cpp : <define>TEST_BOOST_HAS_FTIME ;
+obj getsystemtimeasfiletime : test_case.cpp : <define>TEST_BOOST_HAS_GETSYSTEMTIMEASFILETIME ;
+obj gettimeofday : test_case.cpp : <define>TEST_BOOST_HAS_GETTIMEOFDAY ;
+obj hash : test_case.cpp : <define>TEST_BOOST_HAS_HASH ;
+obj int128 : test_case.cpp : <define>TEST_BOOST_HAS_INT128 ;
+obj log1p : test_case.cpp : <define>TEST_BOOST_HAS_LOG1P ;
+obj long_long : test_case.cpp : <define>TEST_BOOST_HAS_LONG_LONG ;
+obj macro_use_facet : test_case.cpp : <define>TEST_BOOST_HAS_MACRO_USE_FACET ;
+obj ms_int64 : test_case.cpp : <define>TEST_BOOST_HAS_MS_INT64 ;
+obj nanosleep : test_case.cpp : <define>TEST_BOOST_HAS_NANOSLEEP ;
+obj nl_types_h : test_case.cpp : <define>TEST_BOOST_HAS_NL_TYPES_H ;
+obj nrvo : test_case.cpp : <define>TEST_BOOST_HAS_NRVO ;
+obj partial_std_allocator : test_case.cpp : <define>TEST_BOOST_HAS_PARTIAL_STD_ALLOCATOR ;
+obj pthread_delay_np : test_case.cpp : <define>TEST_BOOST_HAS_PTHREAD_DELAY_NP ;
+obj pthread_mutexattr_settype : test_case.cpp : <define>TEST_BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE ;
+obj pthread_yield : test_case.cpp : <define>TEST_BOOST_HAS_PTHREAD_YIELD ;
+obj pthreads : test_case.cpp : <define>TEST_BOOST_HAS_PTHREADS ;
+obj rvalue_refs : test_case.cpp : <define>TEST_BOOST_HAS_RVALUE_REFS ;
+obj sched_yield : test_case.cpp : <define>TEST_BOOST_HAS_SCHED_YIELD ;
+obj sgi_type_traits : test_case.cpp : <define>TEST_BOOST_HAS_SGI_TYPE_TRAITS ;
+obj sigaction : test_case.cpp : <define>TEST_BOOST_HAS_SIGACTION ;
+obj slist : test_case.cpp : <define>TEST_BOOST_HAS_SLIST ;
+obj static_assert : test_case.cpp : <define>TEST_BOOST_HAS_STATIC_ASSERT ;
+obj stdint_h : test_case.cpp : <define>TEST_BOOST_HAS_STDINT_H ;
+obj stlp_use_facet : test_case.cpp : <define>TEST_BOOST_HAS_STLP_USE_FACET ;
+obj unistd_h : test_case.cpp : <define>TEST_BOOST_HAS_UNISTD_H ;
+obj variadic_tmpl : test_case.cpp : <define>TEST_BOOST_HAS_VARIADIC_TMPL ;
+obj boost_msvc6_member_templates : test_case.cpp : <define>TEST_BOOST_MSVC6_MEMBER_TEMPLATES ;
+obj boost_msvc_std_iterator : test_case.cpp : <define>TEST_BOOST_MSVC_STD_ITERATOR ;
+obj winthreads : test_case.cpp : <define>TEST_BOOST_HAS_WINTHREADS ;
+obj adl_barrier : test_case.cpp : <define>TEST_BOOST_NO_ADL_BARRIER ;
+obj argument_dependent_lookup : test_case.cpp : <define>TEST_BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ;
+obj array_type_specializations : test_case.cpp : <define>TEST_BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS ;
+obj cxx11_auto_declarations : test_case.cpp : <define>TEST_BOOST_NO_CXX11_AUTO_DECLARATIONS ;
+obj cxx11_auto_multideclarations : test_case.cpp : <define>TEST_BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS ;
+obj auto_ptr : test_case.cpp : <define>TEST_BOOST_NO_AUTO_PTR ;
+obj boost_bcb_partial_specialization_bug : test_case.cpp : <define>TEST_BOOST_BCB_PARTIAL_SPECIALIZATION_BUG ;
+obj cxx11_char16_t : test_case.cpp : <define>TEST_BOOST_NO_CXX11_CHAR16_T ;
+obj cxx11_char32_t : test_case.cpp : <define>TEST_BOOST_NO_CXX11_CHAR32_T ;
+obj complete_value_initialization : test_case.cpp : <define>TEST_BOOST_NO_COMPLETE_VALUE_INITIALIZATION ;
+obj cxx11_constexpr : test_case.cpp : <define>TEST_BOOST_NO_CXX11_CONSTEXPR ;
+obj ctype_functions : test_case.cpp : <define>TEST_BOOST_NO_CTYPE_FUNCTIONS ;
+obj cv_specializations : test_case.cpp : <define>TEST_BOOST_NO_CV_SPECIALIZATIONS ;
+obj cv_void_specializations : test_case.cpp : <define>TEST_BOOST_NO_CV_VOID_SPECIALIZATIONS ;
+obj cwchar : test_case.cpp : <define>TEST_BOOST_NO_CWCHAR ;
+obj cwctype : test_case.cpp : <define>TEST_BOOST_NO_CWCTYPE ;
+obj cxx11_addressof : test_case.cpp : <define>TEST_BOOST_NO_CXX11_ADDRESSOF ;
+obj cxx11_alignas : test_case.cpp : <define>TEST_BOOST_NO_CXX11_ALIGNAS ;
+obj cxx11_allocator : test_case.cpp : <define>TEST_BOOST_NO_CXX11_ALLOCATOR ;
+obj cxx11_atomic_smart_ptr : test_case.cpp : <define>TEST_BOOST_NO_CXX11_ATOMIC_SMART_PTR ;
+obj cxx11_defaulted_moves : test_case.cpp : <define>TEST_BOOST_NO_CXX11_DEFAULTED_MOVES ;
+obj cxx11_hdr_exception : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_EXCEPTION ;
+obj cxx11_final : test_case.cpp : <define>TEST_BOOST_NO_CXX11_FINAL ;
+obj cxx11_hdr_array : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_ARRAY ;
+obj cxx11_hdr_atomic : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_ATOMIC ;
+obj cxx11_hdr_chrono : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_CHRONO ;
+obj cxx11_hdr_codecvt : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_CODECVT ;
+obj cxx11_hdr_condition_variable : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_CONDITION_VARIABLE ;
+obj cxx11_hdr_forward_list : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_FORWARD_LIST ;
+obj cxx11_hdr_future : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_FUTURE ;
+obj cxx11_hdr_initializer_list : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_INITIALIZER_LIST ;
+obj cxx11_hdr_mutex : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_MUTEX ;
+obj cxx11_hdr_random : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_RANDOM ;
+obj cxx11_hdr_ratio : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_RATIO ;
+obj cxx11_hdr_regex : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_REGEX ;
+obj cxx11_hdr_system_error : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_SYSTEM_ERROR ;
+obj cxx11_hdr_thread : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_THREAD ;
+obj cxx11_hdr_tuple : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_TUPLE ;
+obj cxx11_hdr_type_traits : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_TYPE_TRAITS ;
+obj cxx11_hdr_typeindex : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_TYPEINDEX ;
+obj cxx11_hdr_unordered_map : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_UNORDERED_MAP ;
+obj cxx11_hdr_unordered_set : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_UNORDERED_SET ;
+obj cxx11_inline_namespaces : test_case.cpp : <define>TEST_BOOST_NO_CXX11_INLINE_NAMESPACES ;
+obj cxx11_non_public_defaulted_functions : test_case.cpp : <define>TEST_BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS ;
+obj cxx11_numeric_limits : test_case.cpp : <define>TEST_BOOST_NO_CXX11_NUMERIC_LIMITS ;
+obj cxx11_pointer_traits : test_case.cpp : <define>TEST_BOOST_NO_CXX11_POINTER_TRAITS ;
+obj cxx11_ref_qualifiers : test_case.cpp : <define>TEST_BOOST_NO_CXX11_REF_QUALIFIERS ;
+obj cxx11_sfinae_expr : test_case.cpp : <define>TEST_BOOST_NO_CXX11_SFINAE_EXPR ;
+obj cxx11_smart_ptr : test_case.cpp : <define>TEST_BOOST_NO_CXX11_SMART_PTR ;
+obj cxx11_std_align : test_case.cpp : <define>TEST_BOOST_NO_CXX11_STD_ALIGN ;
+obj cxx11_thread_local : test_case.cpp : <define>TEST_BOOST_NO_CXX11_THREAD_LOCAL ;
+obj cxx11_trailing_result_types : test_case.cpp : <define>TEST_BOOST_NO_CXX11_TRAILING_RESULT_TYPES ;
+obj cxx11_user_defined_literals : test_case.cpp : <define>TEST_BOOST_NO_CXX11_USER_DEFINED_LITERALS ;
+obj cxx14_binary_literals : test_case.cpp : <define>TEST_BOOST_NO_CXX14_BINARY_LITERALS ;
+obj cxx14_constexpr : test_case.cpp : <define>TEST_BOOST_NO_CXX14_CONSTEXPR ;
+obj cxx14_decltype_auto : test_case.cpp : <define>TEST_BOOST_NO_CXX14_DECLTYPE_AUTO ;
+obj cxx14_digit_separators : test_case.cpp : <define>TEST_BOOST_NO_CXX14_DIGIT_SEPARATORS ;
+obj cxx14_generic_lambdas : test_case.cpp : <define>TEST_BOOST_NO_CXX14_GENERIC_LAMBDAS ;
+obj cxx14_hdr_shared_mutex : test_case.cpp : <define>TEST_BOOST_NO_CXX14_HDR_SHARED_MUTEX ;
+obj cxx14_initialized_lambda_captures : test_case.cpp : <define>TEST_BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES ;
+obj cxx14_aggregate_nsdmi : test_case.cpp : <define>TEST_BOOST_NO_CXX14_AGGREGATE_NSDMI ;
+obj cxx14_return_type_deduction : test_case.cpp : <define>TEST_BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION ;
+obj cxx14_std_exchange : test_case.cpp : <define>TEST_BOOST_NO_CXX14_STD_EXCHANGE ;
+obj cxx14_variable_templates : test_case.cpp : <define>TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES ;
+obj cxx17_fold_expressions : test_case.cpp : <define>TEST_BOOST_NO_CXX17_FOLD_EXPRESSIONS ;
+obj cxx17_hdr_optional : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_OPTIONAL ;
+obj cxx17_hdr_string_view : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_STRING_VIEW ;
+obj cxx17_hdr_variant : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_VARIANT ;
+obj cxx17_if_constexpr : test_case.cpp : <define>TEST_BOOST_NO_CXX17_IF_CONSTEXPR ;
+obj cxx17_inline_variables : test_case.cpp : <define>TEST_BOOST_NO_CXX17_INLINE_VARIABLES ;
+obj cxx17_iterator_traits : test_case.cpp : <define>TEST_BOOST_NO_CXX17_ITERATOR_TRAITS ;
+obj cxx17_std_apply : test_case.cpp : <define>TEST_BOOST_NO_CXX17_STD_APPLY ;
+obj cxx17_std_invoke : test_case.cpp : <define>TEST_BOOST_NO_CXX17_STD_INVOKE ;
+obj cxx17_structured_bindings : test_case.cpp : <define>TEST_BOOST_NO_CXX17_STRUCTURED_BINDINGS ;
+obj cxx98_binders : test_case.cpp : <define>TEST_BOOST_NO_CXX98_BINDERS ;
+obj cxx98_function_base : test_case.cpp : <define>TEST_BOOST_NO_CXX98_FUNCTION_BASE ;
+obj cxx98_random_shuffle : test_case.cpp : <define>TEST_BOOST_NO_CXX98_RANDOM_SHUFFLE ;
+obj cxx11_hdr_functional : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL ;
+obj cxx11_decltype : test_case.cpp : <define>TEST_BOOST_NO_CXX11_DECLTYPE ;
+obj cxx11_decltype_n3276 : test_case.cpp : <define>TEST_BOOST_NO_CXX11_DECLTYPE_N3276 ;
+obj boost_deduced_typename : test_case.cpp : <define>TEST_BOOST_DEDUCED_TYPENAME ;
+obj cxx11_defaulted_functions : test_case.cpp : <define>TEST_BOOST_NO_CXX11_DEFAULTED_FUNCTIONS ;
+obj cxx11_deleted_functions : test_case.cpp : <define>TEST_BOOST_NO_CXX11_DELETED_FUNCTIONS ;
+obj dependent_nested_derivations : test_case.cpp : <define>TEST_BOOST_NO_DEPENDENT_NESTED_DERIVATIONS ;
+obj dependent_types_in_template_value_parameters : test_case.cpp : <define>TEST_BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS ;
+obj exception_std_namespace : test_case.cpp : <define>TEST_BOOST_NO_EXCEPTION_STD_NAMESPACE ;
+obj exceptions : test_case.cpp : <define>TEST_BOOST_NO_EXCEPTIONS ;
+obj explicit_function_template_arguments : test_case.cpp : <define>TEST_BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS ;
+obj cxx11_explicit_conversion_operators : test_case.cpp : <define>TEST_BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS ;
+obj cxx11_extern_template : test_case.cpp : <define>TEST_BOOST_NO_CXX11_EXTERN_TEMPLATE ;
+obj fenv_h : test_case.cpp : <define>TEST_BOOST_NO_FENV_H ;
+obj cxx11_fixed_length_variadic_template_expansion_packs : test_case.cpp : <define>TEST_BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS ;
+obj function_template_ordering : test_case.cpp : <define>TEST_BOOST_NO_FUNCTION_TEMPLATE_ORDERING ;
+obj cxx11_function_template_default_args : test_case.cpp : <define>TEST_BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS ;
+obj function_type_specializations : test_case.cpp : <define>TEST_BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS ;
+obj ms_int64_numeric_limits : test_case.cpp : <define>TEST_BOOST_NO_MS_INT64_NUMERIC_LIMITS ;
+obj inclass_member_initialization : test_case.cpp : <define>TEST_BOOST_NO_INCLASS_MEMBER_INITIALIZATION ;
+obj integral_int64_t : test_case.cpp : <define>TEST_BOOST_NO_INTEGRAL_INT64_T ;
+obj iosfwd : test_case.cpp : <define>TEST_BOOST_NO_IOSFWD ;
+obj iostream : test_case.cpp : <define>TEST_BOOST_NO_IOSTREAM ;
+obj is_abstract : test_case.cpp : <define>TEST_BOOST_NO_IS_ABSTRACT ;
+obj templated_iterator_constructors : test_case.cpp : <define>TEST_BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS ;
+obj cxx11_lambdas : test_case.cpp : <define>TEST_BOOST_NO_CXX11_LAMBDAS ;
+obj limits : test_case.cpp : <define>TEST_BOOST_NO_LIMITS ;
+obj limits_compile_time_constants : test_case.cpp : <define>TEST_BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS ;
+obj long_long_numeric_limits : test_case.cpp : <define>TEST_BOOST_NO_LONG_LONG_NUMERIC_LIMITS ;
+obj member_function_specializations : test_case.cpp : <define>TEST_BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS ;
+obj member_template_keyword : test_case.cpp : <define>TEST_BOOST_NO_MEMBER_TEMPLATE_KEYWORD ;
+obj pointer_to_member_template_parameters : test_case.cpp : <define>TEST_BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS ;
+obj member_template_friends : test_case.cpp : <define>TEST_BOOST_NO_MEMBER_TEMPLATE_FRIENDS ;
+obj member_templates : test_case.cpp : <define>TEST_BOOST_NO_MEMBER_TEMPLATES ;
+obj nested_friendship : test_case.cpp : <define>TEST_BOOST_NO_NESTED_FRIENDSHIP ;
+obj cxx11_noexcept : test_case.cpp : <define>TEST_BOOST_NO_CXX11_NOEXCEPT ;
+obj cxx11_nullptr : test_case.cpp : <define>TEST_BOOST_NO_CXX11_NULLPTR ;
+obj operators_in_namespace : test_case.cpp : <define>TEST_BOOST_NO_OPERATORS_IN_NAMESPACE ;
+obj partial_specialization_implicit_default_args : test_case.cpp : <define>TEST_BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS ;
+obj template_partial_specialization : test_case.cpp : <define>TEST_BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ;
+obj private_in_aggregate : test_case.cpp : <define>TEST_BOOST_NO_PRIVATE_IN_AGGREGATE ;
+obj pointer_to_member_const : test_case.cpp : <define>TEST_BOOST_NO_POINTER_TO_MEMBER_CONST ;
+obj cxx11_range_based_for : test_case.cpp : <define>TEST_BOOST_NO_CXX11_RANGE_BASED_FOR ;
+obj cxx11_raw_literals : test_case.cpp : <define>TEST_BOOST_NO_CXX11_RAW_LITERALS ;
+obj restrict_references : test_case.cpp : <define>TEST_BOOST_NO_RESTRICT_REFERENCES ;
+obj unreachable_return_detection : test_case.cpp : <define>TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION ;
+obj rtti : test_case.cpp : <define>TEST_BOOST_NO_RTTI ;
+obj cxx11_rvalue_references : test_case.cpp : <define>TEST_BOOST_NO_CXX11_RVALUE_REFERENCES ;
+obj cxx11_scoped_enums : test_case.cpp : <define>TEST_BOOST_NO_CXX11_SCOPED_ENUMS ;
+obj sfinae : test_case.cpp : <define>TEST_BOOST_NO_SFINAE ;
+obj sfinae_expr : test_case.cpp : <define>TEST_BOOST_NO_SFINAE_EXPR ;
+obj stringstream : test_case.cpp : <define>TEST_BOOST_NO_STRINGSTREAM ;
+obj cxx11_static_assert : test_case.cpp : <define>TEST_BOOST_NO_CXX11_STATIC_ASSERT ;
+obj std_allocator : test_case.cpp : <define>TEST_BOOST_NO_STD_ALLOCATOR ;
+obj std_distance : test_case.cpp : <define>TEST_BOOST_NO_STD_DISTANCE ;
+obj std_iterator_traits : test_case.cpp : <define>TEST_BOOST_NO_STD_ITERATOR_TRAITS ;
+obj std_iterator : test_case.cpp : <define>TEST_BOOST_NO_STD_ITERATOR ;
+obj std_locale : test_case.cpp : <define>TEST_BOOST_NO_STD_LOCALE ;
+obj std_messages : test_case.cpp : <define>TEST_BOOST_NO_STD_MESSAGES ;
+obj std_min_max : test_case.cpp : <define>TEST_BOOST_NO_STD_MIN_MAX ;
+obj std_output_iterator_assign : test_case.cpp : <define>TEST_BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN ;
+obj std_typeinfo : test_case.cpp : <define>TEST_BOOST_NO_STD_TYPEINFO ;
+obj std_use_facet : test_case.cpp : <define>TEST_BOOST_NO_STD_USE_FACET ;
+obj std_wstreambuf : test_case.cpp : <define>TEST_BOOST_NO_STD_WSTREAMBUF ;
+obj std_wstring : test_case.cpp : <define>TEST_BOOST_NO_STD_WSTRING ;
+obj stdc_namespace : test_case.cpp : <define>TEST_BOOST_NO_STDC_NAMESPACE ;
+obj swprintf : test_case.cpp : <define>TEST_BOOST_NO_SWPRINTF ;
+obj cxx11_local_class_template_parameters : test_case.cpp : <define>TEST_BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS ;
+obj cxx11_template_aliases : test_case.cpp : <define>TEST_BOOST_NO_CXX11_TEMPLATE_ALIASES ;
+obj templated_iostreams : test_case.cpp : <define>TEST_BOOST_NO_TEMPLATED_IOSTREAMS ;
+obj template_templates : test_case.cpp : <define>TEST_BOOST_NO_TEMPLATE_TEMPLATES ;
+obj two_phase_name_lookup : test_case.cpp : <define>TEST_BOOST_NO_TWO_PHASE_NAME_LOOKUP ;
+obj typeid : test_case.cpp : <define>TEST_BOOST_NO_TYPEID ;
+obj typename_with_ctor : test_case.cpp : <define>TEST_BOOST_NO_TYPENAME_WITH_CTOR ;
+obj cxx11_unicode_literals : test_case.cpp : <define>TEST_BOOST_NO_CXX11_UNICODE_LITERALS ;
+obj cxx11_unified_initialization_syntax : test_case.cpp : <define>TEST_BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX ;
+obj cxx11_unrestricted_union : test_case.cpp : <define>TEST_BOOST_NO_CXX11_UNRESTRICTED_UNION ;
+obj boost_function_scope_using_declaration_breaks_adl : test_case.cpp : <define>TEST_BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL ;
+obj using_declaration_overloads_from_typename_base : test_case.cpp : <define>TEST_BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE ;
+obj using_template : test_case.cpp : <define>TEST_BOOST_NO_USING_TEMPLATE ;
+obj cxx11_variadic_macros : test_case.cpp : <define>TEST_BOOST_NO_CXX11_VARIADIC_MACROS ;
+obj cxx11_variadic_templates : test_case.cpp : <define>TEST_BOOST_NO_CXX11_VARIADIC_TEMPLATES ;
+obj void_returns : test_case.cpp : <define>TEST_BOOST_NO_VOID_RETURNS ;
+obj intrinsic_wchar_t : test_case.cpp : <define>TEST_BOOST_NO_INTRINSIC_WCHAR_T ;
+obj cpp_impl_destroying_delete_20 : std/cpp_impl_destroying_delete_20.cpp ;
+alias cpp_impl_destroying_delete : cpp_impl_destroying_delete_20 ;
+obj cpp_lib_destroying_delete_20 : std/cpp_lib_destroying_delete_20.cpp ;
+alias cpp_lib_destroying_delete : cpp_lib_destroying_delete_20 ;
+obj cpp_char8_t_20 : std/cpp_char8_t_20.cpp ;
+alias cpp_char8_t : cpp_char8_t_20 ;
+obj cpp_impl_three_way_comparison_20 : std/cpp_impl_three_way_comparison_20.cpp ;
+alias cpp_impl_three_way_comparison : cpp_impl_three_way_comparison_20 ;
+obj cpp_lib_three_way_comparison_20 : std/cpp_lib_three_way_comparison_20.cpp ;
+alias cpp_lib_three_way_comparison : cpp_lib_three_way_comparison_20 ;
+obj cpp_conditional_explicit_20 : std/cpp_conditional_explicit_20.cpp ;
+alias cpp_conditional_explicit : cpp_conditional_explicit_20 ;
+obj cpp_nontype_template_parameter_class_20 : std/cpp_nontype_template_parameter_class_20.cpp ;
+alias cpp_nontype_template_parameter_class : cpp_nontype_template_parameter_class_20 ;
+obj cpp_lib_char8_t_20 : std/cpp_lib_char8_t_20.cpp ;
+alias cpp_lib_char8_t : cpp_lib_char8_t_20 ;
+obj cpp_lib_concepts_20 : std/cpp_lib_concepts_20.cpp ;
+alias cpp_lib_concepts : cpp_lib_concepts_20 ;
+obj cpp_lib_constexpr_swap_algorithms_20 : std/cpp_lib_constexpr_swap_algorithms_20.cpp ;
+alias cpp_lib_constexpr_swap_algorithms : cpp_lib_constexpr_swap_algorithms_20 ;
+obj cpp_lib_constexpr_misc_20 : std/cpp_lib_constexpr_misc_20.cpp ;
+alias cpp_lib_constexpr_misc : cpp_lib_constexpr_misc_20 ;
+obj cpp_lib_bind_front_20 : std/cpp_lib_bind_front_20.cpp ;
+alias cpp_lib_bind_front : cpp_lib_bind_front_20 ;
+obj cpp_lib_is_constant_evaluated_20 : std/cpp_lib_is_constant_evaluated_20.cpp ;
+alias cpp_lib_is_constant_evaluated : cpp_lib_is_constant_evaluated_20 ;
+obj cpp_lib_erase_if_20 : std/cpp_lib_erase_if_20.cpp ;
+alias cpp_lib_erase_if : cpp_lib_erase_if_20 ;
+obj cpp_lib_list_remove_return_type_20 : std/cpp_lib_list_remove_return_type_20.cpp ;
+alias cpp_lib_list_remove_return_type : cpp_lib_list_remove_return_type_20 ;
+obj cpp_lib_generic_unordered_lookup_20 : std/cpp_lib_generic_unordered_lookup_20.cpp ;
+alias cpp_lib_generic_unordered_lookup : cpp_lib_generic_unordered_lookup_20 ;
+obj cpp_lib_ranges_20 : std/cpp_lib_ranges_20.cpp ;
+alias cpp_lib_ranges : cpp_lib_ranges_20 ;
+obj cpp_lib_bit_cast_20 : std/cpp_lib_bit_cast_20.cpp ;
+alias cpp_lib_bit_cast : cpp_lib_bit_cast_20 ;
+obj cpp_lib_atomic_ref_20 : std/cpp_lib_atomic_ref_20.cpp ;
+alias cpp_lib_atomic_ref : cpp_lib_atomic_ref_20 ;
+obj cpp_hex_float_17 : std/cpp_hex_float_17.cpp ;
+alias cpp_hex_float : cpp_hex_float_17 ;
+obj cpp_inline_variables_17 : std/cpp_inline_variables_17.cpp ;
+alias cpp_inline_variables : cpp_inline_variables_17 ;
+obj cpp_aligned_new_17 : std/cpp_aligned_new_17.cpp ;
+alias cpp_aligned_new : cpp_aligned_new_17 ;
+obj cpp_guaranteed_copy_elision_17 : std/cpp_guaranteed_copy_elision_17.cpp ;
+alias cpp_guaranteed_copy_elision : cpp_guaranteed_copy_elision_17 ;
+obj cpp_noexcept_function_type_17 : std/cpp_noexcept_function_type_17.cpp ;
+alias cpp_noexcept_function_type : cpp_noexcept_function_type_17 ;
+obj cpp_fold_expressions_17 : std/cpp_fold_expressions_17.cpp ;
+alias cpp_fold_expressions : cpp_fold_expressions_17 ;
+obj cpp_capture_star_this_17 : std/cpp_capture_star_this_17.cpp ;
+alias cpp_capture_star_this : cpp_capture_star_this_17 ;
+obj cpp_constexpr_17 : std/cpp_constexpr_17.cpp ;
+obj cpp_if_constexpr_17 : std/cpp_if_constexpr_17.cpp ;
+alias cpp_if_constexpr : cpp_if_constexpr_17 ;
+obj cpp_range_based_for_17 : std/cpp_range_based_for_17.cpp ;
+obj cpp_static_assert_17 : std/cpp_static_assert_17.cpp ;
+obj cpp_deduction_guides_17 : std/cpp_deduction_guides_17.cpp ;
+alias cpp_deduction_guides : cpp_deduction_guides_17 ;
+obj cpp_nontype_template_parameter_auto_17 : std/cpp_nontype_template_parameter_auto_17.cpp ;
+alias cpp_nontype_template_parameter_auto : cpp_nontype_template_parameter_auto_17 ;
+obj cpp_namespace_attributes_17 : std/cpp_namespace_attributes_17.cpp ;
+alias cpp_namespace_attributes : cpp_namespace_attributes_17 ;
+obj cpp_enumerator_attributes_17 : std/cpp_enumerator_attributes_17.cpp ;
+alias cpp_enumerator_attributes : cpp_enumerator_attributes_17 ;
+obj cpp_inheriting_constructors_17 : std/cpp_inheriting_constructors_17.cpp ;
+obj cpp_variadic_using_17 : std/cpp_variadic_using_17.cpp ;
+alias cpp_variadic_using : cpp_variadic_using_17 ;
+obj cpp_structured_bindings_17 : std/cpp_structured_bindings_17.cpp ;
+alias cpp_structured_bindings : cpp_structured_bindings_17 ;
+obj cpp_aggregate_bases_17 : std/cpp_aggregate_bases_17.cpp ;
+alias cpp_aggregate_bases : cpp_aggregate_bases_17 ;
+obj cpp_nontype_template_args_17 : std/cpp_nontype_template_args_17.cpp ;
+alias cpp_nontype_template_args : cpp_nontype_template_args_17 ;
+obj cpp_template_template_args_17 : std/cpp_template_template_args_17.cpp ;
+alias cpp_template_template_args : cpp_template_template_args_17 ;
+obj cpp_lib_byte_17 : std/cpp_lib_byte_17.cpp ;
+alias cpp_lib_byte : cpp_lib_byte_17 ;
+obj cpp_lib_hardware_interference_size_17 : std/cpp_lib_hardware_interference_size_17.cpp ;
+alias cpp_lib_hardware_interference_size : cpp_lib_hardware_interference_size_17 ;
+obj cpp_lib_launder_17 : std/cpp_lib_launder_17.cpp ;
+alias cpp_lib_launder : cpp_lib_launder_17 ;
+obj cpp_lib_uncaught_exceptions_17 : std/cpp_lib_uncaught_exceptions_17.cpp ;
+alias cpp_lib_uncaught_exceptions : cpp_lib_uncaught_exceptions_17 ;
+obj cpp_lib_as_const_17 : std/cpp_lib_as_const_17.cpp ;
+alias cpp_lib_as_const : cpp_lib_as_const_17 ;
+obj cpp_lib_make_from_tuple_17 : std/cpp_lib_make_from_tuple_17.cpp ;
+alias cpp_lib_make_from_tuple : cpp_lib_make_from_tuple_17 ;
+obj cpp_lib_apply_17 : std/cpp_lib_apply_17.cpp ;
+alias cpp_lib_apply : cpp_lib_apply_17 ;
+obj cpp_lib_optional_17 : std/cpp_lib_optional_17.cpp ;
+alias cpp_lib_optional : cpp_lib_optional_17 ;
+obj cpp_lib_variant_17 : std/cpp_lib_variant_17.cpp ;
+alias cpp_lib_variant : cpp_lib_variant_17 ;
+obj cpp_lib_any_17 : std/cpp_lib_any_17.cpp ;
+alias cpp_lib_any : cpp_lib_any_17 ;
+obj cpp_lib_addressof_constexpr_17 : std/cpp_lib_addressof_constexpr_17.cpp ;
+alias cpp_lib_addressof_constexpr : cpp_lib_addressof_constexpr_17 ;
+obj cpp_lib_raw_memory_algorithms_17 : std/cpp_lib_raw_memory_algorithms_17.cpp ;
+alias cpp_lib_raw_memory_algorithms : cpp_lib_raw_memory_algorithms_17 ;
+obj cpp_lib_transparent_operators_17 : std/cpp_lib_transparent_operators_17.cpp ;
+obj cpp_lib_enable_shared_from_this_17 : std/cpp_lib_enable_shared_from_this_17.cpp ;
+alias cpp_lib_enable_shared_from_this : cpp_lib_enable_shared_from_this_17 ;
+obj cpp_lib_shared_ptr_weak_type_17 : std/cpp_lib_shared_ptr_weak_type_17.cpp ;
+alias cpp_lib_shared_ptr_weak_type : cpp_lib_shared_ptr_weak_type_17 ;
+obj cpp_lib_shared_ptr_arrays_17 : std/cpp_lib_shared_ptr_arrays_17.cpp ;
+alias cpp_lib_shared_ptr_arrays : cpp_lib_shared_ptr_arrays_17 ;
+obj cpp_lib_memory_resource_17 : std/cpp_lib_memory_resource_17.cpp ;
+alias cpp_lib_memory_resource : cpp_lib_memory_resource_17 ;
+obj cpp_lib_boyer_moore_searcher_17 : std/cpp_lib_boyer_moore_searcher_17.cpp ;
+alias cpp_lib_boyer_moore_searcher : cpp_lib_boyer_moore_searcher_17 ;
+obj cpp_lib_invoke_17 : std/cpp_lib_invoke_17.cpp ;
+alias cpp_lib_invoke : cpp_lib_invoke_17 ;
+obj cpp_lib_not_fn_17 : std/cpp_lib_not_fn_17.cpp ;
+alias cpp_lib_not_fn : cpp_lib_not_fn_17 ;
+obj cpp_lib_void_t_17 : std/cpp_lib_void_t_17.cpp ;
+alias cpp_lib_void_t : cpp_lib_void_t_17 ;
+obj cpp_lib_bool_constant_17 : std/cpp_lib_bool_constant_17.cpp ;
+alias cpp_lib_bool_constant : cpp_lib_bool_constant_17 ;
+obj cpp_lib_type_trait_variable_templates_17 : std/cpp_lib_type_trait_variable_templates_17.cpp ;
+alias cpp_lib_type_trait_variable_templates : cpp_lib_type_trait_variable_templates_17 ;
+obj cpp_lib_logical_traits_17 : std/cpp_lib_logical_traits_17.cpp ;
+alias cpp_lib_logical_traits : cpp_lib_logical_traits_17 ;
+obj cpp_lib_is_swappable_17 : std/cpp_lib_is_swappable_17.cpp ;
+alias cpp_lib_is_swappable : cpp_lib_is_swappable_17 ;
+obj cpp_lib_is_invocable_17 : std/cpp_lib_is_invocable_17.cpp ;
+alias cpp_lib_is_invocable : cpp_lib_is_invocable_17 ;
+obj cpp_lib_has_unique_object_representations_17 : std/cpp_lib_has_unique_object_representations_17.cpp ;
+alias cpp_lib_has_unique_object_representations : cpp_lib_has_unique_object_representations_17 ;
+obj cpp_lib_is_aggregate_17 : std/cpp_lib_is_aggregate_17.cpp ;
+alias cpp_lib_is_aggregate : cpp_lib_is_aggregate_17 ;
+obj cpp_lib_chrono_17 : std/cpp_lib_chrono_17.cpp ;
+alias cpp_lib_chrono : cpp_lib_chrono_17 ;
+obj cpp_lib_execution_17 : std/cpp_lib_execution_17.cpp ;
+alias cpp_lib_execution : cpp_lib_execution_17 ;
+obj cpp_lib_parallel_algorithm_17 : std/cpp_lib_parallel_algorithm_17.cpp ;
+alias cpp_lib_parallel_algorithm : cpp_lib_parallel_algorithm_17 ;
+obj cpp_lib_to_chars_17 : std/cpp_lib_to_chars_17.cpp ;
+alias cpp_lib_to_chars : cpp_lib_to_chars_17 ;
+obj cpp_lib_string_view_17 : std/cpp_lib_string_view_17.cpp ;
+alias cpp_lib_string_view : cpp_lib_string_view_17 ;
+obj cpp_lib_allocator_traits_is_always_equal_17 : std/cpp_lib_allocator_traits_is_always_equal_17.cpp ;
+alias cpp_lib_allocator_traits_is_always_equal : cpp_lib_allocator_traits_is_always_equal_17 ;
+obj cpp_lib_incomplete_container_elements_17 : std/cpp_lib_incomplete_container_elements_17.cpp ;
+alias cpp_lib_incomplete_container_elements : cpp_lib_incomplete_container_elements_17 ;
+obj cpp_lib_map_try_emplace_17 : std/cpp_lib_map_try_emplace_17.cpp ;
+alias cpp_lib_map_try_emplace : cpp_lib_map_try_emplace_17 ;
+obj cpp_lib_unordered_map_try_emplace_17 : std/cpp_lib_unordered_map_try_emplace_17.cpp ;
+alias cpp_lib_unordered_map_try_emplace : cpp_lib_unordered_map_try_emplace_17 ;
+obj cpp_lib_node_extract_17 : std/cpp_lib_node_extract_17.cpp ;
+alias cpp_lib_node_extract : cpp_lib_node_extract_17 ;
+obj cpp_lib_array_constexpr_17 : std/cpp_lib_array_constexpr_17.cpp ;
+alias cpp_lib_array_constexpr : cpp_lib_array_constexpr_17 ;
+obj cpp_lib_nonmember_container_access_17 : std/cpp_lib_nonmember_container_access_17.cpp ;
+alias cpp_lib_nonmember_container_access : cpp_lib_nonmember_container_access_17 ;
+obj cpp_lib_sample_17 : std/cpp_lib_sample_17.cpp ;
+alias cpp_lib_sample : cpp_lib_sample_17 ;
+obj cpp_lib_clamp_17 : std/cpp_lib_clamp_17.cpp ;
+alias cpp_lib_clamp : cpp_lib_clamp_17 ;
+obj cpp_lib_gcd_lcm_17 : std/cpp_lib_gcd_lcm_17.cpp ;
+alias cpp_lib_gcd_lcm : cpp_lib_gcd_lcm_17 ;
+obj cpp_lib_hypot_17 : std/cpp_lib_hypot_17.cpp ;
+alias cpp_lib_hypot : cpp_lib_hypot_17 ;
+obj cpp_lib_math_special_functions_17 : std/cpp_lib_math_special_functions_17.cpp ;
+alias cpp_lib_math_special_functions : cpp_lib_math_special_functions_17 ;
+obj cpp_lib_filesystem_17 : std/cpp_lib_filesystem_17.cpp ;
+alias cpp_lib_filesystem : cpp_lib_filesystem_17 ;
+obj cpp_lib_atomic_is_always_lock_free_17 : std/cpp_lib_atomic_is_always_lock_free_17.cpp ;
+alias cpp_lib_atomic_is_always_lock_free : cpp_lib_atomic_is_always_lock_free_17 ;
+obj cpp_lib_shared_mutex_17 : std/cpp_lib_shared_mutex_17.cpp ;
+alias cpp_lib_shared_mutex : cpp_lib_shared_mutex_17 ;
+obj cpp_lib_scoped_lock_17 : std/cpp_lib_scoped_lock_17.cpp ;
+alias cpp_lib_scoped_lock : cpp_lib_scoped_lock_17 ;
+obj cpp_binary_literals_14 : std/cpp_binary_literals_14.cpp ;
+alias cpp_binary_literals : cpp_binary_literals_14 ;
+obj cpp_init_captures_14 : std/cpp_init_captures_14.cpp ;
+alias cpp_init_captures : cpp_init_captures_14 ;
+obj cpp_generic_lambdas_14 : std/cpp_generic_lambdas_14.cpp ;
+alias cpp_generic_lambdas : cpp_generic_lambdas_14 ;
+obj cpp_sized_deallocation_14 : std/cpp_sized_deallocation_14.cpp ;
+alias cpp_sized_deallocation : cpp_sized_deallocation_14 ;
+obj cpp_constexpr_14 : std/cpp_constexpr_14.cpp ;
+obj cpp_decltype_auto_14 : std/cpp_decltype_auto_14.cpp ;
+alias cpp_decltype_auto : cpp_decltype_auto_14 ;
+obj cpp_return_type_deduction_14 : std/cpp_return_type_deduction_14.cpp ;
+alias cpp_return_type_deduction : cpp_return_type_deduction_14 ;
+obj cpp_aggregate_nsdmi_14 : std/cpp_aggregate_nsdmi_14.cpp ;
+alias cpp_aggregate_nsdmi : cpp_aggregate_nsdmi_14 ;
+obj cpp_variable_templates_14 : std/cpp_variable_templates_14.cpp ;
+alias cpp_variable_templates : cpp_variable_templates_14 ;
+obj cpp_lib_integer_sequence_14 : std/cpp_lib_integer_sequence_14.cpp ;
+alias cpp_lib_integer_sequence : cpp_lib_integer_sequence_14 ;
+obj cpp_lib_exchange_function_14 : std/cpp_lib_exchange_function_14.cpp ;
+alias cpp_lib_exchange_function : cpp_lib_exchange_function_14 ;
+obj cpp_lib_tuples_by_type_14 : std/cpp_lib_tuples_by_type_14.cpp ;
+alias cpp_lib_tuples_by_type : cpp_lib_tuples_by_type_14 ;
+obj cpp_lib_tuple_element_t_14 : std/cpp_lib_tuple_element_t_14.cpp ;
+alias cpp_lib_tuple_element_t : cpp_lib_tuple_element_t_14 ;
+obj cpp_lib_make_unique_14 : std/cpp_lib_make_unique_14.cpp ;
+alias cpp_lib_make_unique : cpp_lib_make_unique_14 ;
+obj cpp_lib_transparent_operators_14 : std/cpp_lib_transparent_operators_14.cpp ;
+alias cpp_lib_transparent_operators : cpp_lib_transparent_operators_14 ;
+obj cpp_lib_integral_constant_callable_14 : std/cpp_lib_integral_constant_callable_14.cpp ;
+alias cpp_lib_integral_constant_callable : cpp_lib_integral_constant_callable_14 ;
+obj cpp_lib_transformation_trait_aliases_14 : std/cpp_lib_transformation_trait_aliases_14.cpp ;
+alias cpp_lib_transformation_trait_aliases : cpp_lib_transformation_trait_aliases_14 ;
+obj cpp_lib_result_of_sfinae_14 : std/cpp_lib_result_of_sfinae_14.cpp ;
+alias cpp_lib_result_of_sfinae : cpp_lib_result_of_sfinae_14 ;
+obj cpp_lib_is_final_14 : std/cpp_lib_is_final_14.cpp ;
+alias cpp_lib_is_final : cpp_lib_is_final_14 ;
+obj cpp_lib_is_null_pointer_14 : std/cpp_lib_is_null_pointer_14.cpp ;
+alias cpp_lib_is_null_pointer : cpp_lib_is_null_pointer_14 ;
+obj cpp_lib_chrono_udls_14 : std/cpp_lib_chrono_udls_14.cpp ;
+alias cpp_lib_chrono_udls : cpp_lib_chrono_udls_14 ;
+obj cpp_lib_string_udls_14 : std/cpp_lib_string_udls_14.cpp ;
+alias cpp_lib_string_udls : cpp_lib_string_udls_14 ;
+obj cpp_lib_generic_associative_lookup_14 : std/cpp_lib_generic_associative_lookup_14.cpp ;
+alias cpp_lib_generic_associative_lookup : cpp_lib_generic_associative_lookup_14 ;
+obj cpp_lib_null_iterators_14 : std/cpp_lib_null_iterators_14.cpp ;
+alias cpp_lib_null_iterators : cpp_lib_null_iterators_14 ;
+obj cpp_lib_make_reverse_iterator_14 : std/cpp_lib_make_reverse_iterator_14.cpp ;
+alias cpp_lib_make_reverse_iterator : cpp_lib_make_reverse_iterator_14 ;
+obj cpp_lib_robust_nonmodifying_seq_ops_14 : std/cpp_lib_robust_nonmodifying_seq_ops_14.cpp ;
+alias cpp_lib_robust_nonmodifying_seq_ops : cpp_lib_robust_nonmodifying_seq_ops_14 ;
+obj cpp_lib_complex_udls_14 : std/cpp_lib_complex_udls_14.cpp ;
+alias cpp_lib_complex_udls : cpp_lib_complex_udls_14 ;
+obj cpp_lib_quoted_string_io_14 : std/cpp_lib_quoted_string_io_14.cpp ;
+alias cpp_lib_quoted_string_io : cpp_lib_quoted_string_io_14 ;
+obj cpp_lib_shared_timed_mutex_14 : std/cpp_lib_shared_timed_mutex_14.cpp ;
+alias cpp_lib_shared_timed_mutex : cpp_lib_shared_timed_mutex_14 ;
+obj cpp_unicode_characters_11 : std/cpp_unicode_characters_11.cpp ;
+alias cpp_unicode_characters : cpp_unicode_characters_11 ;
+obj cpp_raw_strings_11 : std/cpp_raw_strings_11.cpp ;
+alias cpp_raw_strings : cpp_raw_strings_11 ;
+obj cpp_unicode_literals_11 : std/cpp_unicode_literals_11.cpp ;
+alias cpp_unicode_literals : cpp_unicode_literals_11 ;
+obj cpp_user_defined_literals_11 : std/cpp_user_defined_literals_11.cpp ;
+alias cpp_user_defined_literals : cpp_user_defined_literals_11 ;
+obj cpp_threadsafe_static_init_11 : std/cpp_threadsafe_static_init_11.cpp ;
+alias cpp_threadsafe_static_init : cpp_threadsafe_static_init_11 ;
+obj cpp_lambdas_11 : std/cpp_lambdas_11.cpp ;
+alias cpp_lambdas : cpp_lambdas_11 ;
+obj cpp_constexpr_11 : std/cpp_constexpr_11.cpp ;
+alias cpp_constexpr : cpp_constexpr_11 ;
+obj cpp_range_based_for_11 : std/cpp_range_based_for_11.cpp ;
+alias cpp_range_based_for : cpp_range_based_for_11 ;
+obj cpp_static_assert_11 : std/cpp_static_assert_11.cpp ;
+alias cpp_static_assert : cpp_static_assert_11 ;
+obj cpp_decltype_11 : std/cpp_decltype_11.cpp ;
+alias cpp_decltype : cpp_decltype_11 ;
+obj cpp_attributes_11 : std/cpp_attributes_11.cpp ;
+alias cpp_attributes : cpp_attributes_11 ;
+obj cpp_rvalue_references_11 : std/cpp_rvalue_references_11.cpp ;
+alias cpp_rvalue_references : cpp_rvalue_references_11 ;
+obj cpp_variadic_templates_11 : std/cpp_variadic_templates_11.cpp ;
+alias cpp_variadic_templates : cpp_variadic_templates_11 ;
+obj cpp_initializer_lists_11 : std/cpp_initializer_lists_11.cpp ;
+alias cpp_initializer_lists : cpp_initializer_lists_11 ;
+obj cpp_explicit_conversion_11 : std/cpp_explicit_conversion_11.cpp ;
+alias cpp_explicit_conversion : cpp_explicit_conversion_11 ;
+obj cpp_delegating_constructors_11 : std/cpp_delegating_constructors_11.cpp ;
+alias cpp_delegating_constructors : cpp_delegating_constructors_11 ;
+obj cpp_nsdmi_11 : std/cpp_nsdmi_11.cpp ;
+alias cpp_nsdmi : cpp_nsdmi_11 ;
+obj cpp_inheriting_constructors_11 : std/cpp_inheriting_constructors_11.cpp ;
+alias cpp_inheriting_constructors : cpp_inheriting_constructors_11 ;
+obj cpp_ref_qualifiers_11 : std/cpp_ref_qualifiers_11.cpp ;
+alias cpp_ref_qualifiers : cpp_ref_qualifiers_11 ;
+obj cpp_alias_templates_11 : std/cpp_alias_templates_11.cpp ;
+alias cpp_alias_templates : cpp_alias_templates_11 ;
+obj cpp_rtti_03 : std/cpp_rtti_03.cpp ;
+alias cpp_rtti : cpp_rtti_03 ;
+obj cpp_exceptions_03 : std/cpp_exceptions_03.cpp ;
+alias cpp_exceptions : cpp_exceptions_03 ;
+
diff --git a/src/boost/libs/config/checks/architecture/32.cpp b/src/boost/libs/config/checks/architecture/32.cpp
new file mode 100644
index 000000000..d3d2dba29
--- /dev/null
+++ b/src/boost/libs/config/checks/architecture/32.cpp
@@ -0,0 +1,9 @@
+// 32.cpp
+//
+// Copyright (c) 2012 Steven Watanabe
+//
+// 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)
+
+int test[sizeof(void*) == 4? 1 : -1];
diff --git a/src/boost/libs/config/checks/architecture/64.cpp b/src/boost/libs/config/checks/architecture/64.cpp
new file mode 100644
index 000000000..5a33bc645
--- /dev/null
+++ b/src/boost/libs/config/checks/architecture/64.cpp
@@ -0,0 +1,9 @@
+// 64.cpp
+//
+// Copyright (c) 2012 Steven Watanabe
+//
+// 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)
+
+int test[sizeof(void*) == 8? 1 : -1];
diff --git a/src/boost/libs/config/checks/architecture/Jamroot.jam b/src/boost/libs/config/checks/architecture/Jamroot.jam
new file mode 100644
index 000000000..0d3b5e7be
--- /dev/null
+++ b/src/boost/libs/config/checks/architecture/Jamroot.jam
@@ -0,0 +1,25 @@
+# Jamfile.jam
+#
+# Copyright 2012 Steven Watanabe
+#
+# 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)
+
+project /boost/architecture
+ : requirements
+ -<conditional>@boostcpp.deduce-address-model
+ -<conditional>@boostcpp.deduce-architecture
+ ;
+
+obj 32 : 32.cpp ;
+obj 64 : 64.cpp ;
+
+obj arm : arm.cpp ;
+obj combined : combined.cpp ;
+obj mips1 : mips1.cpp ;
+obj power : power.cpp ;
+obj riscv : riscv.cpp ;
+obj sparc : sparc.cpp ;
+obj x86 : x86.cpp ;
+obj s390x : s390x.cpp ;
diff --git a/src/boost/libs/config/checks/architecture/arm.cpp b/src/boost/libs/config/checks/architecture/arm.cpp
new file mode 100644
index 000000000..794aba8b3
--- /dev/null
+++ b/src/boost/libs/config/checks/architecture/arm.cpp
@@ -0,0 +1,15 @@
+// arm.cpp
+//
+// Copyright (c) 2012 Steven Watanabe
+//
+// 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)
+
+#if !defined(__arm__) && !defined(__thumb__) && \
+ !defined(__TARGET_ARCH_ARM) && !defined(__TARGET_ARCH_THUMB) && \
+ !defined(_ARM) && !defined(_M_ARM) && \
+ !defined(__aarch64__)
+#error "Not ARM"
+#endif
+
diff --git a/src/boost/libs/config/checks/architecture/combined.cpp b/src/boost/libs/config/checks/architecture/combined.cpp
new file mode 100644
index 000000000..4e5a387b9
--- /dev/null
+++ b/src/boost/libs/config/checks/architecture/combined.cpp
@@ -0,0 +1,21 @@
+// combined.cpp
+//
+// Copyright (c) 2012 Steven Watanabe
+// 2014 Oliver Kowalke
+//
+// 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)
+
+#if !defined(i386) && !defined(__i386__) && !defined(__i386) \
+ && !defined(__i486__) && !defined(__i586__) && !defined(__i686__) \
+ && !defined(_M_IX86) && !defined(__X86__) && !defined(_X86_) \
+ && !defined(__THW_INTEL__) && !defined(__I86__) && !defined(__INTEL__) \
+ && !defined(__amd64__) && !defined(__x86_64__) && !defined(__amd64) \
+ && !defined(__x86_64) && !defined(_M_X64) \
+ && !defined(__powerpc) && !defined(__powerpc__) && !defined(__ppc) \
+ && !defined(__ppc__) && !defined(_M_PPC) && !defined(_ARCH_PPC) \
+ && !defined(__POWERPC__) && !defined(__PPCGECKO__) \
+ && !defined(__PPCBROADWAY) && !defined(_XENON)
+#error "Not combined"
+#endif
diff --git a/src/boost/libs/config/checks/architecture/mips1.cpp b/src/boost/libs/config/checks/architecture/mips1.cpp
new file mode 100644
index 000000000..b4a670b89
--- /dev/null
+++ b/src/boost/libs/config/checks/architecture/mips1.cpp
@@ -0,0 +1,11 @@
+// mips1.cpp
+//
+// Copyright (c) 2012 Steven Watanabe
+//
+// 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)
+
+#if !(defined(__mips) || defined(_MIPS_ISA_MIPS1) || defined(_R3000))
+#error "Not MIPS1"
+#endif
diff --git a/src/boost/libs/config/checks/architecture/power.cpp b/src/boost/libs/config/checks/architecture/power.cpp
new file mode 100644
index 000000000..0551194a9
--- /dev/null
+++ b/src/boost/libs/config/checks/architecture/power.cpp
@@ -0,0 +1,14 @@
+// power.cpp
+//
+// Copyright (c) 2012 Steven Watanabe
+//
+// 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)
+
+#if !defined(__powerpc) && !defined(__powerpc__) && !defined(__ppc) \
+ && !defined(__ppc__) && !defined(_M_PPC) && !defined(_ARCH_PPC) \
+ && !defined(__POWERPC__) && !defined(__PPCGECKO__) \
+ && !defined(__PPCBROADWAY) && !defined(_XENON)
+#error "Not PPC"
+#endif
diff --git a/src/boost/libs/config/checks/architecture/riscv.cpp b/src/boost/libs/config/checks/architecture/riscv.cpp
new file mode 100644
index 000000000..d2cea68ba
--- /dev/null
+++ b/src/boost/libs/config/checks/architecture/riscv.cpp
@@ -0,0 +1,10 @@
+// riscv.cpp
+//
+// Copyright Andreas Schwab 2019
+// 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)
+
+#if !defined(__riscv)
+#error "Not RISC-V"
+#endif
diff --git a/src/boost/libs/config/checks/architecture/s390x.cpp b/src/boost/libs/config/checks/architecture/s390x.cpp
new file mode 100644
index 000000000..a36307066
--- /dev/null
+++ b/src/boost/libs/config/checks/architecture/s390x.cpp
@@ -0,0 +1,11 @@
+// s390x.cpp
+//
+// Copyright (c) 2012 Steven Watanabe
+//
+// 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)
+
+#if !defined(__s390x__)
+#error "Not S390x"
+#endif
diff --git a/src/boost/libs/config/checks/architecture/sparc.cpp b/src/boost/libs/config/checks/architecture/sparc.cpp
new file mode 100644
index 000000000..3df2df84e
--- /dev/null
+++ b/src/boost/libs/config/checks/architecture/sparc.cpp
@@ -0,0 +1,11 @@
+// power.cpp
+//
+// Copyright (c) 2012 Steven Watanabe
+//
+// 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)
+
+#if !defined(__sparc__) && !defined(__sparc)
+#error "Not SPARC"
+#endif
diff --git a/src/boost/libs/config/checks/architecture/x86.cpp b/src/boost/libs/config/checks/architecture/x86.cpp
new file mode 100644
index 000000000..0d2f9c2e9
--- /dev/null
+++ b/src/boost/libs/config/checks/architecture/x86.cpp
@@ -0,0 +1,16 @@
+// x86.cpp
+//
+// Copyright (c) 2012 Steven Watanabe
+//
+// 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)
+
+#if !defined(i386) && !defined(__i386__) && !defined(__i386) \
+ && !defined(__i486__) && !defined(__i586__) && !defined(__i686__) \
+ && !defined(_M_IX86) && !defined(__X86__) && !defined(_X86_) \
+ && !defined(__THW_INTEL__) && !defined(__I86__) && !defined(__INTEL__) \
+ && !defined(__amd64__) && !defined(__x86_64__) && !defined(__amd64) \
+ && !defined(__x86_64) && !defined(_M_X64)
+#error "Not x86"
+#endif
diff --git a/src/boost/libs/config/checks/config.jam b/src/boost/libs/config/checks/config.jam
new file mode 100644
index 000000000..c5adfe7b7
--- /dev/null
+++ b/src/boost/libs/config/checks/config.jam
@@ -0,0 +1,21 @@
+# Copyright John Maddock.
+# Use, modification and distribution are subject to the
+# Boost Software License, Version 1.0. (See accompanying file
+# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+import modules ;
+
+rule requires ( names + )
+{
+ local config-binding = [ modules.binding $(__name__) ] ;
+
+ local result ;
+ for name in $(names)
+ {
+ local msg = "Boost.Config Feature Check: " ;
+ msg += $(name) ;
+ result += [ check-target-builds $(config-binding:D)//$(name) $(msg:J=) : : <build>no ] ;
+ }
+ return $(result) ;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_aggregate_bases_17.cpp b/src/boost/libs/config/checks/std/cpp_aggregate_bases_17.cpp
new file mode 100644
index 000000000..bb5b75bf4
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_aggregate_bases_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_aggregate_bases
+#error "Macro << __cpp_aggregate_bases is not set"
+#endif
+
+#if __cpp_aggregate_bases < 201603
+#error "Macro __cpp_aggregate_bases had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_aggregate_nsdmi_14.cpp b/src/boost/libs/config/checks/std/cpp_aggregate_nsdmi_14.cpp
new file mode 100644
index 000000000..beba9aa59
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_aggregate_nsdmi_14.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_aggregate_nsdmi
+#error "Macro << __cpp_aggregate_nsdmi is not set"
+#endif
+
+#if __cpp_aggregate_nsdmi < 201304
+#error "Macro __cpp_aggregate_nsdmi had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_alias_templates_11.cpp b/src/boost/libs/config/checks/std/cpp_alias_templates_11.cpp
new file mode 100644
index 000000000..6c1b1b8ca
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_alias_templates_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_alias_templates
+#error "Macro << __cpp_alias_templates is not set"
+#endif
+
+#if __cpp_alias_templates < 200704
+#error "Macro __cpp_alias_templates had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_aligned_new_17.cpp b/src/boost/libs/config/checks/std/cpp_aligned_new_17.cpp
new file mode 100644
index 000000000..d5bae3bb3
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_aligned_new_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_aligned_new
+#error "Macro << __cpp_aligned_new is not set"
+#endif
+
+#if __cpp_aligned_new < 201606
+#error "Macro __cpp_aligned_new had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_attributes_11.cpp b/src/boost/libs/config/checks/std/cpp_attributes_11.cpp
new file mode 100644
index 000000000..12eee8ea1
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_attributes_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_attributes
+#error "Macro << __cpp_attributes is not set"
+#endif
+
+#if __cpp_attributes < 200809
+#error "Macro __cpp_attributes had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_binary_literals_14.cpp b/src/boost/libs/config/checks/std/cpp_binary_literals_14.cpp
new file mode 100644
index 000000000..1f9e7267d
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_binary_literals_14.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_binary_literals
+#error "Macro << __cpp_binary_literals is not set"
+#endif
+
+#if __cpp_binary_literals < 201304
+#error "Macro __cpp_binary_literals had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_capture_star_this_17.cpp b/src/boost/libs/config/checks/std/cpp_capture_star_this_17.cpp
new file mode 100644
index 000000000..99d822250
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_capture_star_this_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_capture_star_this
+#error "Macro << __cpp_capture_star_this is not set"
+#endif
+
+#if __cpp_capture_star_this < 201603
+#error "Macro __cpp_capture_star_this had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_char8_t_20.cpp b/src/boost/libs/config/checks/std/cpp_char8_t_20.cpp
new file mode 100644
index 000000000..3e04d8d37
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_char8_t_20.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_char8_t
+#error "Macro << __cpp_char8_t is not set"
+#endif
+
+#if __cpp_char8_t < 201811
+#error "Macro __cpp_char8_t had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_conditional_explicit_20.cpp b/src/boost/libs/config/checks/std/cpp_conditional_explicit_20.cpp
new file mode 100644
index 000000000..e522ddc1f
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_conditional_explicit_20.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_conditional_explicit
+#error "Macro << __cpp_conditional_explicit is not set"
+#endif
+
+#if __cpp_conditional_explicit < 201806
+#error "Macro __cpp_conditional_explicit had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_constexpr_11.cpp b/src/boost/libs/config/checks/std/cpp_constexpr_11.cpp
new file mode 100644
index 000000000..0cc5d85b7
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_constexpr_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_constexpr
+#error "Macro << __cpp_constexpr is not set"
+#endif
+
+#if __cpp_constexpr < 200704
+#error "Macro __cpp_constexpr had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_constexpr_14.cpp b/src/boost/libs/config/checks/std/cpp_constexpr_14.cpp
new file mode 100644
index 000000000..fbb41a271
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_constexpr_14.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_constexpr
+#error "Macro << __cpp_constexpr is not set"
+#endif
+
+#if __cpp_constexpr < 201304
+#error "Macro __cpp_constexpr had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_constexpr_17.cpp b/src/boost/libs/config/checks/std/cpp_constexpr_17.cpp
new file mode 100644
index 000000000..9f6f8bb95
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_constexpr_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_constexpr
+#error "Macro << __cpp_constexpr is not set"
+#endif
+
+#if __cpp_constexpr < 201603
+#error "Macro __cpp_constexpr had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_decltype_11.cpp b/src/boost/libs/config/checks/std/cpp_decltype_11.cpp
new file mode 100644
index 000000000..833326981
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_decltype_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_decltype
+#error "Macro << __cpp_decltype is not set"
+#endif
+
+#if __cpp_decltype < 200707
+#error "Macro __cpp_decltype had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_decltype_auto_14.cpp b/src/boost/libs/config/checks/std/cpp_decltype_auto_14.cpp
new file mode 100644
index 000000000..a4c905b92
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_decltype_auto_14.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_decltype_auto
+#error "Macro << __cpp_decltype_auto is not set"
+#endif
+
+#if __cpp_decltype_auto < 201304
+#error "Macro __cpp_decltype_auto had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_deduction_guides_17.cpp b/src/boost/libs/config/checks/std/cpp_deduction_guides_17.cpp
new file mode 100644
index 000000000..8c967e9ec
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_deduction_guides_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_deduction_guides
+#error "Macro << __cpp_deduction_guides is not set"
+#endif
+
+#if __cpp_deduction_guides < 201611
+#error "Macro __cpp_deduction_guides had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_delegating_constructors_11.cpp b/src/boost/libs/config/checks/std/cpp_delegating_constructors_11.cpp
new file mode 100644
index 000000000..8bfcccce6
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_delegating_constructors_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_delegating_constructors
+#error "Macro << __cpp_delegating_constructors is not set"
+#endif
+
+#if __cpp_delegating_constructors < 200604
+#error "Macro __cpp_delegating_constructors had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_enumerator_attributes_17.cpp b/src/boost/libs/config/checks/std/cpp_enumerator_attributes_17.cpp
new file mode 100644
index 000000000..c5627c61c
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_enumerator_attributes_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_enumerator_attributes
+#error "Macro << __cpp_enumerator_attributes is not set"
+#endif
+
+#if __cpp_enumerator_attributes < 201411
+#error "Macro __cpp_enumerator_attributes had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_exceptions_03.cpp b/src/boost/libs/config/checks/std/cpp_exceptions_03.cpp
new file mode 100644
index 000000000..1666ab004
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_exceptions_03.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_exceptions
+#error "Macro << __cpp_exceptions is not set"
+#endif
+
+#if __cpp_exceptions < 199711
+#error "Macro __cpp_exceptions had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_explicit_conversion_11.cpp b/src/boost/libs/config/checks/std/cpp_explicit_conversion_11.cpp
new file mode 100644
index 000000000..19114e1ed
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_explicit_conversion_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_explicit_conversion
+#error "Macro << __cpp_explicit_conversion is not set"
+#endif
+
+#if __cpp_explicit_conversion < 200710
+#error "Macro __cpp_explicit_conversion had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_fold_expressions_17.cpp b/src/boost/libs/config/checks/std/cpp_fold_expressions_17.cpp
new file mode 100644
index 000000000..08e964b6a
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_fold_expressions_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_fold_expressions
+#error "Macro << __cpp_fold_expressions is not set"
+#endif
+
+#if __cpp_fold_expressions < 201603
+#error "Macro __cpp_fold_expressions had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_generic_lambdas_14.cpp b/src/boost/libs/config/checks/std/cpp_generic_lambdas_14.cpp
new file mode 100644
index 000000000..97a7f4895
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_generic_lambdas_14.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_generic_lambdas
+#error "Macro << __cpp_generic_lambdas is not set"
+#endif
+
+#if __cpp_generic_lambdas < 201304
+#error "Macro __cpp_generic_lambdas had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_guaranteed_copy_elision_17.cpp b/src/boost/libs/config/checks/std/cpp_guaranteed_copy_elision_17.cpp
new file mode 100644
index 000000000..a09ae025c
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_guaranteed_copy_elision_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_guaranteed_copy_elision
+#error "Macro << __cpp_guaranteed_copy_elision is not set"
+#endif
+
+#if __cpp_guaranteed_copy_elision < 201606
+#error "Macro __cpp_guaranteed_copy_elision had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_hex_float_17.cpp b/src/boost/libs/config/checks/std/cpp_hex_float_17.cpp
new file mode 100644
index 000000000..8e65313f6
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_hex_float_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_hex_float
+#error "Macro << __cpp_hex_float is not set"
+#endif
+
+#if __cpp_hex_float < 201603
+#error "Macro __cpp_hex_float had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_if_constexpr_17.cpp b/src/boost/libs/config/checks/std/cpp_if_constexpr_17.cpp
new file mode 100644
index 000000000..a867be9f0
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_if_constexpr_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_if_constexpr
+#error "Macro << __cpp_if_constexpr is not set"
+#endif
+
+#if __cpp_if_constexpr < 201606
+#error "Macro __cpp_if_constexpr had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_impl_destroying_delete_20.cpp b/src/boost/libs/config/checks/std/cpp_impl_destroying_delete_20.cpp
new file mode 100644
index 000000000..21a21c9c5
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_impl_destroying_delete_20.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_impl_destroying_delete
+#error "Macro << __cpp_impl_destroying_delete is not set"
+#endif
+
+#if __cpp_impl_destroying_delete < 201806
+#error "Macro __cpp_impl_destroying_delete had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_impl_three_way_comparison_20.cpp b/src/boost/libs/config/checks/std/cpp_impl_three_way_comparison_20.cpp
new file mode 100644
index 000000000..b85d44392
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_impl_three_way_comparison_20.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_impl_three_way_comparison
+#error "Macro << __cpp_impl_three_way_comparison is not set"
+#endif
+
+#if __cpp_impl_three_way_comparison < 201711
+#error "Macro __cpp_impl_three_way_comparison had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_inheriting_constructors_11.cpp b/src/boost/libs/config/checks/std/cpp_inheriting_constructors_11.cpp
new file mode 100644
index 000000000..e32b15a58
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_inheriting_constructors_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_inheriting_constructors
+#error "Macro << __cpp_inheriting_constructors is not set"
+#endif
+
+#if __cpp_inheriting_constructors < 200802
+#error "Macro __cpp_inheriting_constructors had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_inheriting_constructors_17.cpp b/src/boost/libs/config/checks/std/cpp_inheriting_constructors_17.cpp
new file mode 100644
index 000000000..0d1070557
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_inheriting_constructors_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_inheriting_constructors
+#error "Macro << __cpp_inheriting_constructors is not set"
+#endif
+
+#if __cpp_inheriting_constructors < 201511
+#error "Macro __cpp_inheriting_constructors had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_init_captures_14.cpp b/src/boost/libs/config/checks/std/cpp_init_captures_14.cpp
new file mode 100644
index 000000000..bd2dda914
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_init_captures_14.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_init_captures
+#error "Macro << __cpp_init_captures is not set"
+#endif
+
+#if __cpp_init_captures < 201304
+#error "Macro __cpp_init_captures had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_initializer_lists_11.cpp b/src/boost/libs/config/checks/std/cpp_initializer_lists_11.cpp
new file mode 100644
index 000000000..bb4afd850
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_initializer_lists_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_initializer_lists
+#error "Macro << __cpp_initializer_lists is not set"
+#endif
+
+#if __cpp_initializer_lists < 200806
+#error "Macro __cpp_initializer_lists had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_inline_variables_17.cpp b/src/boost/libs/config/checks/std/cpp_inline_variables_17.cpp
new file mode 100644
index 000000000..9e4e20d4b
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_inline_variables_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_inline_variables
+#error "Macro << __cpp_inline_variables is not set"
+#endif
+
+#if __cpp_inline_variables < 201606
+#error "Macro __cpp_inline_variables had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lambdas_11.cpp b/src/boost/libs/config/checks/std/cpp_lambdas_11.cpp
new file mode 100644
index 000000000..3e021e233
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lambdas_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_lambdas
+#error "Macro << __cpp_lambdas is not set"
+#endif
+
+#if __cpp_lambdas < 200907
+#error "Macro __cpp_lambdas had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_addressof_constexpr_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_addressof_constexpr_17.cpp
new file mode 100644
index 000000000..24afd0d17
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_addressof_constexpr_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <memory>
+
+#ifndef __cpp_lib_addressof_constexpr
+#error "Macro << __cpp_lib_addressof_constexpr is not set"
+#endif
+
+#if __cpp_lib_addressof_constexpr < 201603
+#error "Macro __cpp_lib_addressof_constexpr had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_allocator_traits_is_always_equal_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_allocator_traits_is_always_equal_17.cpp
new file mode 100644
index 000000000..3e3f79810
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_allocator_traits_is_always_equal_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <memory>
+
+#ifndef __cpp_lib_allocator_traits_is_always_equal
+#error "Macro << __cpp_lib_allocator_traits_is_always_equal is not set"
+#endif
+
+#if __cpp_lib_allocator_traits_is_always_equal < 201411
+#error "Macro __cpp_lib_allocator_traits_is_always_equal had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_any_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_any_17.cpp
new file mode 100644
index 000000000..424c0d73e
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_any_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <any>
+
+#ifndef __cpp_lib_any
+#error "Macro << __cpp_lib_any is not set"
+#endif
+
+#if __cpp_lib_any < 201606
+#error "Macro __cpp_lib_any had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_apply_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_apply_17.cpp
new file mode 100644
index 000000000..cb2efd86c
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_apply_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <tuple>
+
+#ifndef __cpp_lib_apply
+#error "Macro << __cpp_lib_apply is not set"
+#endif
+
+#if __cpp_lib_apply < 201603
+#error "Macro __cpp_lib_apply had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_array_constexpr_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_array_constexpr_17.cpp
new file mode 100644
index 000000000..5e61b10ea
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_array_constexpr_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <iterator>
+
+#ifndef __cpp_lib_array_constexpr
+#error "Macro << __cpp_lib_array_constexpr is not set"
+#endif
+
+#if __cpp_lib_array_constexpr < 201603
+#error "Macro __cpp_lib_array_constexpr had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_as_const_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_as_const_17.cpp
new file mode 100644
index 000000000..d423ede55
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_as_const_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <utility>
+
+#ifndef __cpp_lib_as_const
+#error "Macro << __cpp_lib_as_const is not set"
+#endif
+
+#if __cpp_lib_as_const < 201510
+#error "Macro __cpp_lib_as_const had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_atomic_is_always_lock_free_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_atomic_is_always_lock_free_17.cpp
new file mode 100644
index 000000000..1cdc4c495
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_atomic_is_always_lock_free_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <atomic>
+
+#ifndef __cpp_lib_atomic_is_always_lock_free
+#error "Macro << __cpp_lib_atomic_is_always_lock_free is not set"
+#endif
+
+#if __cpp_lib_atomic_is_always_lock_free < 201603
+#error "Macro __cpp_lib_atomic_is_always_lock_free had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_atomic_ref_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_atomic_ref_20.cpp
new file mode 100644
index 000000000..565df9132
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_atomic_ref_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <atomic>
+
+#ifndef __cpp_lib_atomic_ref
+#error "Macro << __cpp_lib_atomic_ref is not set"
+#endif
+
+#if __cpp_lib_atomic_ref < 201806
+#error "Macro __cpp_lib_atomic_ref had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_bind_front_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_bind_front_20.cpp
new file mode 100644
index 000000000..278df5961
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_bind_front_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <functional>
+
+#ifndef __cpp_lib_bind_front
+#error "Macro << __cpp_lib_bind_front is not set"
+#endif
+
+#if __cpp_lib_bind_front < 201811
+#error "Macro __cpp_lib_bind_front had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_bit_cast_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_bit_cast_20.cpp
new file mode 100644
index 000000000..bd92a43d1
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_bit_cast_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <bit>
+
+#ifndef __cpp_lib_bit_cast
+#error "Macro << __cpp_lib_bit_cast is not set"
+#endif
+
+#if __cpp_lib_bit_cast < 201806
+#error "Macro __cpp_lib_bit_cast had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_bool_constant_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_bool_constant_17.cpp
new file mode 100644
index 000000000..60317209f
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_bool_constant_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <type_traits>
+
+#ifndef __cpp_lib_bool_constant
+#error "Macro << __cpp_lib_bool_constant is not set"
+#endif
+
+#if __cpp_lib_bool_constant < 201505
+#error "Macro __cpp_lib_bool_constant had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_boyer_moore_searcher_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_boyer_moore_searcher_17.cpp
new file mode 100644
index 000000000..b59a28848
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_boyer_moore_searcher_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <functional>
+
+#ifndef __cpp_lib_boyer_moore_searcher
+#error "Macro << __cpp_lib_boyer_moore_searcher is not set"
+#endif
+
+#if __cpp_lib_boyer_moore_searcher < 201603
+#error "Macro __cpp_lib_boyer_moore_searcher had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_byte_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_byte_17.cpp
new file mode 100644
index 000000000..b179249e3
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_byte_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <cstddef>
+
+#ifndef __cpp_lib_byte
+#error "Macro << __cpp_lib_byte is not set"
+#endif
+
+#if __cpp_lib_byte < 201603
+#error "Macro __cpp_lib_byte had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_char8_t_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_char8_t_20.cpp
new file mode 100644
index 000000000..84db6e4d0
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_char8_t_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <atomic>
+
+#ifndef __cpp_lib_char8_t
+#error "Macro << __cpp_lib_char8_t is not set"
+#endif
+
+#if __cpp_lib_char8_t < 201811
+#error "Macro __cpp_lib_char8_t had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_chrono_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_chrono_17.cpp
new file mode 100644
index 000000000..f156ae1b8
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_chrono_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <chrono>
+
+#ifndef __cpp_lib_chrono
+#error "Macro << __cpp_lib_chrono is not set"
+#endif
+
+#if __cpp_lib_chrono < 201611
+#error "Macro __cpp_lib_chrono had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_chrono_udls_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_chrono_udls_14.cpp
new file mode 100644
index 000000000..3e2f2abb8
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_chrono_udls_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <chrono>
+
+#ifndef __cpp_lib_chrono_udls
+#error "Macro << __cpp_lib_chrono_udls is not set"
+#endif
+
+#if __cpp_lib_chrono_udls < 201304
+#error "Macro __cpp_lib_chrono_udls had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_clamp_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_clamp_17.cpp
new file mode 100644
index 000000000..a34238f81
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_clamp_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <algorithm>
+
+#ifndef __cpp_lib_clamp
+#error "Macro << __cpp_lib_clamp is not set"
+#endif
+
+#if __cpp_lib_clamp < 201603
+#error "Macro __cpp_lib_clamp had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_complex_udls_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_complex_udls_14.cpp
new file mode 100644
index 000000000..5ed01b49b
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_complex_udls_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <complex>
+
+#ifndef __cpp_lib_complex_udls
+#error "Macro << __cpp_lib_complex_udls is not set"
+#endif
+
+#if __cpp_lib_complex_udls < 201309
+#error "Macro __cpp_lib_complex_udls had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_concepts_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_concepts_20.cpp
new file mode 100644
index 000000000..e43ebb330
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_concepts_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <concepts>
+
+#ifndef __cpp_lib_concepts
+#error "Macro << __cpp_lib_concepts is not set"
+#endif
+
+#if __cpp_lib_concepts < 201806
+#error "Macro __cpp_lib_concepts had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_constexpr_misc_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_constexpr_misc_20.cpp
new file mode 100644
index 000000000..df726c676
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_constexpr_misc_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <array>
+
+#ifndef __cpp_lib_constexpr_misc
+#error "Macro << __cpp_lib_constexpr_misc is not set"
+#endif
+
+#if __cpp_lib_constexpr_misc < 201811
+#error "Macro __cpp_lib_constexpr_misc had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_constexpr_swap_algorithms_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_constexpr_swap_algorithms_20.cpp
new file mode 100644
index 000000000..d847f74df
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_constexpr_swap_algorithms_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <algorithm>
+
+#ifndef __cpp_lib_constexpr_swap_algorithms
+#error "Macro << __cpp_lib_constexpr_swap_algorithms is not set"
+#endif
+
+#if __cpp_lib_constexpr_swap_algorithms < 201806
+#error "Macro __cpp_lib_constexpr_swap_algorithms had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_destroying_delete_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_destroying_delete_20.cpp
new file mode 100644
index 000000000..10699c5f5
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_destroying_delete_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <new>
+
+#ifndef __cpp_lib_destroying_delete
+#error "Macro << __cpp_lib_destroying_delete is not set"
+#endif
+
+#if __cpp_lib_destroying_delete < 201806
+#error "Macro __cpp_lib_destroying_delete had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_enable_shared_from_this_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_enable_shared_from_this_17.cpp
new file mode 100644
index 000000000..866a66360
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_enable_shared_from_this_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <memory>
+
+#ifndef __cpp_lib_enable_shared_from_this
+#error "Macro << __cpp_lib_enable_shared_from_this is not set"
+#endif
+
+#if __cpp_lib_enable_shared_from_this < 201603
+#error "Macro __cpp_lib_enable_shared_from_this had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_erase_if_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_erase_if_20.cpp
new file mode 100644
index 000000000..398f902c9
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_erase_if_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <string>
+
+#ifndef __cpp_lib_erase_if
+#error "Macro << __cpp_lib_erase_if is not set"
+#endif
+
+#if __cpp_lib_erase_if < 201811
+#error "Macro __cpp_lib_erase_if had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_exchange_function_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_exchange_function_14.cpp
new file mode 100644
index 000000000..0ea249f2b
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_exchange_function_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <utility>
+
+#ifndef __cpp_lib_exchange_function
+#error "Macro << __cpp_lib_exchange_function is not set"
+#endif
+
+#if __cpp_lib_exchange_function < 201304
+#error "Macro __cpp_lib_exchange_function had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_execution_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_execution_17.cpp
new file mode 100644
index 000000000..99ca8dd91
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_execution_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <execution>
+
+#ifndef __cpp_lib_execution
+#error "Macro << __cpp_lib_execution is not set"
+#endif
+
+#if __cpp_lib_execution < 201603
+#error "Macro __cpp_lib_execution had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_filesystem_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_filesystem_17.cpp
new file mode 100644
index 000000000..1906db254
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_filesystem_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <filesystem>
+
+#ifndef __cpp_lib_filesystem
+#error "Macro << __cpp_lib_filesystem is not set"
+#endif
+
+#if __cpp_lib_filesystem < 201703
+#error "Macro __cpp_lib_filesystem had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_gcd_lcm_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_gcd_lcm_17.cpp
new file mode 100644
index 000000000..363da4c24
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_gcd_lcm_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <numeric>
+
+#ifndef __cpp_lib_gcd_lcm
+#error "Macro << __cpp_lib_gcd_lcm is not set"
+#endif
+
+#if __cpp_lib_gcd_lcm < 201606
+#error "Macro __cpp_lib_gcd_lcm had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_generic_associative_lookup_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_generic_associative_lookup_14.cpp
new file mode 100644
index 000000000..54c46b1a2
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_generic_associative_lookup_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <map>
+
+#ifndef __cpp_lib_generic_associative_lookup
+#error "Macro << __cpp_lib_generic_associative_lookup is not set"
+#endif
+
+#if __cpp_lib_generic_associative_lookup < 201304
+#error "Macro __cpp_lib_generic_associative_lookup had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_generic_unordered_lookup_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_generic_unordered_lookup_20.cpp
new file mode 100644
index 000000000..ab7a15649
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_generic_unordered_lookup_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <unordered_map>
+
+#ifndef __cpp_lib_generic_unordered_lookup
+#error "Macro << __cpp_lib_generic_unordered_lookup is not set"
+#endif
+
+#if __cpp_lib_generic_unordered_lookup < 201811
+#error "Macro __cpp_lib_generic_unordered_lookup had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_hardware_interference_size_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_hardware_interference_size_17.cpp
new file mode 100644
index 000000000..bdff4c822
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_hardware_interference_size_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <new>
+
+#ifndef __cpp_lib_hardware_interference_size
+#error "Macro << __cpp_lib_hardware_interference_size is not set"
+#endif
+
+#if __cpp_lib_hardware_interference_size < 201703
+#error "Macro __cpp_lib_hardware_interference_size had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_has_unique_object_representations_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_has_unique_object_representations_17.cpp
new file mode 100644
index 000000000..0b9169a87
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_has_unique_object_representations_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <type_traits>
+
+#ifndef __cpp_lib_has_unique_object_representations
+#error "Macro << __cpp_lib_has_unique_object_representations is not set"
+#endif
+
+#if __cpp_lib_has_unique_object_representations < 201606
+#error "Macro __cpp_lib_has_unique_object_representations had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_hypot_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_hypot_17.cpp
new file mode 100644
index 000000000..13e7890ef
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_hypot_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <cmath>
+
+#ifndef __cpp_lib_hypot
+#error "Macro << __cpp_lib_hypot is not set"
+#endif
+
+#if __cpp_lib_hypot < 201603
+#error "Macro __cpp_lib_hypot had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_incomplete_container_elements_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_incomplete_container_elements_17.cpp
new file mode 100644
index 000000000..6d750f8e2
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_incomplete_container_elements_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <forward_list>
+
+#ifndef __cpp_lib_incomplete_container_elements
+#error "Macro << __cpp_lib_incomplete_container_elements is not set"
+#endif
+
+#if __cpp_lib_incomplete_container_elements < 201505
+#error "Macro __cpp_lib_incomplete_container_elements had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_integer_sequence_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_integer_sequence_14.cpp
new file mode 100644
index 000000000..88e5e5924
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_integer_sequence_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <utility>
+
+#ifndef __cpp_lib_integer_sequence
+#error "Macro << __cpp_lib_integer_sequence is not set"
+#endif
+
+#if __cpp_lib_integer_sequence < 201304
+#error "Macro __cpp_lib_integer_sequence had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_integral_constant_callable_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_integral_constant_callable_14.cpp
new file mode 100644
index 000000000..ee0ac8d0a
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_integral_constant_callable_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <type_traits>
+
+#ifndef __cpp_lib_integral_constant_callable
+#error "Macro << __cpp_lib_integral_constant_callable is not set"
+#endif
+
+#if __cpp_lib_integral_constant_callable < 201304
+#error "Macro __cpp_lib_integral_constant_callable had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_invoke_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_invoke_17.cpp
new file mode 100644
index 000000000..0e7a1cdfd
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_invoke_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <functional>
+
+#ifndef __cpp_lib_invoke
+#error "Macro << __cpp_lib_invoke is not set"
+#endif
+
+#if __cpp_lib_invoke < 201411
+#error "Macro __cpp_lib_invoke had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_is_aggregate_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_is_aggregate_17.cpp
new file mode 100644
index 000000000..01d7c1b1c
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_is_aggregate_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <type_traits>
+
+#ifndef __cpp_lib_is_aggregate
+#error "Macro << __cpp_lib_is_aggregate is not set"
+#endif
+
+#if __cpp_lib_is_aggregate < 201703
+#error "Macro __cpp_lib_is_aggregate had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_is_constant_evaluated_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_is_constant_evaluated_20.cpp
new file mode 100644
index 000000000..2d04d3410
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_is_constant_evaluated_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <type_traits>
+
+#ifndef __cpp_lib_is_constant_evaluated
+#error "Macro << __cpp_lib_is_constant_evaluated is not set"
+#endif
+
+#if __cpp_lib_is_constant_evaluated < 201811
+#error "Macro __cpp_lib_is_constant_evaluated had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_is_final_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_is_final_14.cpp
new file mode 100644
index 000000000..95f416ed0
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_is_final_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <type_traits>
+
+#ifndef __cpp_lib_is_final
+#error "Macro << __cpp_lib_is_final is not set"
+#endif
+
+#if __cpp_lib_is_final < 201402
+#error "Macro __cpp_lib_is_final had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_is_invocable_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_is_invocable_17.cpp
new file mode 100644
index 000000000..e4bad4218
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_is_invocable_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <type_traits>
+
+#ifndef __cpp_lib_is_invocable
+#error "Macro << __cpp_lib_is_invocable is not set"
+#endif
+
+#if __cpp_lib_is_invocable < 201703
+#error "Macro __cpp_lib_is_invocable had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_is_null_pointer_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_is_null_pointer_14.cpp
new file mode 100644
index 000000000..521e11b08
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_is_null_pointer_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <type_traits>
+
+#ifndef __cpp_lib_is_null_pointer
+#error "Macro << __cpp_lib_is_null_pointer is not set"
+#endif
+
+#if __cpp_lib_is_null_pointer < 201309
+#error "Macro __cpp_lib_is_null_pointer had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_is_swappable_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_is_swappable_17.cpp
new file mode 100644
index 000000000..d31a910c7
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_is_swappable_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <type_traits>
+
+#ifndef __cpp_lib_is_swappable
+#error "Macro << __cpp_lib_is_swappable is not set"
+#endif
+
+#if __cpp_lib_is_swappable < 201603
+#error "Macro __cpp_lib_is_swappable had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_launder_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_launder_17.cpp
new file mode 100644
index 000000000..7e70cebed
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_launder_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <new>
+
+#ifndef __cpp_lib_launder
+#error "Macro << __cpp_lib_launder is not set"
+#endif
+
+#if __cpp_lib_launder < 201606
+#error "Macro __cpp_lib_launder had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_list_remove_return_type_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_list_remove_return_type_20.cpp
new file mode 100644
index 000000000..5e243e679
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_list_remove_return_type_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <forward_list>
+
+#ifndef __cpp_lib_list_remove_return_type
+#error "Macro << __cpp_lib_list_remove_return_type is not set"
+#endif
+
+#if __cpp_lib_list_remove_return_type < 201806
+#error "Macro __cpp_lib_list_remove_return_type had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_logical_traits_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_logical_traits_17.cpp
new file mode 100644
index 000000000..dc0b98242
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_logical_traits_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <type_traits>
+
+#ifndef __cpp_lib_logical_traits
+#error "Macro << __cpp_lib_logical_traits is not set"
+#endif
+
+#if __cpp_lib_logical_traits < 201510
+#error "Macro __cpp_lib_logical_traits had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_make_from_tuple_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_make_from_tuple_17.cpp
new file mode 100644
index 000000000..ce6be87e1
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_make_from_tuple_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <tuple>
+
+#ifndef __cpp_lib_make_from_tuple
+#error "Macro << __cpp_lib_make_from_tuple is not set"
+#endif
+
+#if __cpp_lib_make_from_tuple < 201606
+#error "Macro __cpp_lib_make_from_tuple had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_make_reverse_iterator_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_make_reverse_iterator_14.cpp
new file mode 100644
index 000000000..3f9ac2c79
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_make_reverse_iterator_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <iterator>
+
+#ifndef __cpp_lib_make_reverse_iterator
+#error "Macro << __cpp_lib_make_reverse_iterator is not set"
+#endif
+
+#if __cpp_lib_make_reverse_iterator < 201402
+#error "Macro __cpp_lib_make_reverse_iterator had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_make_unique_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_make_unique_14.cpp
new file mode 100644
index 000000000..3285efb09
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_make_unique_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <memory>
+
+#ifndef __cpp_lib_make_unique
+#error "Macro << __cpp_lib_make_unique is not set"
+#endif
+
+#if __cpp_lib_make_unique < 201304
+#error "Macro __cpp_lib_make_unique had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_map_try_emplace_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_map_try_emplace_17.cpp
new file mode 100644
index 000000000..275d856fd
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_map_try_emplace_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <map>
+
+#ifndef __cpp_lib_map_try_emplace
+#error "Macro << __cpp_lib_map_try_emplace is not set"
+#endif
+
+#if __cpp_lib_map_try_emplace < 201411
+#error "Macro __cpp_lib_map_try_emplace had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_math_special_functions_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_math_special_functions_17.cpp
new file mode 100644
index 000000000..e2f10e86f
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_math_special_functions_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <cmath>
+
+#ifndef __cpp_lib_math_special_functions
+#error "Macro << __cpp_lib_math_special_functions is not set"
+#endif
+
+#if __cpp_lib_math_special_functions < 201603
+#error "Macro __cpp_lib_math_special_functions had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_memory_resource_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_memory_resource_17.cpp
new file mode 100644
index 000000000..168898ace
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_memory_resource_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <memory_resource>
+
+#ifndef __cpp_lib_memory_resource
+#error "Macro << __cpp_lib_memory_resource is not set"
+#endif
+
+#if __cpp_lib_memory_resource < 201603
+#error "Macro __cpp_lib_memory_resource had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_node_extract_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_node_extract_17.cpp
new file mode 100644
index 000000000..f71e54ede
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_node_extract_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <map>
+
+#ifndef __cpp_lib_node_extract
+#error "Macro << __cpp_lib_node_extract is not set"
+#endif
+
+#if __cpp_lib_node_extract < 201606
+#error "Macro __cpp_lib_node_extract had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_nonmember_container_access_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_nonmember_container_access_17.cpp
new file mode 100644
index 000000000..03586bf58
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_nonmember_container_access_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <iterator>
+
+#ifndef __cpp_lib_nonmember_container_access
+#error "Macro << __cpp_lib_nonmember_container_access is not set"
+#endif
+
+#if __cpp_lib_nonmember_container_access < 201411
+#error "Macro __cpp_lib_nonmember_container_access had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_not_fn_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_not_fn_17.cpp
new file mode 100644
index 000000000..a83b104bb
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_not_fn_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <functional>
+
+#ifndef __cpp_lib_not_fn
+#error "Macro << __cpp_lib_not_fn is not set"
+#endif
+
+#if __cpp_lib_not_fn < 201603
+#error "Macro __cpp_lib_not_fn had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_null_iterators_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_null_iterators_14.cpp
new file mode 100644
index 000000000..9c6b5bb5b
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_null_iterators_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <iterator>
+
+#ifndef __cpp_lib_null_iterators
+#error "Macro << __cpp_lib_null_iterators is not set"
+#endif
+
+#if __cpp_lib_null_iterators < 201304
+#error "Macro __cpp_lib_null_iterators had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_optional_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_optional_17.cpp
new file mode 100644
index 000000000..f754542d8
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_optional_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <optional>
+
+#ifndef __cpp_lib_optional
+#error "Macro << __cpp_lib_optional is not set"
+#endif
+
+#if __cpp_lib_optional < 201606
+#error "Macro __cpp_lib_optional had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_parallel_algorithm_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_parallel_algorithm_17.cpp
new file mode 100644
index 000000000..4216c871d
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_parallel_algorithm_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <algorithm>
+
+#ifndef __cpp_lib_parallel_algorithm
+#error "Macro << __cpp_lib_parallel_algorithm is not set"
+#endif
+
+#if __cpp_lib_parallel_algorithm < 201603
+#error "Macro __cpp_lib_parallel_algorithm had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_quoted_string_io_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_quoted_string_io_14.cpp
new file mode 100644
index 000000000..b773e4aae
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_quoted_string_io_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <iomanip>
+
+#ifndef __cpp_lib_quoted_string_io
+#error "Macro << __cpp_lib_quoted_string_io is not set"
+#endif
+
+#if __cpp_lib_quoted_string_io < 201304
+#error "Macro __cpp_lib_quoted_string_io had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_ranges_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_ranges_20.cpp
new file mode 100644
index 000000000..6e03769fe
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_ranges_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <algorithm>
+
+#ifndef __cpp_lib_ranges
+#error "Macro << __cpp_lib_ranges is not set"
+#endif
+
+#if __cpp_lib_ranges < 201811
+#error "Macro __cpp_lib_ranges had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_raw_memory_algorithms_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_raw_memory_algorithms_17.cpp
new file mode 100644
index 000000000..b38e6aaec
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_raw_memory_algorithms_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <memory>
+
+#ifndef __cpp_lib_raw_memory_algorithms
+#error "Macro << __cpp_lib_raw_memory_algorithms is not set"
+#endif
+
+#if __cpp_lib_raw_memory_algorithms < 201606
+#error "Macro __cpp_lib_raw_memory_algorithms had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_result_of_sfinae_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_result_of_sfinae_14.cpp
new file mode 100644
index 000000000..f840dc7cf
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_result_of_sfinae_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <functional>
+
+#ifndef __cpp_lib_result_of_sfinae
+#error "Macro << __cpp_lib_result_of_sfinae is not set"
+#endif
+
+#if __cpp_lib_result_of_sfinae < 201210
+#error "Macro __cpp_lib_result_of_sfinae had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_robust_nonmodifying_seq_ops_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_robust_nonmodifying_seq_ops_14.cpp
new file mode 100644
index 000000000..bcbca0a5a
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_robust_nonmodifying_seq_ops_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <algorithm>
+
+#ifndef __cpp_lib_robust_nonmodifying_seq_ops
+#error "Macro << __cpp_lib_robust_nonmodifying_seq_ops is not set"
+#endif
+
+#if __cpp_lib_robust_nonmodifying_seq_ops < 201304
+#error "Macro __cpp_lib_robust_nonmodifying_seq_ops had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_sample_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_sample_17.cpp
new file mode 100644
index 000000000..5247240b9
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_sample_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <algorithm>
+
+#ifndef __cpp_lib_sample
+#error "Macro << __cpp_lib_sample is not set"
+#endif
+
+#if __cpp_lib_sample < 201603
+#error "Macro __cpp_lib_sample had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_scoped_lock_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_scoped_lock_17.cpp
new file mode 100644
index 000000000..8dbc91f86
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_scoped_lock_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <mutex>
+
+#ifndef __cpp_lib_scoped_lock
+#error "Macro << __cpp_lib_scoped_lock is not set"
+#endif
+
+#if __cpp_lib_scoped_lock < 201703
+#error "Macro __cpp_lib_scoped_lock had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_shared_mutex_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_shared_mutex_17.cpp
new file mode 100644
index 000000000..2a9a8fee2
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_shared_mutex_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <shared_mutex>
+
+#ifndef __cpp_lib_shared_mutex
+#error "Macro << __cpp_lib_shared_mutex is not set"
+#endif
+
+#if __cpp_lib_shared_mutex < 201505
+#error "Macro __cpp_lib_shared_mutex had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_shared_ptr_arrays_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_shared_ptr_arrays_17.cpp
new file mode 100644
index 000000000..bb35134c2
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_shared_ptr_arrays_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <memory>
+
+#ifndef __cpp_lib_shared_ptr_arrays
+#error "Macro << __cpp_lib_shared_ptr_arrays is not set"
+#endif
+
+#if __cpp_lib_shared_ptr_arrays < 201611
+#error "Macro __cpp_lib_shared_ptr_arrays had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_shared_ptr_weak_type_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_shared_ptr_weak_type_17.cpp
new file mode 100644
index 000000000..9aa43ff54
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_shared_ptr_weak_type_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <memory>
+
+#ifndef __cpp_lib_shared_ptr_weak_type
+#error "Macro << __cpp_lib_shared_ptr_weak_type is not set"
+#endif
+
+#if __cpp_lib_shared_ptr_weak_type < 201606
+#error "Macro __cpp_lib_shared_ptr_weak_type had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_shared_timed_mutex_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_shared_timed_mutex_14.cpp
new file mode 100644
index 000000000..fb12ad991
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_shared_timed_mutex_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <shared_mutex>
+
+#ifndef __cpp_lib_shared_timed_mutex
+#error "Macro << __cpp_lib_shared_timed_mutex is not set"
+#endif
+
+#if __cpp_lib_shared_timed_mutex < 201402
+#error "Macro __cpp_lib_shared_timed_mutex had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_string_udls_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_string_udls_14.cpp
new file mode 100644
index 000000000..dcc5d5a57
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_string_udls_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <string>
+
+#ifndef __cpp_lib_string_udls
+#error "Macro << __cpp_lib_string_udls is not set"
+#endif
+
+#if __cpp_lib_string_udls < 201304
+#error "Macro __cpp_lib_string_udls had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_string_view_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_string_view_17.cpp
new file mode 100644
index 000000000..2c2442ab7
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_string_view_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <string>
+
+#ifndef __cpp_lib_string_view
+#error "Macro << __cpp_lib_string_view is not set"
+#endif
+
+#if __cpp_lib_string_view < 201606
+#error "Macro __cpp_lib_string_view had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_three_way_comparison_20.cpp b/src/boost/libs/config/checks/std/cpp_lib_three_way_comparison_20.cpp
new file mode 100644
index 000000000..053ea10ac
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_three_way_comparison_20.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <compare>
+
+#ifndef __cpp_lib_three_way_comparison
+#error "Macro << __cpp_lib_three_way_comparison is not set"
+#endif
+
+#if __cpp_lib_three_way_comparison < 201711
+#error "Macro __cpp_lib_three_way_comparison had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_to_chars_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_to_chars_17.cpp
new file mode 100644
index 000000000..ae56a8753
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_to_chars_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <utility>
+
+#ifndef __cpp_lib_to_chars
+#error "Macro << __cpp_lib_to_chars is not set"
+#endif
+
+#if __cpp_lib_to_chars < 201611
+#error "Macro __cpp_lib_to_chars had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_transformation_trait_aliases_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_transformation_trait_aliases_14.cpp
new file mode 100644
index 000000000..04a1fe8e7
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_transformation_trait_aliases_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <type_traits>
+
+#ifndef __cpp_lib_transformation_trait_aliases
+#error "Macro << __cpp_lib_transformation_trait_aliases is not set"
+#endif
+
+#if __cpp_lib_transformation_trait_aliases < 201304
+#error "Macro __cpp_lib_transformation_trait_aliases had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_transparent_operators_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_transparent_operators_14.cpp
new file mode 100644
index 000000000..a202d5ae5
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_transparent_operators_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <functional>
+
+#ifndef __cpp_lib_transparent_operators
+#error "Macro << __cpp_lib_transparent_operators is not set"
+#endif
+
+#if __cpp_lib_transparent_operators < 201210
+#error "Macro __cpp_lib_transparent_operators had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_transparent_operators_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_transparent_operators_17.cpp
new file mode 100644
index 000000000..01b846a2d
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_transparent_operators_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <memory>
+
+#ifndef __cpp_lib_transparent_operators
+#error "Macro << __cpp_lib_transparent_operators is not set"
+#endif
+
+#if __cpp_lib_transparent_operators < 201510
+#error "Macro __cpp_lib_transparent_operators had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_tuple_element_t_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_tuple_element_t_14.cpp
new file mode 100644
index 000000000..46a38f62c
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_tuple_element_t_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <tuple>
+
+#ifndef __cpp_lib_tuple_element_t
+#error "Macro << __cpp_lib_tuple_element_t is not set"
+#endif
+
+#if __cpp_lib_tuple_element_t < 201402
+#error "Macro __cpp_lib_tuple_element_t had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_tuples_by_type_14.cpp b/src/boost/libs/config/checks/std/cpp_lib_tuples_by_type_14.cpp
new file mode 100644
index 000000000..d6b310ba8
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_tuples_by_type_14.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <utility>
+
+#ifndef __cpp_lib_tuples_by_type
+#error "Macro << __cpp_lib_tuples_by_type is not set"
+#endif
+
+#if __cpp_lib_tuples_by_type < 201304
+#error "Macro __cpp_lib_tuples_by_type had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_type_trait_variable_templates_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_type_trait_variable_templates_17.cpp
new file mode 100644
index 000000000..ddb7d1d47
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_type_trait_variable_templates_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <type_traits>
+
+#ifndef __cpp_lib_type_trait_variable_templates
+#error "Macro << __cpp_lib_type_trait_variable_templates is not set"
+#endif
+
+#if __cpp_lib_type_trait_variable_templates < 201510
+#error "Macro __cpp_lib_type_trait_variable_templates had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_uncaught_exceptions_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_uncaught_exceptions_17.cpp
new file mode 100644
index 000000000..edbde1d30
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_uncaught_exceptions_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <exception>
+
+#ifndef __cpp_lib_uncaught_exceptions
+#error "Macro << __cpp_lib_uncaught_exceptions is not set"
+#endif
+
+#if __cpp_lib_uncaught_exceptions < 201411
+#error "Macro __cpp_lib_uncaught_exceptions had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_unordered_map_try_emplace_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_unordered_map_try_emplace_17.cpp
new file mode 100644
index 000000000..7c77d15c4
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_unordered_map_try_emplace_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <unordered_map>
+
+#ifndef __cpp_lib_unordered_map_try_emplace
+#error "Macro << __cpp_lib_unordered_map_try_emplace is not set"
+#endif
+
+#if __cpp_lib_unordered_map_try_emplace < 201411
+#error "Macro __cpp_lib_unordered_map_try_emplace had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_variant_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_variant_17.cpp
new file mode 100644
index 000000000..322a39f67
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_variant_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <variant>
+
+#ifndef __cpp_lib_variant
+#error "Macro << __cpp_lib_variant is not set"
+#endif
+
+#if __cpp_lib_variant < 201606
+#error "Macro __cpp_lib_variant had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_lib_void_t_17.cpp b/src/boost/libs/config/checks/std/cpp_lib_void_t_17.cpp
new file mode 100644
index 000000000..8a0f0a9bd
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_lib_void_t_17.cpp
@@ -0,0 +1,32 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#include <type_traits>
+
+#ifndef __cpp_lib_void_t
+#error "Macro << __cpp_lib_void_t is not set"
+#endif
+
+#if __cpp_lib_void_t < 201411
+#error "Macro __cpp_lib_void_t had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_namespace_attributes_17.cpp b/src/boost/libs/config/checks/std/cpp_namespace_attributes_17.cpp
new file mode 100644
index 000000000..6f8ffca14
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_namespace_attributes_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_namespace_attributes
+#error "Macro << __cpp_namespace_attributes is not set"
+#endif
+
+#if __cpp_namespace_attributes < 201411
+#error "Macro __cpp_namespace_attributes had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_noexcept_function_type_17.cpp b/src/boost/libs/config/checks/std/cpp_noexcept_function_type_17.cpp
new file mode 100644
index 000000000..7b0422458
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_noexcept_function_type_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_noexcept_function_type
+#error "Macro << __cpp_noexcept_function_type is not set"
+#endif
+
+#if __cpp_noexcept_function_type < 201510
+#error "Macro __cpp_noexcept_function_type had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_nontype_template_args_17.cpp b/src/boost/libs/config/checks/std/cpp_nontype_template_args_17.cpp
new file mode 100644
index 000000000..235ea6446
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_nontype_template_args_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_nontype_template_args
+#error "Macro << __cpp_nontype_template_args is not set"
+#endif
+
+#if __cpp_nontype_template_args < 201411
+#error "Macro __cpp_nontype_template_args had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_nontype_template_parameter_auto_17.cpp b/src/boost/libs/config/checks/std/cpp_nontype_template_parameter_auto_17.cpp
new file mode 100644
index 000000000..a68d9f766
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_nontype_template_parameter_auto_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_nontype_template_parameter_auto
+#error "Macro << __cpp_nontype_template_parameter_auto is not set"
+#endif
+
+#if __cpp_nontype_template_parameter_auto < 201606
+#error "Macro __cpp_nontype_template_parameter_auto had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_nontype_template_parameter_class_20.cpp b/src/boost/libs/config/checks/std/cpp_nontype_template_parameter_class_20.cpp
new file mode 100644
index 000000000..19c1512cc
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_nontype_template_parameter_class_20.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_nontype_template_parameter_class
+#error "Macro << __cpp_nontype_template_parameter_class is not set"
+#endif
+
+#if __cpp_nontype_template_parameter_class < 201806
+#error "Macro __cpp_nontype_template_parameter_class had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_nsdmi_11.cpp b/src/boost/libs/config/checks/std/cpp_nsdmi_11.cpp
new file mode 100644
index 000000000..f135005df
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_nsdmi_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_nsdmi
+#error "Macro << __cpp_nsdmi is not set"
+#endif
+
+#if __cpp_nsdmi < 200809
+#error "Macro __cpp_nsdmi had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_range_based_for_11.cpp b/src/boost/libs/config/checks/std/cpp_range_based_for_11.cpp
new file mode 100644
index 000000000..0e85ed5a6
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_range_based_for_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_range_based_for
+#error "Macro << __cpp_range_based_for is not set"
+#endif
+
+#if __cpp_range_based_for < 200907
+#error "Macro __cpp_range_based_for had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_range_based_for_17.cpp b/src/boost/libs/config/checks/std/cpp_range_based_for_17.cpp
new file mode 100644
index 000000000..cf83e9d04
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_range_based_for_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_range_based_for
+#error "Macro << __cpp_range_based_for is not set"
+#endif
+
+#if __cpp_range_based_for < 201603
+#error "Macro __cpp_range_based_for had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_raw_strings_11.cpp b/src/boost/libs/config/checks/std/cpp_raw_strings_11.cpp
new file mode 100644
index 000000000..6abec7bd9
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_raw_strings_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_raw_strings
+#error "Macro << __cpp_raw_strings is not set"
+#endif
+
+#if __cpp_raw_strings < 200710
+#error "Macro __cpp_raw_strings had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_ref_qualifiers_11.cpp b/src/boost/libs/config/checks/std/cpp_ref_qualifiers_11.cpp
new file mode 100644
index 000000000..b3ec78332
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_ref_qualifiers_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_ref_qualifiers
+#error "Macro << __cpp_ref_qualifiers is not set"
+#endif
+
+#if __cpp_ref_qualifiers < 200710
+#error "Macro __cpp_ref_qualifiers had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_return_type_deduction_14.cpp b/src/boost/libs/config/checks/std/cpp_return_type_deduction_14.cpp
new file mode 100644
index 000000000..5734a615e
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_return_type_deduction_14.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_return_type_deduction
+#error "Macro << __cpp_return_type_deduction is not set"
+#endif
+
+#if __cpp_return_type_deduction < 201304
+#error "Macro __cpp_return_type_deduction had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_rtti_03.cpp b/src/boost/libs/config/checks/std/cpp_rtti_03.cpp
new file mode 100644
index 000000000..d3c51e6a7
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_rtti_03.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_rtti
+#error "Macro << __cpp_rtti is not set"
+#endif
+
+#if __cpp_rtti < 199711
+#error "Macro __cpp_rtti had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_rvalue_references_11.cpp b/src/boost/libs/config/checks/std/cpp_rvalue_references_11.cpp
new file mode 100644
index 000000000..cfcb4ee62
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_rvalue_references_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_rvalue_references
+#error "Macro << __cpp_rvalue_references is not set"
+#endif
+
+#if __cpp_rvalue_references < 200610
+#error "Macro __cpp_rvalue_references had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_sized_deallocation_14.cpp b/src/boost/libs/config/checks/std/cpp_sized_deallocation_14.cpp
new file mode 100644
index 000000000..433c1454e
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_sized_deallocation_14.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_sized_deallocation
+#error "Macro << __cpp_sized_deallocation is not set"
+#endif
+
+#if __cpp_sized_deallocation < 201309
+#error "Macro __cpp_sized_deallocation had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_static_assert_11.cpp b/src/boost/libs/config/checks/std/cpp_static_assert_11.cpp
new file mode 100644
index 000000000..386f7f257
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_static_assert_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_static_assert
+#error "Macro << __cpp_static_assert is not set"
+#endif
+
+#if __cpp_static_assert < 200410
+#error "Macro __cpp_static_assert had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_static_assert_17.cpp b/src/boost/libs/config/checks/std/cpp_static_assert_17.cpp
new file mode 100644
index 000000000..8c2dd17bf
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_static_assert_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_static_assert
+#error "Macro << __cpp_static_assert is not set"
+#endif
+
+#if __cpp_static_assert < 201411
+#error "Macro __cpp_static_assert had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_structured_bindings_17.cpp b/src/boost/libs/config/checks/std/cpp_structured_bindings_17.cpp
new file mode 100644
index 000000000..f7c4d4ca6
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_structured_bindings_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_structured_bindings
+#error "Macro << __cpp_structured_bindings is not set"
+#endif
+
+#if __cpp_structured_bindings < 201606
+#error "Macro __cpp_structured_bindings had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_template_template_args_17.cpp b/src/boost/libs/config/checks/std/cpp_template_template_args_17.cpp
new file mode 100644
index 000000000..f2865f367
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_template_template_args_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_template_template_args
+#error "Macro << __cpp_template_template_args is not set"
+#endif
+
+#if __cpp_template_template_args < 201611
+#error "Macro __cpp_template_template_args had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_threadsafe_static_init_11.cpp b/src/boost/libs/config/checks/std/cpp_threadsafe_static_init_11.cpp
new file mode 100644
index 000000000..fa6ab0bab
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_threadsafe_static_init_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_threadsafe_static_init
+#error "Macro << __cpp_threadsafe_static_init is not set"
+#endif
+
+#if __cpp_threadsafe_static_init < 200806
+#error "Macro __cpp_threadsafe_static_init had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_unicode_characters_11.cpp b/src/boost/libs/config/checks/std/cpp_unicode_characters_11.cpp
new file mode 100644
index 000000000..ea3c58ca3
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_unicode_characters_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_unicode_characters
+#error "Macro << __cpp_unicode_characters is not set"
+#endif
+
+#if __cpp_unicode_characters < 200704
+#error "Macro __cpp_unicode_characters had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_unicode_literals_11.cpp b/src/boost/libs/config/checks/std/cpp_unicode_literals_11.cpp
new file mode 100644
index 000000000..ccf28f784
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_unicode_literals_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_unicode_literals
+#error "Macro << __cpp_unicode_literals is not set"
+#endif
+
+#if __cpp_unicode_literals < 200710
+#error "Macro __cpp_unicode_literals had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_user_defined_literals_11.cpp b/src/boost/libs/config/checks/std/cpp_user_defined_literals_11.cpp
new file mode 100644
index 000000000..909782684
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_user_defined_literals_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_user_defined_literals
+#error "Macro << __cpp_user_defined_literals is not set"
+#endif
+
+#if __cpp_user_defined_literals < 200809
+#error "Macro __cpp_user_defined_literals had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_variable_templates_14.cpp b/src/boost/libs/config/checks/std/cpp_variable_templates_14.cpp
new file mode 100644
index 000000000..6c63320b2
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_variable_templates_14.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_variable_templates
+#error "Macro << __cpp_variable_templates is not set"
+#endif
+
+#if __cpp_variable_templates < 201304
+#error "Macro __cpp_variable_templates had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_variadic_templates_11.cpp b/src/boost/libs/config/checks/std/cpp_variadic_templates_11.cpp
new file mode 100644
index 000000000..72836ca0c
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_variadic_templates_11.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_variadic_templates
+#error "Macro << __cpp_variadic_templates is not set"
+#endif
+
+#if __cpp_variadic_templates < 200704
+#error "Macro __cpp_variadic_templates had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/std/cpp_variadic_using_17.cpp b/src/boost/libs/config/checks/std/cpp_variadic_using_17.cpp
new file mode 100644
index 000000000..5e689749a
--- /dev/null
+++ b/src/boost/libs/config/checks/std/cpp_variadic_using_17.cpp
@@ -0,0 +1,30 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+#ifdef __has_include
+#if __has_include(<version>)
+#include <version>
+#endif
+#endif
+
+#ifndef __cpp_variadic_using
+#error "Macro << __cpp_variadic_using is not set"
+#endif
+
+#if __cpp_variadic_using < 201611
+#error "Macro __cpp_variadic_using had too low a value"
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/checks/test_case.cpp b/src/boost/libs/config/checks/test_case.cpp
new file mode 100644
index 000000000..699892546
--- /dev/null
+++ b/src/boost/libs/config/checks/test_case.cpp
@@ -0,0 +1,1014 @@
+// This file was automatically generated on Mon Dec 09 09:47:38 2019
+// 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$
+//
+
+#include <boost/config.hpp>
+
+#ifdef 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
+# ifndef BOOST_HAS_BETHREADS
+# error "Feature macro BOOST_HAS_BETHREADS is not defined."
+# endif
+#endif
+#ifdef 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_PRAGMA_DETECT_MISMATCH
+# ifndef BOOST_HAS_PRAGMA_DETECT_MISMATCH
+# error "Feature macro BOOST_HAS_PRAGMA_DETECT_MISMATCH is not defined."
+# endif
+#endif
+#ifdef 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
+# ifndef BOOST_HAS_EXPM1
+# error "Feature macro BOOST_HAS_EXPM1 is not defined."
+# endif
+#endif
+#ifdef TEST_BOOST_HAS_FLOAT128
+# ifndef BOOST_HAS_FLOAT128
+# error "Feature macro BOOST_HAS_FLOAT128 is not defined."
+# endif
+#endif
+#ifdef TEST_BOOST_HAS_FTIME
+# ifndef BOOST_HAS_FTIME
+# error "Feature macro BOOST_HAS_FTIME is not defined."
+# endif
+#endif
+#ifdef TEST_BOOST_HAS_GETSYSTEMTIMEASFILETIME
+# ifndef BOOST_HAS_GETSYSTEMTIMEASFILETIME
+# error "Feature macro BOOST_HAS_GETSYSTEMTIMEASFILETIME is not defined."
+# endif
+#endif
+#ifdef TEST_BOOST_HAS_GETTIMEOFDAY
+# ifndef BOOST_HAS_GETTIMEOFDAY
+# error "Feature macro BOOST_HAS_GETTIMEOFDAY is not defined."
+# endif
+#endif
+#ifdef TEST_BOOST_HAS_HASH
+# ifndef BOOST_HAS_HASH
+# error "Feature macro BOOST_HAS_HASH is not defined."
+# endif
+#endif
+#ifdef TEST_BOOST_HAS_INT128
+# ifndef BOOST_HAS_INT128
+# error "Feature macro BOOST_HAS_INT128 is not defined."
+# endif
+#endif
+#ifdef 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
+# ifndef BOOST_HAS_LONG_LONG
+# error "Feature macro BOOST_HAS_LONG_LONG is not defined."
+# endif
+#endif
+#ifdef 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
+# ifndef BOOST_HAS_MS_INT64
+# error "Feature macro BOOST_HAS_MS_INT64 is not defined."
+# endif
+#endif
+#ifdef 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
+# ifndef BOOST_HAS_NL_TYPES_H
+# error "Feature macro BOOST_HAS_NL_TYPES_H is not defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# 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
+# 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
+# ifndef BOOST_HAS_PTHREAD_YIELD
+# error "Feature macro BOOST_HAS_PTHREAD_YIELD is not defined."
+# endif
+#endif
+#ifdef 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
+# ifndef BOOST_HAS_RVALUE_REFS
+# error "Feature macro BOOST_HAS_RVALUE_REFS is not defined."
+# endif
+#endif
+#ifdef 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
+# ifndef BOOST_HAS_SGI_TYPE_TRAITS
+# error "Feature macro BOOST_HAS_SGI_TYPE_TRAITS is not defined."
+# endif
+#endif
+#ifdef TEST_BOOST_HAS_SIGACTION
+# ifndef BOOST_HAS_SIGACTION
+# error "Feature macro BOOST_HAS_SIGACTION is not defined."
+# endif
+#endif
+#ifdef 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
+# ifndef BOOST_HAS_STATIC_ASSERT
+# error "Feature macro BOOST_HAS_STATIC_ASSERT is not defined."
+# endif
+#endif
+#ifdef 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
+# ifndef BOOST_HAS_STLP_USE_FACET
+# error "Feature macro BOOST_HAS_STLP_USE_FACET is not defined."
+# endif
+#endif
+#ifdef 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
+# ifndef BOOST_HAS_VARIADIC_TMPL
+# error "Feature macro BOOST_HAS_VARIADIC_TMPL is not defined."
+# endif
+#endif
+#ifdef 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
+# ifndef BOOST_MSVC_STD_ITERATOR
+# error "Feature macro BOOST_MSVC_STD_ITERATOR is not defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_ADL_BARRIER
+# error "Defect macro BOOST_NO_ADL_BARRIER is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# 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
+# ifdef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+# error "Defect macro BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# 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
+# 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
+# ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+# error "Defect macro BOOST_NO_COMPLETE_VALUE_INITIALIZATION is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_CTYPE_FUNCTIONS
+# error "Defect macro BOOST_NO_CTYPE_FUNCTIONS is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_CV_VOID_SPECIALIZATIONS
+# error "Defect macro BOOST_NO_CV_VOID_SPECIALIZATIONS is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_CWCHAR
+# ifdef BOOST_NO_CWCHAR
+# error "Defect macro BOOST_NO_CWCHAR is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_CWCTYPE
+# ifdef BOOST_NO_CWCTYPE
+# error "Defect macro BOOST_NO_CWCTYPE is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_CXX11_ALIGNAS
+# error "Defect macro BOOST_NO_CXX11_ALIGNAS is defined."
+# endif
+#endif
+#ifdef 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
+# 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_DEFAULTED_MOVES
+# ifdef BOOST_NO_CXX11_DEFAULTED_MOVES
+# error "Defect macro BOOST_NO_CXX11_DEFAULTED_MOVES is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_CXX11_HDR_EXCEPTION
+# ifdef BOOST_NO_CXX11_HDR_EXCEPTION
+# error "Defect macro BOOST_NO_CXX11_HDR_EXCEPTION is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# ifdef BOOST_NO_CXX11_NUMERIC_LIMITS
+# error "Defect macro BOOST_NO_CXX11_NUMERIC_LIMITS is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_CXX11_POINTER_TRAITS
+# ifdef BOOST_NO_CXX11_POINTER_TRAITS
+# error "Defect macro BOOST_NO_CXX11_POINTER_TRAITS is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# ifdef BOOST_NO_CXX14_BINARY_LITERALS
+# error "Defect macro BOOST_NO_CXX14_BINARY_LITERALS is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# ifdef BOOST_NO_CXX14_VARIABLE_TEMPLATES
+# error "Defect macro BOOST_NO_CXX14_VARIABLE_TEMPLATES is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_CXX17_FOLD_EXPRESSIONS
+# ifdef BOOST_NO_CXX17_FOLD_EXPRESSIONS
+# error "Defect macro BOOST_NO_CXX17_FOLD_EXPRESSIONS is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_CXX17_HDR_OPTIONAL
+# ifdef BOOST_NO_CXX17_HDR_OPTIONAL
+# error "Defect macro BOOST_NO_CXX17_HDR_OPTIONAL is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_CXX17_HDR_STRING_VIEW
+# ifdef BOOST_NO_CXX17_HDR_STRING_VIEW
+# error "Defect macro BOOST_NO_CXX17_HDR_STRING_VIEW is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_CXX17_HDR_VARIANT
+# ifdef BOOST_NO_CXX17_HDR_VARIANT
+# error "Defect macro BOOST_NO_CXX17_HDR_VARIANT is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_CXX17_IF_CONSTEXPR
+# ifdef BOOST_NO_CXX17_IF_CONSTEXPR
+# error "Defect macro BOOST_NO_CXX17_IF_CONSTEXPR is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_CXX17_INLINE_VARIABLES
+# ifdef BOOST_NO_CXX17_INLINE_VARIABLES
+# error "Defect macro BOOST_NO_CXX17_INLINE_VARIABLES is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_CXX17_ITERATOR_TRAITS
+# ifdef BOOST_NO_CXX17_ITERATOR_TRAITS
+# error "Defect macro BOOST_NO_CXX17_ITERATOR_TRAITS is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_CXX17_STD_INVOKE
+# error "Defect macro BOOST_NO_CXX17_STD_INVOKE is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_CXX17_STRUCTURED_BINDINGS
+# ifdef BOOST_NO_CXX17_STRUCTURED_BINDINGS
+# error "Defect macro BOOST_NO_CXX17_STRUCTURED_BINDINGS 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
+# ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL
+# error "Defect macro BOOST_NO_CXX11_HDR_FUNCTIONAL is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_CXX11_DECLTYPE_N3276
+# error "Defect macro BOOST_NO_CXX11_DECLTYPE_N3276 is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# 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
+# 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
+# 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
+# ifdef BOOST_NO_EXCEPTION_STD_NAMESPACE
+# error "Defect macro BOOST_NO_EXCEPTION_STD_NAMESPACE is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# 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
+# ifdef BOOST_NO_CXX11_EXTERN_TEMPLATE
+# error "Defect macro BOOST_NO_CXX11_EXTERN_TEMPLATE is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# ifdef BOOST_NO_INTEGRAL_INT64_T
+# error "Defect macro BOOST_NO_INTEGRAL_INT64_T is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_IOSFWD
+# ifdef BOOST_NO_IOSFWD
+# error "Defect macro BOOST_NO_IOSFWD is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_IOSTREAM
+# ifdef BOOST_NO_IOSTREAM
+# error "Defect macro BOOST_NO_IOSTREAM is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+# error "Defect macro BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_LIMITS
+# error "Defect macro BOOST_NO_LIMITS is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# ifdef BOOST_NO_LONG_LONG
+# error "Defect macro BOOST_NO_LONG_LONG is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# 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
+# ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+# error "Defect macro BOOST_NO_MEMBER_TEMPLATE_FRIENDS is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_NESTED_FRIENDSHIP
+# error "Defect macro BOOST_NO_NESTED_FRIENDSHIP is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_CXX11_NULLPTR
+# error "Defect macro BOOST_NO_CXX11_NULLPTR is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# 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
+# 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
+# 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
+# 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
+# ifdef BOOST_NO_CXX11_RAW_LITERALS
+# error "Defect macro BOOST_NO_CXX11_RAW_LITERALS is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
+# error "Defect macro BOOST_NO_UNREACHABLE_RETURN_DETECTION is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# ifdef BOOST_NO_CXX11_SCOPED_ENUMS
+# error "Defect macro BOOST_NO_CXX11_SCOPED_ENUMS is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_SFINAE
+# ifdef BOOST_NO_SFINAE
+# error "Defect macro BOOST_NO_SFINAE is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_STRINGSTREAM
+# error "Defect macro BOOST_NO_STRINGSTREAM is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_STD_ALLOCATOR
+# error "Defect macro BOOST_NO_STD_ALLOCATOR is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_STD_ITERATOR_TRAITS
+# error "Defect macro BOOST_NO_STD_ITERATOR_TRAITS is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_STD_LOCALE
+# error "Defect macro BOOST_NO_STD_LOCALE is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# 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
+# ifdef BOOST_NO_STD_TYPEINFO
+# error "Defect macro BOOST_NO_STD_TYPEINFO is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_STD_WSTREAMBUF
+# error "Defect macro BOOST_NO_STD_WSTREAMBUF is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_STDC_NAMESPACE
+# error "Defect macro BOOST_NO_STDC_NAMESPACE is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# ifdef BOOST_NO_CXX11_TEMPLATE_ALIASES
+# error "Defect macro BOOST_NO_CXX11_TEMPLATE_ALIASES is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_TEMPLATE_TEMPLATES
+# error "Defect macro BOOST_NO_TEMPLATE_TEMPLATES is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_TYPEID
+# error "Defect macro BOOST_NO_TYPEID is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# ifdef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+# error "Defect macro BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX is defined."
+# endif
+#endif
+#ifdef TEST_BOOST_NO_CXX11_UNRESTRICTED_UNION
+# ifdef BOOST_NO_CXX11_UNRESTRICTED_UNION
+# error "Defect macro BOOST_NO_CXX11_UNRESTRICTED_UNION is defined."
+# endif
+#endif
+#ifdef 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
+# 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
+# ifdef BOOST_NO_USING_TEMPLATE
+# error "Defect macro BOOST_NO_USING_TEMPLATE is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES
+# error "Defect macro BOOST_NO_CXX11_VARIADIC_TEMPLATES is defined."
+# endif
+#endif
+#ifdef 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
+# ifdef BOOST_NO_INTRINSIC_WCHAR_T
+# error "Defect macro BOOST_NO_INTRINSIC_WCHAR_T is defined."
+# endif
+#endif
+
+int main( int, char *[] )
+{
+ return 0;
+}
+
diff --git a/src/boost/libs/config/configure b/src/boost/libs/config/configure
new file mode 100644
index 000000000..85e2307ec
--- /dev/null
+++ b/src/boost/libs/config/configure
@@ -0,0 +1,3894 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.61.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ case $as_dir in
+ /*)
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell autoconf@gnu.org about your system,
+ echo including any error possibly output before this
+ echo message
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="./tools/configure.in"
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+CXX
+CXXFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CXX
+EXEEXT
+OBJEXT
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files=''
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CXX
+CXXFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CCC'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute directory names.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { echo "$as_me: error: Working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$0" ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+ { (exit 1); exit 1; }; }
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+--enable-test tests current settings rather than defining new ones
+--enable-extension=<ext>
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-boost=DIR path to the boost main tree
+
+Some influential environment variables:
+ CXX C++ compiler command
+ CXXFLAGS C++ compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" || continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.61
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.61. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args '$ac_arg'"
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -n "$CONFIG_SITE"; then
+ set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+ set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+ set x "$ac_default_prefix/share/config.site" \
+ "$ac_default_prefix/etc/config.site"
+fi
+shift
+for ac_site_file
+do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+# Check whether --enable-test was given.
+if test "${enable_test+set}" = set; then
+ enableval=$enable_test;
+fi
+
+
+if test "foo"$enable_test = "foo"; then
+ enable_test="no"
+fi
+
+cat << EOF
+*** $0: boost configuration utility ***
+
+Please stand by while exploring compiler capabilities...
+Be patient - this could take some time...
+
+Note that this test script only gives an approximate
+configuration - you will need to test the results carefully
+using the boost regression test suite before using the results.
+EOF
+
+if test $enable_test = 'yes'; then
+
+cat << EOF
+
+This script reports only the difference between the detected
+configuration, and the existing boost configuration. Its
+primary aim is to quickly report how well boost is configured
+for one compiler.
+
+***
+
+EOF
+
+else
+
+cat << EOF
+
+***
+
+EOF
+fi
+
+# Check whether --enable-extension was given.
+if test "${enable_extension+set}" = set; then
+ enableval=$enable_extension;
+case "$enableval" in
+ no) { echo "$as_me:$LINENO: result: Info :.cpp used as extension for tests" >&5
+echo "${ECHO_T}Info :.cpp used as extension for tests" >&6; }
+ ac_ext=cpp
+ ;;
+ *) { echo "$as_me:$LINENO: result: Argument : .$enableval used as extension" >&5
+echo "${ECHO_T}Argument : .$enableval used as extension" >&6; }
+ ac_ext=$enableval
+esac
+
+else
+ { echo "$as_me:$LINENO: result: Info : .cpp used as extension for tests" >&5
+echo "${ECHO_T}Info : .cpp used as extension for tests" >&6; }
+ ac_ext=cpp
+
+
+fi
+
+
+
+if test -f /bin/sed ; then
+ SED=/bin/sed
+else
+ if test -f /usr/bin/sed ; then
+ SED=/usr/bin/sed
+ else
+ SED=sed
+ fi
+fi
+
+{ echo "$as_me:$LINENO: checking for boost main tree" >&5
+echo $ECHO_N "checking for boost main tree... $ECHO_C" >&6; }
+boost_base=
+
+# Check whether --with-boost was given.
+if test "${with_boost+set}" = set; then
+ withval=$with_boost;
+ #echo "--with boost is set"
+ if test "x$withval" != "x"; then
+ if test "x$withval" != no; then
+ boost_base=`echo "$withval" | $SED 's,//*,/,g' | $SED 's,/$,,'`
+ #echo boost_base=$boost_base
+ if test -f "$boost_base/boost/config.hpp"; then
+ if test -f "$boost_base/libs/config/configure"; then :; else
+ boost_base=
+ #echo "$boost_base/libs/config/configure" not found
+ fi
+ else
+ #echo "$boost_base/boost/config.hpp" not found
+ boost_base=
+ fi
+ fi
+ fi
+
+
+fi
+
+if test "x$boost_base" = "x"; then
+ #echo '$0 = ' $0
+ boost_base=`expr "x$0" : 'x\(.*\)/[/]*' \| '.'`
+ boost_base="$boost_base/../.."
+ #echo boost_base=$boost_base
+ if test -f "$boost_base/boost/config.hpp"; then
+ if test -f "$boost_base/libs/config/configure"; then :; else
+ boost_base=
+ fi
+ else
+ boost_base=
+ fi
+fi
+if test "x$boost_base" != "x"; then
+ { echo "$as_me:$LINENO: result: $boost_base" >&5
+echo "${ECHO_T}$boost_base" >&6; }
+else
+ { echo "$as_me:$LINENO: result: not found" >&5
+echo "${ECHO_T}not found" >&6; }
+ { { echo "$as_me:$LINENO: error: The boost main tree was not found.
+ Specify its location by the --with-boost option." >&5
+echo "$as_me: error: The boost main tree was not found.
+ Specify its location by the --with-boost option." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+# Save that, as it is being redefined several times
+use_ac_ext=$ac_ext
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CXX" && break
+done
+
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
+fi
+
+ fi
+fi
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5
+echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; }
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort. b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions. Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
+if test -z "$ac_file"; then
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C++ compiler cannot create executables
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5
+echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; }
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C++ compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
+
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
+if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
+GXX=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=$use_ac_ext
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+OLD_CXXFLAGS="$CXXFLAGS"
+
+
+if test $enable_test = 'yes'; then
+ CXXFLAGS="-I$boost_base -I$boost_base/libs/config/test $CXXFLAGS"
+else
+ CXXFLAGS="-I$boost_base -I$boost_base/libs/config/test $CXXFLAGS -DBOOST_NO_CONFIG"
+fi
+
+# add the -AA conformance option to CXXFLAGS for HP aCC only
+if test $CXX = 'aCC'; then
+ CXXFLAGS="-AA $CXXFLAGS"
+fi
+
+
+
+
+{ echo "$as_me:$LINENO: checking for pthread_exit in -lpthread" >&5
+echo $ECHO_N "checking for pthread_exit in -lpthread... $ECHO_C" >&6; }
+if test "${ac_cv_lib_pthread_pthread_exit+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_exit ();
+int
+main ()
+{
+return pthread_exit ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_pthread_pthread_exit=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_pthread_pthread_exit=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_exit" >&5
+echo "${ECHO_T}$ac_cv_lib_pthread_pthread_exit" >&6; }
+if test $ac_cv_lib_pthread_pthread_exit = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBPTHREAD 1
+_ACEOF
+
+ LIBS="-lpthread $LIBS"
+
+fi
+
+
+{ echo "$as_me:$LINENO: checking for cos in -lm" >&5
+echo $ECHO_N "checking for cos in -lm... $ECHO_C" >&6; }
+if test "${ac_cv_lib_m_cos+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lm $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char cos ();
+int
+main ()
+{
+return cos ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_m_cos=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_m_cos=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_m_cos" >&5
+echo "${ECHO_T}$ac_cv_lib_m_cos" >&6; }
+if test $ac_cv_lib_m_cos = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBM 1
+_ACEOF
+
+ LIBS="-lm $LIBS"
+
+fi
+
+
+{ echo "$as_me:$LINENO: checking for clock in -lrt" >&5
+echo $ECHO_N "checking for clock in -lrt... $ECHO_C" >&6; }
+if test "${ac_cv_lib_rt_clock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lrt $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char clock ();
+int
+main ()
+{
+return clock ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_rt_clock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_rt_clock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_rt_clock" >&5
+echo "${ECHO_T}$ac_cv_lib_rt_clock" >&6; }
+if test $ac_cv_lib_rt_clock = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBRT 1
+_ACEOF
+
+ LIBS="-lrt $LIBS"
+
+fi
+
+
+#
+# enumerate test files and test each one:
+#
+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 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+
+#echo file = $file
+#echo basename = $basename
+#echo macroname = $macroname
+#echo title = $title
+#echo namespace = $namespace
+
+ ac_ext=$use_ac_ext
+ if test $enable_test = 'yes'; then
+ { echo "$as_me:$LINENO: checking $title (pass expected) " >&5
+echo $ECHO_N "checking $title (pass expected) ... $ECHO_C" >&6; }
+ else
+ { echo "$as_me:$LINENO: checking $title " >&5
+echo $ECHO_N "checking $title ... $ECHO_C" >&6; }
+ fi
+ if test "$cross_compiling" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#if !defined($macroname) || defined(BOOST_NO_CONFIG)
+#include "boost_$basename.ipp"
+#else
+namespace ${namespace} = empty_boost;
+#endif
+
+int main(){ return ${namespace}::test(); }
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ { echo "$as_me:$LINENO: result: OK" >&5
+echo "${ECHO_T}OK" >&6; }
+
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+{ echo "$as_me:$LINENO: result: Failed" >&5
+echo "${ECHO_T}Failed" >&6; }
+ required_defs="$macroname $required_defs"
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+ if test $enable_test = 'yes'; then
+
+ ac_ext=$use_ac_ext
+ { echo "$as_me:$LINENO: checking $title (fail expected) " >&5
+echo $ECHO_N "checking $title (fail expected) ... $ECHO_C" >&6; }
+ if test "$cross_compiling" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef $macroname
+#include "boost_$basename.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main() { return ${namespace}::test(); }
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
+ required_undefs="$macroname $required_undefs"
+
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+{ echo "$as_me:$LINENO: result: OK" >&5
+echo "${ECHO_T}OK" >&6; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+ fi
+
+done
+
+#
+# enumerate optional test files and test each one:
+#
+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 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+
+# echo $file
+# echo $basename
+# echo $macroname
+# echo $title
+
+ ac_ext=$use_ac_ext
+ if test $enable_test = 'yes'; then
+ { echo "$as_me:$LINENO: checking $title (pass expected) " >&5
+echo $ECHO_N "checking $title (pass expected) ... $ECHO_C" >&6; }
+ if test "$cross_compiling" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef $macroname
+#include "boost_$basename.ipp"
+#else
+namespace ${namespace} = empty_boost;
+#endif
+
+int main(){ return ${namespace}::test(); }
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ { echo "$as_me:$LINENO: result: OK" >&5
+echo "${ECHO_T}OK" >&6; }
+
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+{ echo "$as_me:$LINENO: result: Failed" >&5
+echo "${ECHO_T}Failed" >&6; }
+ required_undefs="$macroname $required_undefs"
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+ { echo "$as_me:$LINENO: checking $title (fail expected) " >&5
+echo $ECHO_N "checking $title (fail expected) ... $ECHO_C" >&6; }
+ if test "$cross_compiling" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef $macroname
+#include "boost_$basename.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main(){ return ${namespace}::test(); }
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
+ required_defs="$macroname $required_defs"
+
+
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+
+ { echo "$as_me:$LINENO: result: OK" >&5
+echo "${ECHO_T}OK" >&6; }
+
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+ else
+
+ ac_ext=$use_ac_ext
+ { echo "$as_me:$LINENO: checking $title" >&5
+echo $ECHO_N "checking $title... $ECHO_C" >&6; }
+ if test "$cross_compiling" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#include "boost_$basename.ipp"
+
+int main(){ return ${namespace}::test(); }
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ { echo "$as_me:$LINENO: result: Yes" >&5
+echo "${ECHO_T}Yes" >&6; }
+ required_defs="$macroname $required_defs"
+
+
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+ fi
+
+done
+
+
+#echo $required_defs
+#echo $required_undefs
+
+if test $enable_test = 'yes'; then
+
+if test "$required_defs" = ""; then
+echo no boost macros need to be defined
+echo no boost macros need to be defined >&5
+else
+echo the following macros need to be defined
+echo $required_defs
+echo the following macros need to be defined >&5
+echo $required_defs >&5
+fi
+if test "$required_undefs" = ""; then
+echo no boost macros need to be undefined
+echo no boost macros need to be undefined >&5
+else
+echo "the following macros need to be undef'ed"
+echo $required_undefs
+echo "the following macros need to be undef'ed" >&5
+echo $required_undefs >&5
+fi
+
+else
+
+date_string=`date`
+
+echo boost_base=$boost_base
+
+cat > user.hpp << EOF
+// (C) Copyright Boost.org 2001.
+// Do not check in modified versions of this file,
+// This file may be customised by the end user, but not by boost.
+
+//
+// Use this file to define a site and compiler specific
+// configuration policy, this version was auto-generated by
+// configure on ${date_string}
+// With the following options:
+// CXX = ${CXX}
+// CXXFLAGS = ${CXXFLAGS}
+// LDFLAGS = ${LDFLAGS}
+// LIBS = ${LIBS}
+//
+
+// define this to disable all config options,
+// excluding the user config. Use if your
+// setup is fully ISO complient, and has no
+// useful extentions, or for autoconf generated
+// setups:
+#ifndef BOOST_NO_CONFIG
+# define BOOST_NO_CONFIG
+#endif
+
+
+// define if you want to disable threading support, even
+// when available:
+// #define BOOST_DISABLE_THREADS
+
+// define if you want the regex library to use the C locale
+// even on Win32:
+// #define BOOST_REGEX_USE_C_LOCALE
+
+// define this is you want the regex library to use the C++
+// locale:
+// #define BOOST_REGEX_USE_CPP_LOCALE
+
+
+//
+// options added by configure:
+//
+EOF
+
+for name in $required_defs; do
+echo '#define '"$name" >> user.hpp
+done
+
+cat_conts=`cat user.hpp`
+
+#
+# post configuration step:
+#
+{ echo "$as_me:$LINENO: checking original configuration " >&5
+echo $ECHO_N "checking original configuration ... $ECHO_C" >&6; }
+rm -f conftest$ac_exeext
+$CXX -I$boost_base $OLD_CXXFLAGS -DBOOST_NO_USER_CONFIG -o conftest$ac_exeext $LDFLAGS $boost_base/libs/config/test/config_info.cpp $LIBS >&5 2>&1
+./conftest >&5 2>&1
+{ echo "$as_me:$LINENO: result: done" >&5
+echo "${ECHO_T}done" >&6; }
+{ echo "$as_me:$LINENO: checking new configuration " >&5
+echo $ECHO_N "checking new configuration ... $ECHO_C" >&6; }
+rm -f conftest$ac_exeext
+$CXX -I$boost_base -I$boost_base/libs/config $OLD_CXXFLAGS -DBOOST_USER_CONFIG='"user.hpp"' -o conftest$ac_exeext $LDFLAGS $boost_base/libs/config/test/config_info.cpp $LIBS >&5 2>&1
+./conftest >&5 2>&1
+{ echo "$as_me:$LINENO: result: done" >&5
+echo "${ECHO_T}done" >&6; }
+
+ac_config_commands="$ac_config_commands default"
+
+
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+t clear
+:clear
+s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+ g
+ s/^\n//
+ s/\n/ /g
+ p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.61. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+# Files that config.status was made for.
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.61,
+ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --he | --h | --help | --hel | -h )
+ echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ CONFIG_SHELL=$SHELL
+ export CONFIG_SHELL
+ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS
+#
+
+cat_conts="$cat_conts"
+
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+
+for ac_tag in :C $CONFIG_COMMANDS
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ ac_file_inputs="$ac_file_inputs $ac_f"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input="Generated from "`IFS=:
+ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ fi
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin";;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+
+
+
+ :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "default":C)
+cat > user.hpp << EEEOF
+${cat_conts}
+EEEOF
+cat << EEEOF
+
+Adjustments to boost configuration have been written to
+user.hpp. Copy this to boost/config/user.hpp to use "as is",
+or define BOOST_SITE_CONFIG to point to its location.
+
+TREAT THIS FILE WITH CARE.
+Autoconf generated options are not infallible!
+
+EEEOF
+ ;;
+
+ esac
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/boost/libs/config/index.html b/src/boost/libs/config/index.html
new file mode 100644
index 000000000..df7430bd0
--- /dev/null
+++ b/src/boost/libs/config/index.html
@@ -0,0 +1,15 @@
+<html>
+ <head>
+ <meta http-equiv="refresh" content="0; URL=doc/html/index.html">
+ </head>
+ <body>
+ <P>
+ Automatic redirection failed, please go to <a href="doc/html/index.html">doc/html/index.html</a>.
+ </P>
+ <P>Copyright&nbsp;John Maddock 2001</P>
+ <P>Distributed under the Boost Software License, Version 1.0. (See accompanying file <A href="../../LICENSE_1_0.txt">
+ LICENSE_1_0.txt</A> or copy at <A href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</A>).</P>
+ </body>
+</html>
+
+
diff --git a/src/boost/libs/config/meta/libraries.json b/src/boost/libs/config/meta/libraries.json
new file mode 100644
index 000000000..d11777426
--- /dev/null
+++ b/src/boost/libs/config/meta/libraries.json
@@ -0,0 +1,13 @@
+{
+ "key": "config",
+ "name": "Config",
+ "description": "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users.",
+ "documentation": "doc/html/index.html",
+ "category": [
+ "workarounds"
+ ],
+ "authors": "",
+ "maintainers": [
+ "John Maddock <john -at- johnmaddock.co.uk>"
+ ]
+}
diff --git a/src/boost/libs/config/test/CMakeLists.txt b/src/boost/libs/config/test/CMakeLists.txt
new file mode 100644
index 000000000..96511ddd5
--- /dev/null
+++ b/src/boost/libs/config/test/CMakeLists.txt
@@ -0,0 +1,27 @@
+# Copyright 2018 John Maddock
+# 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
+#
+# CAUTION!!!!
+#
+# This addition to Boost.Config should be considered experimental and is part
+# of an ongoing effort to add CMake support Boost-wide.
+#
+# IT IS HIGHLY LIKELY THAT THIS FILE WILL CHANGE WITHOUT NOTICE!!!
+#
+# DO NOT REPLY ON THE CONTENTS OF THIS FILE!!!
+#
+# In particular this is not a comprehensive test suite, just a quick check
+# that the root CMakeLists.txt works OK, and a convenience for folks who
+# want to import these projects into their IDE.
+#
+cmake_minimum_required(VERSION 3.5)
+
+add_subdirectory(.. ${CMAKE_CURRENT_BINARY_DIR}/boost_config)
+
+add_executable(config_info config_info.cpp)
+target_link_libraries(config_info Boost::config)
+
+add_executable(config_test config_test.cpp)
+target_link_libraries(config_test Boost::config)
+
diff --git a/src/boost/libs/config/test/Jamfile.v2 b/src/boost/libs/config/test/Jamfile.v2
new file mode 100644
index 000000000..5b2a9ad90
--- /dev/null
+++ b/src/boost/libs/config/test/Jamfile.v2
@@ -0,0 +1,140 @@
+#
+# Copyright John Maddock 2008.
+# 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)
+#
+# If you need to alter build preferences then set them in
+# the template defined in options_v2.jam.
+#
+
+import feature ;
+import testing ;
+
+project
+ : requirements
+ <toolset>gcc:<cxxflags>-Wno-deprecated-declarations
+;
+
+
+import modules ;
+import ../checks/config : requires ;
+
+local is_unix = [ modules.peek : UNIX ] ;
+
+lib atomic ;
+lib pthread ;
+lib rt ;
+
+exe has_atomic_lib : config_info.cpp atomic ;
+explicit has_atomic_lib ;
+exe has_pthread_lib : config_info.cpp pthread ;
+explicit has_pthread_lib ;
+exe has_rt_lib : config_info.cpp rt ;
+explicit has_rt_lib ;
+
+test-suite config
+ :
+ [ compile config_test_c.c ]
+ [ run config_test.cpp
+ : #args
+ : #input-files
+ : #requirements
+ <threading>multi
+ [ check-target-builds has_atomic_lib : <source>atomic ]
+ [ check-target-builds has_pthread_lib : <source>pthread ]
+ [ check-target-builds has_rt_lib : <source>rt ]
+ : config_test_threaded
+ ]
+ [ run config_test.cpp
+ : #args
+ : #input-files
+ : #requirements
+ <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static
+ [ check-target-builds has_atomic_lib : <source>atomic ]
+ [ check-target-builds has_pthread_lib : <source>pthread ]
+ [ check-target-builds has_rt_lib : <source>rt ]
+ ]
+ [ run config_test.cpp
+ : #args
+ : #input-files
+ : #requirements
+ <rtti>off
+ <toolset>gcc-4.4.7,<cxxstd>0x:<build>no # <memory> does not compile with -fno-rtti
+ [ check-target-builds has_atomic_lib : <source>atomic ]
+ [ check-target-builds has_pthread_lib : <source>pthread ]
+ [ check-target-builds has_rt_lib : <source>rt ]
+ : config_test_no_rtti
+ ]
+ [ run config_test.cpp
+ : #args
+ : #input-files
+ : #requirements
+ <exception-handling>off
+ <target-os>vxworks:<build>no # vx requires complete library rebuild to turn off exceptions
+ [ check-target-builds has_atomic_lib : <source>atomic ]
+ [ check-target-builds has_pthread_lib : <source>pthread ]
+ [ check-target-builds has_rt_lib : <source>rt ]
+ : config_test_no_except
+ ]
+ [ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on ]
+ [ run config_info.cpp : : : <test-info>always_show_run_output <threading>multi <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on : config_info_threaded ]
+ [ run config_info.cpp : : : <test-info>always_show_run_output <rtti>off <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on : config_info_no_rtti ]
+ [ run config_info.cpp : : : <test-info>always_show_run_output <exception-handling>off
+ <target-os>vxworks:<build>no
+ : config_info_no_except ]
+ [ run math_info.cpp : : : <test-info>always_show_run_output <toolset>borland:<runtime-link>static <toolset>borland:<link>static ]
+ [ run abi/abi_test.cpp abi/main.cpp ]
+ [ run limits_test.cpp ]
+ [ run link/main.cpp link//link_test
+ : #args
+ : #input-files
+ : #requirements
+ <runtime-link>shared
+ <define>BOOST_DYN_LINK=1
+ <define>BOOST_CONFIG_NO_LIB=1
+ <target-os>vxworks:<link>shared
+ :
+ config_link_test
+ ]
+ [ compile-fail threads/test_thread_fail1.cpp ]
+ [ compile-fail threads/test_thread_fail2.cpp ]
+ [ compile boost_fallthrough_test.cpp : [ check-target-builds has_clang_implicit_fallthrough "Clang implicit fallthrough" : <toolset>clang:<cxxflags>"-std=c++11 -Wimplicit-fallthrough" <warnings-as-errors>on <warnings>all ] ]
+ [ compile helper_macro_test.cpp ]
+ [ run cstdint_test.cpp : : : <warnings>all <toolset>gcc:<cxxflags>"-Wno-long-long -Wextra" <toolset>darwin:<cxxflags>-Wno-long-long ]
+ [ run cstdint_test2.cpp : : : <warnings>all <toolset>gcc:<cxxflags>"-Wno-long-long -Wextra" <toolset>darwin:<cxxflags>-Wno-long-long ]
+ [ compile cstdint_include_test.cpp : <warnings>all <toolset>gcc:<cxxflags>-Wextra ]
+ [ run config_build_check.cpp : : : [ requires int128 cxx11_constexpr cxx11_user_defined_literals cpp_lib_complex_udls cpp_range_based_for_17 ] ]
+ [ run helper_macros_test.cpp ]
+ [ compile pragma_message_test.cpp ]
+ [ compile header_deprecated_test.cpp ]
+ ;
+
+obj has_clang_implicit_fallthrough : cmd_line_check.cpp :
+ <toolset>clang:<cxxflags>"-std=c++11 -Wimplicit-fallthrough" <warnings-as-errors>on <warnings>all ;
+
+explicit has_clang_implicit_fallthrough ;
+
+exe config_info_printer : config_info.cpp ;
+explicit config_info_printer ;
+
+actions print-run
+{
+ echo With Standard Version $(STANDARD:E=default)
+ echo =====================================================================
+ $(>)
+}
+
+rule print-run ( target : sources * : properties * )
+{
+ STANDARD on $(target) = [ feature.get-values <cxxstd> : $(properties) ] ;
+}
+
+notfile print_config_info : @print-run : config_info_printer ;
+explicit print_config_info ;
+
+# Backwards compatibility:
+exe config_info_travis : config_info.cpp ;
+install config_info_travis_install : config_info_travis : <location>. ;
+explicit config_info_travis_install ;
+
diff --git a/src/boost/libs/config/test/abi/abi_test.cpp b/src/boost/libs/config/test/abi/abi_test.cpp
new file mode 100644
index 000000000..98be1b196
--- /dev/null
+++ b/src/boost/libs/config/test/abi/abi_test.cpp
@@ -0,0 +1,27 @@
+// (C) Copyright John Maddock 2003.
+// 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.
+
+
+#include "abi_test.hpp"
+
+
+char abi_test::virtual_one()const
+{
+ return c;
+}
+
+boost::int32_t abi_test::virtual_two()const
+{
+ return i;
+}
+
+abi_test::abi_test()
+{
+ c = 0x12;
+ i = 0x5678;
+}
+
diff --git a/src/boost/libs/config/test/abi/abi_test.hpp b/src/boost/libs/config/test/abi/abi_test.hpp
new file mode 100644
index 000000000..a2bec783b
--- /dev/null
+++ b/src/boost/libs/config/test/abi/abi_test.hpp
@@ -0,0 +1,54 @@
+// (C) Copyright John Maddock 2003.
+// 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.
+
+
+#ifndef BOOST_ABI_TEST_HPP
+#define BOOST_ABI_TEST_HPP
+
+#include <boost/config.hpp>
+#include <boost/cstdint.hpp>
+
+#ifdef BOOST_HAS_ABI_HEADERS
+#include BOOST_ABI_PREFIX
+#endif
+
+//
+// the following class is designed to break if the ABI
+// it's compiled with does not match that of the client
+// calling it....
+//
+
+struct empty{};
+
+class abi_test : protected empty
+{
+private:
+ empty e;
+ char c;
+ boost::int32_t i;
+public:
+ inline char inline_one()const
+ { return c; }
+ inline boost::int32_t inline_two()const
+ { return i; }
+
+ virtual char virtual_one()const;
+ virtual boost::int32_t virtual_two()const;
+
+ abi_test();
+};
+
+
+
+#ifdef BOOST_HAS_ABI_HEADERS
+#include BOOST_ABI_SUFFIX
+#endif
+
+#endif // BOOST_ABI_TEST_HPP
+
+
+
diff --git a/src/boost/libs/config/test/abi/main.cpp b/src/boost/libs/config/test/abi/main.cpp
new file mode 100644
index 000000000..e8f9d1393
--- /dev/null
+++ b/src/boost/libs/config/test/abi/main.cpp
@@ -0,0 +1,31 @@
+// (C) Copyright John Maddock 2003.
+// 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.
+
+//
+// before we do anything else, we need to mess with the compilers ABI:
+//
+#include <boost/config.hpp>
+#ifdef BOOST_MSVC
+#pragma pack(1)
+#elif defined(__BORLANDC__)
+#pragma option -Ve- -Vx- -a1 -b-
+#endif
+#include <stdio.h>
+#include "abi_test.hpp"
+
+
+int main()
+{
+ abi_test t;
+ if((t.inline_one() != t.virtual_one()) || (t.inline_two() != t.virtual_two()))
+ {
+ fwrite("Failed ABI test", 1, 15, stdout);
+ return -1;
+ }
+ return 0;
+}
+
diff --git a/src/boost/libs/config/test/all/Jamfile.v2 b/src/boost/libs/config/test/all/Jamfile.v2
new file mode 100644
index 000000000..f804b20b7
--- /dev/null
+++ b/src/boost/libs/config/test/all/Jamfile.v2
@@ -0,0 +1,622 @@
+#
+# Regression test Jamfile for boost configuration setup.
+# *** DO NOT EDIT THIS FILE BY HAND ***
+# This file was automatically generated on Mon Dec 09 09:47:37 2019
+# by libs/config/tools/generate.cpp
+# Copyright John Maddock.
+# Use, modification and distribution are subject to the
+# Boost Software License, Version 1.0. (See accompanying file
+# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+#
+# If you need to alter build preferences then set them in
+# the template defined in options_v2.jam.
+#
+path-constant DOT : . ;
+include $(DOT)/options_v2.jam ;
+
+run ../config_info.cpp : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;
+run ../config_info.cpp : : : <threading>multi : config_info_threaded ;
+run ../math_info.cpp : : : <toolset>borland:<runtime-link>static <toolset>borland:<link>static ;
+run ../config_test.cpp : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;
+run ../config_test.cpp : : : <threading>multi : config_test_threaded ;
+run ../limits_test.cpp ../../../test/build//boost_test_exec_monitor ;
+run ../abi/abi_test.cpp ../abi/main.cpp ;
+
+test-suite "BOOST_HAS_TWO_ARG_USE_FACET" :
+[ run ../has_2arg_use_facet_pass.cpp ]
+[ compile-fail ../has_2arg_use_facet_fail.cpp ] ;
+test-suite "BOOST_HAS_BETHREADS" :
+[ run ../has_bethreads_pass.cpp ]
+[ compile-fail ../has_bethreads_fail.cpp ] ;
+test-suite "BOOST_HAS_CLOCK_GETTIME" :
+[ run ../has_clock_gettime_pass.cpp ]
+[ compile-fail ../has_clock_gettime_fail.cpp ] ;
+test-suite "BOOST_HAS_PRAGMA_DETECT_MISMATCH" :
+[ run ../has_detect_mismatch_pass.cpp ]
+[ compile-fail ../has_detect_mismatch_fail.cpp ] ;
+test-suite "BOOST_HAS_DIRENT_H" :
+[ run ../has_dirent_h_pass.cpp ]
+[ compile-fail ../has_dirent_h_fail.cpp ] ;
+test-suite "BOOST_HAS_EXPM1" :
+[ run ../has_expm1_pass.cpp ]
+[ compile-fail ../has_expm1_fail.cpp ] ;
+test-suite "BOOST_HAS_FLOAT128" :
+[ run ../has_float128_pass.cpp ]
+[ compile-fail ../has_float128_fail.cpp ] ;
+test-suite "BOOST_HAS_FTIME" :
+[ run ../has_ftime_pass.cpp ]
+[ compile-fail ../has_ftime_fail.cpp ] ;
+test-suite "BOOST_HAS_GETSYSTEMTIMEASFILETIME" :
+[ run ../has_getsystemtimeasfiletime_pass.cpp ]
+[ compile-fail ../has_getsystemtimeasfiletime_fail.cpp ] ;
+test-suite "BOOST_HAS_GETTIMEOFDAY" :
+[ run ../has_gettimeofday_pass.cpp ]
+[ compile-fail ../has_gettimeofday_fail.cpp ] ;
+test-suite "BOOST_HAS_HASH" :
+[ run ../has_hash_pass.cpp ]
+[ compile-fail ../has_hash_fail.cpp ] ;
+test-suite "BOOST_HAS_INT128" :
+[ run ../has_int128_pass.cpp ]
+[ compile-fail ../has_int128_fail.cpp ] ;
+test-suite "BOOST_HAS_LOG1P" :
+[ run ../has_log1p_pass.cpp ]
+[ compile-fail ../has_log1p_fail.cpp ] ;
+test-suite "BOOST_HAS_LONG_LONG" :
+[ run ../has_long_long_pass.cpp ]
+[ compile-fail ../has_long_long_fail.cpp ] ;
+test-suite "BOOST_HAS_MACRO_USE_FACET" :
+[ run ../has_macro_use_facet_pass.cpp ]
+[ compile-fail ../has_macro_use_facet_fail.cpp ] ;
+test-suite "BOOST_HAS_MS_INT64" :
+[ run ../has_ms_int64_pass.cpp ]
+[ compile-fail ../has_ms_int64_fail.cpp ] ;
+test-suite "BOOST_HAS_NANOSLEEP" :
+[ run ../has_nanosleep_pass.cpp ]
+[ compile-fail ../has_nanosleep_fail.cpp ] ;
+test-suite "BOOST_HAS_NL_TYPES_H" :
+[ run ../has_nl_types_h_pass.cpp ]
+[ compile-fail ../has_nl_types_h_fail.cpp ] ;
+test-suite "BOOST_HAS_NRVO" :
+[ run ../has_nrvo_pass.cpp ]
+[ compile-fail ../has_nrvo_fail.cpp ] ;
+test-suite "BOOST_HAS_PARTIAL_STD_ALLOCATOR" :
+[ run ../has_part_alloc_pass.cpp ]
+[ compile-fail ../has_part_alloc_fail.cpp ] ;
+test-suite "BOOST_HAS_PTHREAD_DELAY_NP" :
+[ run ../has_pthread_delay_np_pass.cpp ]
+[ compile-fail ../has_pthread_delay_np_fail.cpp ] ;
+test-suite "BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE" :
+[ run ../has_pthread_ma_st_pass.cpp ]
+[ compile-fail ../has_pthread_ma_st_fail.cpp ] ;
+test-suite "BOOST_HAS_PTHREAD_YIELD" :
+[ run ../has_pthread_yield_pass.cpp ]
+[ compile-fail ../has_pthread_yield_fail.cpp ] ;
+test-suite "BOOST_HAS_PTHREADS" :
+[ run ../has_pthreads_pass.cpp ]
+[ compile-fail ../has_pthreads_fail.cpp ] ;
+test-suite "BOOST_HAS_RVALUE_REFS" :
+[ run ../has_rvalue_refs_pass.cpp ]
+[ compile-fail ../has_rvalue_refs_fail.cpp ] ;
+test-suite "BOOST_HAS_SCHED_YIELD" :
+[ run ../has_sched_yield_pass.cpp ]
+[ compile-fail ../has_sched_yield_fail.cpp ] ;
+test-suite "BOOST_HAS_SGI_TYPE_TRAITS" :
+[ run ../has_sgi_type_traits_pass.cpp ]
+[ compile-fail ../has_sgi_type_traits_fail.cpp ] ;
+test-suite "BOOST_HAS_SIGACTION" :
+[ run ../has_sigaction_pass.cpp ]
+[ compile-fail ../has_sigaction_fail.cpp ] ;
+test-suite "BOOST_HAS_SLIST" :
+[ run ../has_slist_pass.cpp ]
+[ compile-fail ../has_slist_fail.cpp ] ;
+test-suite "BOOST_HAS_STATIC_ASSERT" :
+[ run ../has_static_assert_pass.cpp ]
+[ compile-fail ../has_static_assert_fail.cpp ] ;
+test-suite "BOOST_HAS_STDINT_H" :
+[ run ../has_stdint_h_pass.cpp ]
+[ compile-fail ../has_stdint_h_fail.cpp ] ;
+test-suite "BOOST_HAS_STLP_USE_FACET" :
+[ run ../has_stlp_use_facet_pass.cpp ]
+[ compile-fail ../has_stlp_use_facet_fail.cpp ] ;
+test-suite "BOOST_HAS_UNISTD_H" :
+[ run ../has_unistd_h_pass.cpp ]
+[ compile-fail ../has_unistd_h_fail.cpp ] ;
+test-suite "BOOST_HAS_VARIADIC_TMPL" :
+[ run ../has_variadic_tmpl_pass.cpp ]
+[ compile-fail ../has_variadic_tmpl_fail.cpp ] ;
+test-suite "BOOST_MSVC6_MEMBER_TEMPLATES" :
+[ run ../has_vc6_mem_templ_pass.cpp ]
+[ compile-fail ../has_vc6_mem_templ_fail.cpp ] ;
+test-suite "BOOST_MSVC_STD_ITERATOR" :
+[ run ../has_vc_iterator_pass.cpp ]
+[ compile-fail ../has_vc_iterator_fail.cpp ] ;
+test-suite "BOOST_HAS_WINTHREADS" :
+[ run ../has_winthreads_pass.cpp ]
+[ compile-fail ../has_winthreads_fail.cpp ] ;
+test-suite "BOOST_NO_ADL_BARRIER" :
+[ run ../no_adl_barrier_pass.cpp ]
+[ compile-fail ../no_adl_barrier_fail.cpp ] ;
+test-suite "BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP" :
+[ run ../no_arg_dep_lookup_pass.cpp ]
+[ compile-fail ../no_arg_dep_lookup_fail.cpp ] ;
+test-suite "BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS" :
+[ run ../no_array_type_spec_pass.cpp ]
+[ compile-fail ../no_array_type_spec_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_AUTO_DECLARATIONS" :
+[ run ../no_auto_declarations_pass.cpp ]
+[ compile-fail ../no_auto_declarations_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS" :
+[ run ../no_auto_multidecl_pass.cpp ]
+[ compile-fail ../no_auto_multidecl_fail.cpp ] ;
+test-suite "BOOST_NO_AUTO_PTR" :
+[ run ../no_auto_ptr_pass.cpp ]
+[ compile-fail ../no_auto_ptr_fail.cpp ] ;
+test-suite "BOOST_BCB_PARTIAL_SPECIALIZATION_BUG" :
+[ run ../no_bcb_partial_spec_pass.cpp ]
+[ compile-fail ../no_bcb_partial_spec_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_CHAR16_T" :
+[ run ../no_char16_t_pass.cpp ]
+[ compile-fail ../no_char16_t_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_CHAR32_T" :
+[ run ../no_char32_t_pass.cpp ]
+[ compile-fail ../no_char32_t_fail.cpp ] ;
+test-suite "BOOST_NO_COMPLETE_VALUE_INITIALIZATION" :
+[ run ../no_com_value_init_pass.cpp ]
+[ compile-fail ../no_com_value_init_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_CONSTEXPR" :
+[ run ../no_constexpr_pass.cpp ]
+[ compile-fail ../no_constexpr_fail.cpp ] ;
+test-suite "BOOST_NO_CTYPE_FUNCTIONS" :
+[ run ../no_ctype_functions_pass.cpp ]
+[ compile-fail ../no_ctype_functions_fail.cpp ] ;
+test-suite "BOOST_NO_CV_SPECIALIZATIONS" :
+[ run ../no_cv_spec_pass.cpp ]
+[ compile-fail ../no_cv_spec_fail.cpp ] ;
+test-suite "BOOST_NO_CV_VOID_SPECIALIZATIONS" :
+[ run ../no_cv_void_spec_pass.cpp ]
+[ compile-fail ../no_cv_void_spec_fail.cpp ] ;
+test-suite "BOOST_NO_CWCHAR" :
+[ run ../no_cwchar_pass.cpp ]
+[ compile-fail ../no_cwchar_fail.cpp ] ;
+test-suite "BOOST_NO_CWCTYPE" :
+[ run ../no_cwctype_pass.cpp ]
+[ compile-fail ../no_cwctype_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_ADDRESSOF" :
+[ run ../no_cxx11_addressof_pass.cpp ]
+[ compile-fail ../no_cxx11_addressof_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_ALIGNAS" :
+[ run ../no_cxx11_alignas_pass.cpp ]
+[ compile-fail ../no_cxx11_alignas_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_ALLOCATOR" :
+[ run ../no_cxx11_allocator_pass.cpp ]
+[ compile-fail ../no_cxx11_allocator_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_ATOMIC_SMART_PTR" :
+[ run ../no_cxx11_atomic_sp_pass.cpp ]
+[ compile-fail ../no_cxx11_atomic_sp_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_DEFAULTED_MOVES" :
+[ run ../no_cxx11_defaulted_moves_pass.cpp ]
+[ compile-fail ../no_cxx11_defaulted_moves_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_EXCEPTION" :
+[ run ../no_cxx11_exception_pass.cpp ]
+[ compile-fail ../no_cxx11_exception_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_FINAL" :
+[ run ../no_cxx11_final_pass.cpp ]
+[ compile-fail ../no_cxx11_final_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_ARRAY" :
+[ run ../no_cxx11_hdr_array_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_array_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_ATOMIC" :
+[ run ../no_cxx11_hdr_atomic_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_atomic_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_CHRONO" :
+[ run ../no_cxx11_hdr_chrono_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_chrono_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_CODECVT" :
+[ run ../no_cxx11_hdr_codecvt_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_codecvt_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_CONDITION_VARIABLE" :
+[ run ../no_cxx11_hdr_condition_variable_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_condition_variable_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_FORWARD_LIST" :
+[ run ../no_cxx11_hdr_forward_list_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_forward_list_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_FUTURE" :
+[ run ../no_cxx11_hdr_future_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_future_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_INITIALIZER_LIST" :
+[ run ../no_cxx11_hdr_initializer_list_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_initializer_list_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_MUTEX" :
+[ run ../no_cxx11_hdr_mutex_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_mutex_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_RANDOM" :
+[ run ../no_cxx11_hdr_random_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_random_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_RATIO" :
+[ run ../no_cxx11_hdr_ratio_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_ratio_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_REGEX" :
+[ run ../no_cxx11_hdr_regex_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_regex_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_SYSTEM_ERROR" :
+[ run ../no_cxx11_hdr_system_error_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_system_error_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_THREAD" :
+[ run ../no_cxx11_hdr_thread_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_thread_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_TUPLE" :
+[ run ../no_cxx11_hdr_tuple_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_tuple_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_TYPE_TRAITS" :
+[ run ../no_cxx11_hdr_type_traits_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_type_traits_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_TYPEINDEX" :
+[ run ../no_cxx11_hdr_typeindex_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_typeindex_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_UNORDERED_MAP" :
+[ run ../no_cxx11_hdr_unordered_map_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_unordered_map_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_HDR_UNORDERED_SET" :
+[ run ../no_cxx11_hdr_unordered_set_pass.cpp ]
+[ compile-fail ../no_cxx11_hdr_unordered_set_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_INLINE_NAMESPACES" :
+[ run ../no_cxx11_inline_namespaces_pass.cpp ]
+[ compile-fail ../no_cxx11_inline_namespaces_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS" :
+[ run ../no_cxx11_non_pub_def_fun_pass.cpp ]
+[ compile-fail ../no_cxx11_non_pub_def_fun_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_NUMERIC_LIMITS" :
+[ run ../no_cxx11_numeric_limits_pass.cpp ]
+[ compile-fail ../no_cxx11_numeric_limits_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_POINTER_TRAITS" :
+[ run ../no_cxx11_pointer_traits_pass.cpp ]
+[ compile-fail ../no_cxx11_pointer_traits_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_REF_QUALIFIERS" :
+[ run ../no_cxx11_ref_qualifiers_pass.cpp ]
+[ compile-fail ../no_cxx11_ref_qualifiers_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_SFINAE_EXPR" :
+[ run ../no_cxx11_sfinae_expr_pass.cpp ]
+[ compile-fail ../no_cxx11_sfinae_expr_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_SMART_PTR" :
+[ run ../no_cxx11_smart_ptr_pass.cpp ]
+[ compile-fail ../no_cxx11_smart_ptr_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_STD_ALIGN" :
+[ run ../no_cxx11_std_align_pass.cpp ]
+[ compile-fail ../no_cxx11_std_align_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_THREAD_LOCAL" :
+[ run ../no_cxx11_thread_local_pass.cpp ]
+[ compile-fail ../no_cxx11_thread_local_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_TRAILING_RESULT_TYPES" :
+[ run ../no_cxx11_trailing_result_types_pass.cpp ]
+[ compile-fail ../no_cxx11_trailing_result_types_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_USER_DEFINED_LITERALS" :
+[ run ../no_cxx11_user_lit_pass.cpp ]
+[ compile-fail ../no_cxx11_user_lit_fail.cpp ] ;
+test-suite "BOOST_NO_CXX14_BINARY_LITERALS" :
+[ run ../no_cxx14_binary_literals_pass.cpp ]
+[ compile-fail ../no_cxx14_binary_literals_fail.cpp ] ;
+test-suite "BOOST_NO_CXX14_CONSTEXPR" :
+[ run ../no_cxx14_constexpr_pass.cpp ]
+[ compile-fail ../no_cxx14_constexpr_fail.cpp ] ;
+test-suite "BOOST_NO_CXX14_DECLTYPE_AUTO" :
+[ run ../no_cxx14_decltype_auto_pass.cpp ]
+[ compile-fail ../no_cxx14_decltype_auto_fail.cpp ] ;
+test-suite "BOOST_NO_CXX14_DIGIT_SEPARATORS" :
+[ run ../no_cxx14_digit_separator_pass.cpp ]
+[ compile-fail ../no_cxx14_digit_separator_fail.cpp ] ;
+test-suite "BOOST_NO_CXX14_GENERIC_LAMBDAS" :
+[ run ../no_cxx14_generic_lambda_pass.cpp ]
+[ compile-fail ../no_cxx14_generic_lambda_fail.cpp ] ;
+test-suite "BOOST_NO_CXX14_HDR_SHARED_MUTEX" :
+[ run ../no_cxx14_hdr_shared_mutex_pass.cpp ]
+[ compile-fail ../no_cxx14_hdr_shared_mutex_fail.cpp ] ;
+test-suite "BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES" :
+[ run ../no_cxx14_lambda_capture_pass.cpp ]
+[ compile-fail ../no_cxx14_lambda_capture_fail.cpp ] ;
+test-suite "BOOST_NO_CXX14_AGGREGATE_NSDMI" :
+[ run ../no_cxx14_member_init_pass.cpp ]
+[ compile-fail ../no_cxx14_member_init_fail.cpp ] ;
+test-suite "BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION" :
+[ run ../no_cxx14_return_type_ded_pass.cpp ]
+[ compile-fail ../no_cxx14_return_type_ded_fail.cpp ] ;
+test-suite "BOOST_NO_CXX14_STD_EXCHANGE" :
+[ run ../no_cxx14_std_exchange_pass.cpp ]
+[ compile-fail ../no_cxx14_std_exchange_fail.cpp ] ;
+test-suite "BOOST_NO_CXX14_VARIABLE_TEMPLATES" :
+[ run ../no_cxx14_var_templ_pass.cpp ]
+[ compile-fail ../no_cxx14_var_templ_fail.cpp ] ;
+test-suite "BOOST_NO_CXX17_FOLD_EXPRESSIONS" :
+[ run ../no_cxx17_fold_expressions_pass.cpp ]
+[ compile-fail ../no_cxx17_fold_expressions_fail.cpp ] ;
+test-suite "BOOST_NO_CXX17_HDR_OPTIONAL" :
+[ run ../no_cxx17_hdr_optional_pass.cpp ]
+[ compile-fail ../no_cxx17_hdr_optional_fail.cpp ] ;
+test-suite "BOOST_NO_CXX17_HDR_STRING_VIEW" :
+[ run ../no_cxx17_hdr_string_view_pass.cpp ]
+[ compile-fail ../no_cxx17_hdr_string_view_fail.cpp ] ;
+test-suite "BOOST_NO_CXX17_HDR_VARIANT" :
+[ run ../no_cxx17_hdr_variant_pass.cpp ]
+[ compile-fail ../no_cxx17_hdr_variant_fail.cpp ] ;
+test-suite "BOOST_NO_CXX17_IF_CONSTEXPR" :
+[ run ../no_cxx17_if_constexpr_pass.cpp ]
+[ compile-fail ../no_cxx17_if_constexpr_fail.cpp ] ;
+test-suite "BOOST_NO_CXX17_INLINE_VARIABLES" :
+[ run ../no_cxx17_inline_variables_pass.cpp ]
+[ compile-fail ../no_cxx17_inline_variables_fail.cpp ] ;
+test-suite "BOOST_NO_CXX17_ITERATOR_TRAITS" :
+[ run ../no_cxx17_iterator_traits_pass.cpp ]
+[ compile-fail ../no_cxx17_iterator_traits_fail.cpp ] ;
+test-suite "BOOST_NO_CXX17_STD_APPLY" :
+[ run ../no_cxx17_std_apply_pass.cpp ]
+[ compile-fail ../no_cxx17_std_apply_fail.cpp ] ;
+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_CXX17_STRUCTURED_BINDINGS" :
+[ run ../no_cxx17_structured_bindings_pass.cpp ]
+[ compile-fail ../no_cxx17_structured_bindings_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 ] ;
+test-suite "BOOST_NO_CXX11_DECLTYPE" :
+[ run ../no_decltype_pass.cpp ]
+[ compile-fail ../no_decltype_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_DECLTYPE_N3276" :
+[ run ../no_decltype_n3276_pass.cpp ]
+[ compile-fail ../no_decltype_n3276_fail.cpp ] ;
+test-suite "BOOST_DEDUCED_TYPENAME" :
+[ run ../no_ded_typename_pass.cpp ]
+[ compile-fail ../no_ded_typename_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_DEFAULTED_FUNCTIONS" :
+[ run ../no_defaulted_functions_pass.cpp ]
+[ compile-fail ../no_defaulted_functions_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_DELETED_FUNCTIONS" :
+[ run ../no_deleted_functions_pass.cpp ]
+[ compile-fail ../no_deleted_functions_fail.cpp ] ;
+test-suite "BOOST_NO_DEPENDENT_NESTED_DERIVATIONS" :
+[ run ../no_dep_nested_class_pass.cpp ]
+[ compile-fail ../no_dep_nested_class_fail.cpp ] ;
+test-suite "BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS" :
+[ run ../no_dep_val_param_pass.cpp ]
+[ compile-fail ../no_dep_val_param_fail.cpp ] ;
+test-suite "BOOST_NO_EXCEPTION_STD_NAMESPACE" :
+[ run ../no_excep_std_pass.cpp ]
+[ compile-fail ../no_excep_std_fail.cpp ] ;
+test-suite "BOOST_NO_EXCEPTIONS" :
+[ run ../no_exceptions_pass.cpp ]
+[ compile-fail ../no_exceptions_fail.cpp ] ;
+test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" :
+[ run ../no_exp_func_tem_arg_pass.cpp ]
+[ compile-fail ../no_exp_func_tem_arg_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS" :
+[ run ../no_explicit_cvt_ops_pass.cpp ]
+[ compile-fail ../no_explicit_cvt_ops_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_EXTERN_TEMPLATE" :
+[ run ../no_extern_template_pass.cpp ]
+[ compile-fail ../no_extern_template_fail.cpp ] ;
+test-suite "BOOST_NO_FENV_H" :
+[ run ../no_fenv_h_pass.cpp ]
+[ compile-fail ../no_fenv_h_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS" :
+[ run ../no_fixed_len_variadic_templates_pass.cpp ]
+[ compile-fail ../no_fixed_len_variadic_templates_fail.cpp ] ;
+test-suite "BOOST_NO_FUNCTION_TEMPLATE_ORDERING" :
+[ run ../no_func_tmp_order_pass.cpp ]
+[ compile-fail ../no_func_tmp_order_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS" :
+[ run ../no_function_template_default_args_pass.cpp ]
+[ compile-fail ../no_function_template_default_args_fail.cpp ] ;
+test-suite "BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS" :
+[ run ../no_function_type_spec_pass.cpp ]
+[ compile-fail ../no_function_type_spec_fail.cpp ] ;
+test-suite "BOOST_NO_MS_INT64_NUMERIC_LIMITS" :
+[ run ../no_i64_limits_pass.cpp ]
+[ compile-fail ../no_i64_limits_fail.cpp ] ;
+test-suite "BOOST_NO_INCLASS_MEMBER_INITIALIZATION" :
+[ run ../no_inline_memb_init_pass.cpp ]
+[ compile-fail ../no_inline_memb_init_fail.cpp ] ;
+test-suite "BOOST_NO_INTEGRAL_INT64_T" :
+[ run ../no_integral_int64_t_pass.cpp ]
+[ compile-fail ../no_integral_int64_t_fail.cpp ] ;
+test-suite "BOOST_NO_IOSFWD" :
+[ run ../no_iosfwd_pass.cpp ]
+[ compile-fail ../no_iosfwd_fail.cpp ] ;
+test-suite "BOOST_NO_IOSTREAM" :
+[ run ../no_iostream_pass.cpp ]
+[ compile-fail ../no_iostream_fail.cpp ] ;
+test-suite "BOOST_NO_IS_ABSTRACT" :
+[ run ../no_is_abstract_pass.cpp ]
+[ compile-fail ../no_is_abstract_fail.cpp ] ;
+test-suite "BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS" :
+[ run ../no_iter_construct_pass.cpp ]
+[ compile-fail ../no_iter_construct_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_LAMBDAS" :
+[ run ../no_lambdas_pass.cpp ]
+[ compile-fail ../no_lambdas_fail.cpp ] ;
+test-suite "BOOST_NO_LIMITS" :
+[ run ../no_limits_pass.cpp ]
+[ compile-fail ../no_limits_fail.cpp ] ;
+test-suite "BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS" :
+[ run ../no_limits_const_exp_pass.cpp ]
+[ compile-fail ../no_limits_const_exp_fail.cpp ] ;
+test-suite "BOOST_NO_LONG_LONG_NUMERIC_LIMITS" :
+[ run ../no_ll_limits_pass.cpp ]
+[ compile-fail ../no_ll_limits_fail.cpp ] ;
+test-suite "BOOST_NO_LONG_LONG" :
+[ run ../no_long_long_pass.cpp ]
+[ compile-fail ../no_long_long_fail.cpp ] ;
+test-suite "BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS" :
+[ run ../no_mem_func_spec_pass.cpp ]
+[ compile-fail ../no_mem_func_spec_fail.cpp ] ;
+test-suite "BOOST_NO_MEMBER_TEMPLATE_KEYWORD" :
+[ run ../no_mem_tem_keyword_pass.cpp ]
+[ compile-fail ../no_mem_tem_keyword_fail.cpp ] ;
+test-suite "BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS" :
+[ run ../no_mem_tem_pnts_pass.cpp ]
+[ compile-fail ../no_mem_tem_pnts_fail.cpp ] ;
+test-suite "BOOST_NO_MEMBER_TEMPLATE_FRIENDS" :
+[ run ../no_mem_templ_frnds_pass.cpp ]
+[ compile-fail ../no_mem_templ_frnds_fail.cpp ] ;
+test-suite "BOOST_NO_MEMBER_TEMPLATES" :
+[ run ../no_mem_templates_pass.cpp ]
+[ compile-fail ../no_mem_templates_fail.cpp ] ;
+test-suite "BOOST_NO_NESTED_FRIENDSHIP" :
+[ run ../no_nested_friendship_pass.cpp ]
+[ compile-fail ../no_nested_friendship_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_NOEXCEPT" :
+[ run ../no_noexcept_pass.cpp ]
+[ compile-fail ../no_noexcept_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_NULLPTR" :
+[ run ../no_nullptr_pass.cpp ]
+[ compile-fail ../no_nullptr_fail.cpp ] ;
+test-suite "BOOST_NO_OPERATORS_IN_NAMESPACE" :
+[ run ../no_ops_in_namespace_pass.cpp ]
+[ compile-fail ../no_ops_in_namespace_fail.cpp ] ;
+test-suite "BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS" :
+[ run ../no_part_spec_def_args_pass.cpp ]
+[ compile-fail ../no_part_spec_def_args_fail.cpp ] ;
+test-suite "BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION" :
+[ run ../no_partial_spec_pass.cpp ]
+[ compile-fail ../no_partial_spec_fail.cpp ] ;
+test-suite "BOOST_NO_PRIVATE_IN_AGGREGATE" :
+[ run ../no_priv_aggregate_pass.cpp ]
+[ compile-fail ../no_priv_aggregate_fail.cpp ] ;
+test-suite "BOOST_NO_POINTER_TO_MEMBER_CONST" :
+[ run ../no_ptr_mem_const_pass.cpp ]
+[ compile-fail ../no_ptr_mem_const_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_RANGE_BASED_FOR" :
+[ run ../no_range_based_for_pass.cpp ]
+[ compile-fail ../no_range_based_for_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_RAW_LITERALS" :
+[ run ../no_raw_literals_pass.cpp ]
+[ compile-fail ../no_raw_literals_fail.cpp ] ;
+test-suite "BOOST_NO_RESTRICT_REFERENCES" :
+[ run ../no_restrict_references_pass.cpp ]
+[ compile-fail ../no_restrict_references_fail.cpp ] ;
+test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" :
+[ run ../no_ret_det_pass.cpp ]
+[ compile-fail ../no_ret_det_fail.cpp ] ;
+test-suite "BOOST_NO_RTTI" :
+[ run ../no_rtti_pass.cpp ]
+[ compile-fail ../no_rtti_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_RVALUE_REFERENCES" :
+[ run ../no_rvalue_references_pass.cpp ]
+[ compile-fail ../no_rvalue_references_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_SCOPED_ENUMS" :
+[ run ../no_scoped_enums_pass.cpp ]
+[ compile-fail ../no_scoped_enums_fail.cpp ] ;
+test-suite "BOOST_NO_SFINAE" :
+[ run ../no_sfinae_pass.cpp ]
+[ compile-fail ../no_sfinae_fail.cpp ] ;
+test-suite "BOOST_NO_SFINAE_EXPR" :
+[ run ../no_sfinae_expr_pass.cpp ]
+[ compile-fail ../no_sfinae_expr_fail.cpp ] ;
+test-suite "BOOST_NO_STRINGSTREAM" :
+[ run ../no_sstream_pass.cpp ]
+[ compile-fail ../no_sstream_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_STATIC_ASSERT" :
+[ run ../no_static_assert_pass.cpp ]
+[ compile-fail ../no_static_assert_fail.cpp ] ;
+test-suite "BOOST_NO_STD_ALLOCATOR" :
+[ run ../no_std_allocator_pass.cpp ]
+[ compile-fail ../no_std_allocator_fail.cpp ] ;
+test-suite "BOOST_NO_STD_DISTANCE" :
+[ run ../no_std_distance_pass.cpp ]
+[ compile-fail ../no_std_distance_fail.cpp ] ;
+test-suite "BOOST_NO_STD_ITERATOR_TRAITS" :
+[ run ../no_std_iter_traits_pass.cpp ]
+[ compile-fail ../no_std_iter_traits_fail.cpp ] ;
+test-suite "BOOST_NO_STD_ITERATOR" :
+[ run ../no_std_iterator_pass.cpp ]
+[ compile-fail ../no_std_iterator_fail.cpp ] ;
+test-suite "BOOST_NO_STD_LOCALE" :
+[ run ../no_std_locale_pass.cpp ]
+[ compile-fail ../no_std_locale_fail.cpp ] ;
+test-suite "BOOST_NO_STD_MESSAGES" :
+[ run ../no_std_messages_pass.cpp ]
+[ compile-fail ../no_std_messages_fail.cpp ] ;
+test-suite "BOOST_NO_STD_MIN_MAX" :
+[ run ../no_std_min_max_pass.cpp ]
+[ compile-fail ../no_std_min_max_fail.cpp ] ;
+test-suite "BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN" :
+[ run ../no_std_oi_assign_pass.cpp ]
+[ compile-fail ../no_std_oi_assign_fail.cpp ] ;
+test-suite "BOOST_NO_STD_TYPEINFO" :
+[ run ../no_std_typeinfo_pass.cpp ]
+[ compile-fail ../no_std_typeinfo_fail.cpp ] ;
+test-suite "BOOST_NO_STD_USE_FACET" :
+[ run ../no_std_use_facet_pass.cpp ]
+[ compile-fail ../no_std_use_facet_fail.cpp ] ;
+test-suite "BOOST_NO_STD_WSTREAMBUF" :
+[ run ../no_std_wstreambuf_pass.cpp ]
+[ compile-fail ../no_std_wstreambuf_fail.cpp ] ;
+test-suite "BOOST_NO_STD_WSTRING" :
+[ run ../no_std_wstring_pass.cpp ]
+[ compile-fail ../no_std_wstring_fail.cpp ] ;
+test-suite "BOOST_NO_STDC_NAMESPACE" :
+[ run ../no_stdc_namespace_pass.cpp ]
+[ compile-fail ../no_stdc_namespace_fail.cpp ] ;
+test-suite "BOOST_NO_SWPRINTF" :
+[ run ../no_swprintf_pass.cpp ]
+[ compile-fail ../no_swprintf_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS" :
+[ run ../no_tem_local_classes_pass.cpp ]
+[ compile-fail ../no_tem_local_classes_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_TEMPLATE_ALIASES" :
+[ run ../no_template_aliases_pass.cpp ]
+[ compile-fail ../no_template_aliases_fail.cpp ] ;
+test-suite "BOOST_NO_TEMPLATED_IOSTREAMS" :
+[ run ../no_template_streams_pass.cpp ]
+[ compile-fail ../no_template_streams_fail.cpp ] ;
+test-suite "BOOST_NO_TEMPLATE_TEMPLATES" :
+[ run ../no_template_template_pass.cpp ]
+[ compile-fail ../no_template_template_fail.cpp ] ;
+test-suite "BOOST_NO_TWO_PHASE_NAME_LOOKUP" :
+[ run ../no_two_phase_lookup_pass.cpp ]
+[ compile-fail ../no_two_phase_lookup_fail.cpp ] ;
+test-suite "BOOST_NO_TYPEID" :
+[ run ../no_typeid_pass.cpp ]
+[ compile-fail ../no_typeid_fail.cpp ] ;
+test-suite "BOOST_NO_TYPENAME_WITH_CTOR" :
+[ run ../no_typename_with_ctor_pass.cpp ]
+[ compile-fail ../no_typename_with_ctor_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_UNICODE_LITERALS" :
+[ run ../no_unicode_literals_pass.cpp ]
+[ compile-fail ../no_unicode_literals_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX" :
+[ run ../no_unified_init_pass.cpp ]
+[ compile-fail ../no_unified_init_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_UNRESTRICTED_UNION" :
+[ run ../no_cxx11_unrestricted_union_pass.cpp ]
+[ compile-fail ../no_cxx11_unrestricted_union_fail.cpp ] ;
+test-suite "BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL" :
+[ run ../no_using_breaks_adl_pass.cpp ]
+[ compile-fail ../no_using_breaks_adl_fail.cpp ] ;
+test-suite "BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE" :
+[ run ../no_using_decl_overld_pass.cpp ]
+[ compile-fail ../no_using_decl_overld_fail.cpp ] ;
+test-suite "BOOST_NO_USING_TEMPLATE" :
+[ run ../no_using_template_pass.cpp ]
+[ compile-fail ../no_using_template_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_VARIADIC_MACROS" :
+[ run ../no_variadic_macros_pass.cpp ]
+[ compile-fail ../no_variadic_macros_fail.cpp ] ;
+test-suite "BOOST_NO_CXX11_VARIADIC_TEMPLATES" :
+[ run ../no_variadic_templates_pass.cpp ]
+[ compile-fail ../no_variadic_templates_fail.cpp ] ;
+test-suite "BOOST_NO_VOID_RETURNS" :
+[ run ../no_void_returns_pass.cpp ]
+[ compile-fail ../no_void_returns_fail.cpp ] ;
+test-suite "BOOST_NO_INTRINSIC_WCHAR_T" :
+[ run ../no_wchar_t_pass.cpp ]
+[ compile-fail ../no_wchar_t_fail.cpp ] ;
+
diff --git a/src/boost/libs/config/test/all/options_v2.jam b/src/boost/libs/config/test/all/options_v2.jam
new file mode 100644
index 000000000..ac748ef0d
--- /dev/null
+++ b/src/boost/libs/config/test/all/options_v2.jam
@@ -0,0 +1,12 @@
+# copyright John Maddock 2003
+# 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)
+
+project
+ : requirements
+ # threading tests require thread support turned on:
+ <threading>multi
+ ;
+
+local test-requirements = <library>../../test/build//boost_test_exec_monitor ;
diff --git a/src/boost/libs/config/test/boost_fallthrough_test.cpp b/src/boost/libs/config/test/boost_fallthrough_test.cpp
new file mode 100644
index 000000000..44b868952
--- /dev/null
+++ b/src/boost/libs/config/test/boost_fallthrough_test.cpp
@@ -0,0 +1,21 @@
+// (C) Copyright John Maddock 2013.
+// 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)
+
+#include <boost/config.hpp>
+
+int test(int n)
+{
+ switch (n)
+ {
+ case 0:
+ n++;
+ BOOST_FALLTHROUGH;
+ case 1:
+ n++;
+ break;
+ }
+ return n;
+}
+
diff --git a/src/boost/libs/config/test/boost_has_2arg_use_facet.ipp b/src/boost/libs/config/test/boost_has_2arg_use_facet.ipp
new file mode 100644
index 000000000..7ed2b7c16
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_2arg_use_facet.ipp
@@ -0,0 +1,32 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_TWO_ARG_USE_FACET
+// TITLE: two argument version of use_facet
+// DESCRIPTION: The standard library lacks a conforming std::use_facet,
+// but has a two argument version that does the job.
+// This is primarily for the Rogue Wave std lib.
+
+#include <locale>
+
+
+namespace boost_has_two_arg_use_facet{
+
+int test()
+{
+ std::locale l;
+ const std::ctype<char>& ct = std::use_facet(l, (std::ctype<char>*)0);
+ return 0;
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_bethreads.ipp b/src/boost/libs/config/test/boost_has_bethreads.ipp
new file mode 100644
index 000000000..0e01699de
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_bethreads.ipp
@@ -0,0 +1,34 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_BETHREADS
+// TITLE: BeOS Threads
+// DESCRIPTION: The platform supports BeOS style threads.
+
+#include <OS.h>
+
+
+namespace boost_has_bethreads{
+
+int test()
+{
+ sem_id mut = create_sem(1, "test");
+ if(mut > 0)
+ {
+ acquire_sem(mut);
+ release_sem(mut);
+ delete_sem(mut);
+ }
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_clock_gettime.ipp b/src/boost/libs/config/test/boost_has_clock_gettime.ipp
new file mode 100644
index 000000000..59eee5859
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_clock_gettime.ipp
@@ -0,0 +1,35 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_CLOCK_GETTIME
+// TITLE: clock_gettime
+// DESCRIPTION: The platform supports POSIX standard API clock_gettime.
+
+#include <time.h>
+
+
+namespace boost_has_clock_gettime{
+
+void f()
+{
+ // this is never called, it just has to compile:
+ timespec tp;
+ int res = clock_gettime(CLOCK_REALTIME, &tp);
+ (void) &res;
+}
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_detect_mismatch.ipp b/src/boost/libs/config/test/boost_has_detect_mismatch.ipp
new file mode 100644
index 000000000..6430dd466
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_detect_mismatch.ipp
@@ -0,0 +1,25 @@
+// (C) Copyright John Maddock 2018.
+// 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_HAS_PRAGMA_DETECT_MISMATCH
+// TITLE: detect_mismatch pragma
+// DESCRIPTION: The compiler supports #pragma detect_mismatch
+
+#include <cstdlib>
+
+
+namespace boost_has_pragma_detect_mismatch {
+
+# pragma detect_mismatch("Boost_Config", "1")
+
+int test()
+{
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_has_dirent_h.ipp b/src/boost/libs/config/test/boost_has_dirent_h.ipp
new file mode 100644
index 000000000..5d6020202
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_dirent_h.ipp
@@ -0,0 +1,30 @@
+// (C) Copyright John Maddock 2002.
+// 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_HAS_DIRENT_H
+// TITLE: <dirent.h>
+// DESCRIPTION: The platform has an <dirent.h>.
+
+#include <dirent.h>
+
+
+namespace boost_has_dirent_h{
+
+int test()
+{
+ DIR* pd = opendir("foobar");
+ if(pd) closedir(pd);
+ return 0;
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_expm1.ipp b/src/boost/libs/config/test/boost_has_expm1.ipp
new file mode 100644
index 000000000..b219d50f1
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_expm1.ipp
@@ -0,0 +1,25 @@
+// (C) Copyright John Maddock 2005.
+// 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_HAS_EXPM1
+// TITLE: expm1
+// DESCRIPTION: The std lib has a C99-conforming expm1 function.
+
+#include <math.h>
+
+namespace boost_has_expm1{
+
+int test()
+{
+ double x = 0.5;
+ x = ::expm1(x);
+ (void)x;
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_has_float128.ipp b/src/boost/libs/config/test/boost_has_float128.ipp
new file mode 100644
index 000000000..80b211c14
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_float128.ipp
@@ -0,0 +1,29 @@
+// (C) Copyright John Maddock 2012.
+// 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_HAS_FLOAT128
+// TITLE: __float128
+// DESCRIPTION: The platform supports __float128.
+
+#include <cstdlib>
+
+
+namespace boost_has_float128{
+
+int test()
+{
+#ifdef __GNUC__
+ __extension__ __float128 big_float = 0.0Q;
+#else
+ __float128 big_float = 0.0Q;
+#endif
+ (void)&big_float;
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_has_ftime.ipp b/src/boost/libs/config/test/boost_has_ftime.ipp
new file mode 100644
index 000000000..ff04baf9e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_ftime.ipp
@@ -0,0 +1,32 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_FTIME
+// TITLE: The platform has FTIME.
+// DESCRIPTION: The platform supports the Win32 API type FTIME.
+
+#include <windows.h>
+
+
+namespace boost_has_ftime{
+
+void f(FILETIME)
+{
+ // this is never called, it just has to compile:
+}
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_getsystemtimeasfiletime.ipp b/src/boost/libs/config/test/boost_has_getsystemtimeasfiletime.ipp
new file mode 100644
index 000000000..d9b7e1c95
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_getsystemtimeasfiletime.ipp
@@ -0,0 +1,30 @@
+// (C) Copyright John Maddock 2011.
+// 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_HAS_GETSYSTEMTIMEASFILETIME
+// TITLE: GetSystemTimeAsFileTime
+// DESCRIPTION: The platform supports Win32 API GetSystemTimeAsFileTime.
+
+#include <windows.h>
+
+
+namespace boost_has_getsystemtimeasfiletime{
+
+void f()
+{
+ // this is never called, it just has to compile:
+ FILETIME ft;
+ GetSystemTimeAsFileTime(&ft);
+}
+
+int test()
+{
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_has_gettimeofday.ipp b/src/boost/libs/config/test/boost_has_gettimeofday.ipp
new file mode 100644
index 000000000..d79186a9b
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_gettimeofday.ipp
@@ -0,0 +1,35 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_GETTIMEOFDAY
+// TITLE: gettimeofday
+// DESCRIPTION: The platform supports POSIX standard API gettimeofday.
+
+#include <sys/time.h>
+
+
+namespace boost_has_gettimeofday{
+
+void f()
+{
+ // this is never called, it just has to compile:
+ timeval tp;
+ int res = gettimeofday(&tp, 0);
+ (void) &res;
+}
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_hash.ipp b/src/boost/libs/config/test/boost_has_hash.ipp
new file mode 100644
index 000000000..0363940d2
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_hash.ipp
@@ -0,0 +1,68 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_HASH
+// TITLE: <hashset> and <hashmap>
+// DESCRIPTION: The C++ implementation provides the (SGI) hash_set
+// or hash_map classes.
+
+#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0
+# ifdef BOOST_NO_CXX11_STD_UNORDERED
+# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
+# define _BACKWARD_BACKWARD_WARNING_H 1 /* turn off warnings from the headers below */
+# include <ext/hash_set>
+# include <ext/hash_map>
+# else
+ // If we have BOOST_NO_CXX11_STD_UNORDERED *not* defined, then we must
+ // not include the <ext/*> headers as they clash with the C++0x
+ // headers. ie in any given translation unit we can include one
+ // or the other, but not both.
+# define DISABLE_BOOST_HAS_HASH_TEST
+# endif
+#else
+#include <hash_set>
+#include <hash_map>
+#endif
+
+#ifndef BOOST_STD_EXTENSION_NAMESPACE
+#define BOOST_STD_EXTENSION_NAMESPACE std
+#endif
+
+namespace boost_has_hash{
+
+#ifndef DISABLE_BOOST_HAS_HASH_TEST
+
+template <class Key, class Eq, class Hash, class Alloc>
+void foo(const BOOST_STD_EXTENSION_NAMESPACE::hash_set<Key,Eq,Hash,Alloc>& )
+{
+}
+
+template <class Key, class T, class Eq, class Hash, class Alloc>
+void foo(const BOOST_STD_EXTENSION_NAMESPACE::hash_map<Key,T,Eq,Hash,Alloc>& )
+{
+}
+
+#endif
+
+int test()
+{
+#ifndef DISABLE_BOOST_HAS_HASH_TEST
+ BOOST_STD_EXTENSION_NAMESPACE::hash_set<int> hs;
+ foo(hs);
+ BOOST_STD_EXTENSION_NAMESPACE::hash_map<int, long> hm;
+ foo(hm);
+#endif
+ return 0;
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_int128.ipp b/src/boost/libs/config/test/boost_has_int128.ipp
new file mode 100644
index 000000000..b7e10a40c
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_int128.ipp
@@ -0,0 +1,75 @@
+// (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)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_HAS_INT128
+// TITLE: __int128
+// DESCRIPTION: The platform supports __int128.
+
+#include <cstdlib>
+#include <stdio.h>
+#include <limits.h>
+
+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()
+{
+ 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<unsigned long>((g_ui128 >> 92) & 0xFFFFFFFFUL);
+ g_ul -= 1216382273UL;
+ if (g_ul != 0)
+ {
+ fputs("Incorrect computation result.", stderr);
+ return 1;
+ }
+
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_log1p.ipp b/src/boost/libs/config/test/boost_has_log1p.ipp
new file mode 100644
index 000000000..9454d00be
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_log1p.ipp
@@ -0,0 +1,24 @@
+// (C) Copyright John Maddock 2005.
+// 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_HAS_LOG1P
+// TITLE: log1p
+// DESCRIPTION: The std lib has a C99-conforming log1p function.
+
+#include <math.h>
+
+namespace boost_has_log1p{
+
+int test()
+{
+ double x = 0.5;
+ x = ::log1p(x);
+ (void)x;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_has_long_long.ipp b/src/boost/libs/config/test/boost_has_long_long.ipp
new file mode 100644
index 000000000..651021b49
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_long_long.ipp
@@ -0,0 +1,36 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_LONG_LONG
+// TITLE: long long
+// DESCRIPTION: The platform supports long long.
+
+#include <cstdlib>
+
+
+namespace boost_has_long_long{
+
+int test()
+{
+#ifdef __GNUC__
+ __extension__ long long lli = 0LL;
+ __extension__ unsigned long long ulli = 0uLL;
+#else
+ long long lli = 0LL;
+ unsigned long long ulli = 0uLL;
+#endif
+ (void)&lli;
+ (void)&ulli;
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_macro_use_facet.ipp b/src/boost/libs/config/test/boost_has_macro_use_facet.ipp
new file mode 100644
index 000000000..0e0726df4
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_macro_use_facet.ipp
@@ -0,0 +1,35 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_MACRO_USE_FACET
+// TITLE: macro version of use_facet: _USE
+// DESCRIPTION: The standard library lacks a conforming std::use_facet,
+// but has a macro _USE(loc, Type) that does the job.
+// This is primarily for the Dinkumware std lib.
+
+#include <locale>
+
+#ifndef _USE
+#error "macro _USE not defined"
+#endif
+
+namespace boost_has_macro_use_facet{
+
+int test()
+{
+ std::locale l;
+ const std::ctype<char>& ct = std::_USE(l, std::ctype<char>);
+ return 0;
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_ms_int64.ipp b/src/boost/libs/config/test/boost_has_ms_int64.ipp
new file mode 100644
index 000000000..c8b47826b
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_ms_int64.ipp
@@ -0,0 +1,32 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_MS_INT64
+// TITLE: __int64
+// DESCRIPTION: The platform supports Microsoft style __int64.
+
+#include <cstdlib>
+
+
+namespace boost_has_ms_int64{
+
+int test()
+{
+ __int64 lli = 0i64;
+ unsigned __int64 ulli = 0ui64;
+ (void)lli;
+ (void)ulli;
+ return 0;
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_nanosleep.ipp b/src/boost/libs/config/test/boost_has_nanosleep.ipp
new file mode 100644
index 000000000..9262c8cf5
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_nanosleep.ipp
@@ -0,0 +1,36 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_NANOSLEEP
+// TITLE: nanosleep
+// DESCRIPTION: The platform supports POSIX API nanosleep.
+
+#include <time.h>
+
+
+namespace boost_has_nanosleep{
+
+void f()
+{
+ // this is never called, it just has to compile:
+ timespec ts = {0, 0};
+ timespec rm;
+ int res = nanosleep(&ts, &rm);
+ (void) &res;
+}
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_nl_types_h.ipp b/src/boost/libs/config/test/boost_has_nl_types_h.ipp
new file mode 100644
index 000000000..e23f0a21e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_nl_types_h.ipp
@@ -0,0 +1,29 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_NL_TYPES_H
+// TITLE: <nl_types.h>
+// DESCRIPTION: The platform has an <nl_types.h>.
+
+#include <nl_types.h>
+
+
+namespace boost_has_nl_types_h{
+
+int test()
+{
+ nl_catd cat = catopen("foo", 0);
+ if(cat != (nl_catd)-1) catclose(cat);
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_nrvo.ipp b/src/boost/libs/config/test/boost_has_nrvo.ipp
new file mode 100644
index 000000000..ad6f17f6f
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_nrvo.ipp
@@ -0,0 +1,57 @@
+// (C) Copyright Terje Slettebo 2001.
+// (C) Copyright John Maddock 2001.
+// 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_HAS_NRVO
+// TITLE: Named return value optimisation.
+// DESCRIPTION: Named return value optimisation.
+
+
+namespace boost_has_nrvo
+{
+
+class test_class
+{
+public:
+ test_class() {}
+ test_class(const test_class&)
+ {
+ ++copy_count;
+ }
+
+ static int copy_count;
+};
+
+int test_class::copy_count;
+
+test_class f()
+{
+ test_class nrv;
+
+ return nrv;
+}
+
+int test()
+{
+ test_class::copy_count=0;
+
+ f();
+
+ return test_class::copy_count;
+}
+
+} // namespace boost_has_nrvo
+
+
+
+
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_part_alloc.ipp b/src/boost/libs/config/test/boost_has_part_alloc.ipp
new file mode 100644
index 000000000..fac5fed4e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_part_alloc.ipp
@@ -0,0 +1,67 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_PARTIAL_STD_ALLOCATOR
+// TITLE: limited std::allocator support
+// DESCRIPTION: The std lib has at least some kind of stanfard allocator
+// with allocate/deallocate members and probably not much more.
+
+#include <memory>
+
+#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
+# define BOOST_UNUSED_ATTRIBUTE __attribute__((unused))
+#else
+# define BOOST_UNUSED_ATTRIBUTE
+#endif
+
+namespace boost_has_partial_std_allocator{
+
+//
+// test everything except rebind template members:
+//
+
+template <class T>
+int test_allocator(const T& i)
+{
+ typedef std::allocator<int> alloc1_t;
+#if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
+ typedef typename alloc1_t::size_type size_type;
+ typedef typename alloc1_t::difference_type difference_type BOOST_UNUSED_ATTRIBUTE;
+ typedef typename alloc1_t::pointer pointer;
+ typedef typename alloc1_t::const_pointer const_pointer;
+ typedef typename alloc1_t::reference reference;
+ typedef typename alloc1_t::const_reference const_reference;
+ typedef typename alloc1_t::value_type value_type BOOST_UNUSED_ATTRIBUTE;
+#endif
+ alloc1_t a1;
+ (void)i;
+#if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
+ pointer p = a1.allocate(1);
+ const_pointer cp = p;
+ a1.construct(p,i);
+ size_type s = a1.max_size();
+ (void)s;
+ reference r = *p;
+ const_reference cr = *cp;
+ if(p != a1.address(r)) return -1;
+ if(cp != a1.address(cr)) return -1;
+ a1.destroy(p);
+ a1.deallocate(p,1);
+#endif
+ return 0;
+}
+
+
+int test()
+{
+ return test_allocator(0);
+}
+
+}
+
+#undef BOOST_UNUSED_ATTRIBUTE
+
diff --git a/src/boost/libs/config/test/boost_has_pthread_delay_np.ipp b/src/boost/libs/config/test/boost_has_pthread_delay_np.ipp
new file mode 100644
index 000000000..294d3db5b
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_pthread_delay_np.ipp
@@ -0,0 +1,35 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_PTHREAD_DELAY_NP
+// TITLE: pthread_delay_np
+// DESCRIPTION: The platform supports non-standard pthread_delay_np API.
+
+#include <pthread.h>
+#include <time.h>
+
+
+namespace boost_has_pthread_delay_np{
+
+void f()
+{
+ // this is never called, it just has to compile:
+ timespec ts;
+ int res = pthread_delay_np(&ts);
+}
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_pthread_ma_st.ipp b/src/boost/libs/config/test/boost_has_pthread_ma_st.ipp
new file mode 100644
index 000000000..0e985f2d8
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_pthread_ma_st.ipp
@@ -0,0 +1,37 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_PTHREAD_MUTEXATTR_SETTYPE
+// TITLE: pthread_mutexattr_settype
+// DESCRIPTION: The platform supports POSIX API pthread_mutexattr_settype.
+
+#include <pthread.h>
+
+
+namespace boost_has_pthread_mutexattr_settype{
+
+void f()
+{
+ // this is never called, it just has to compile:
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_init(&attr);
+ int type = 0;
+ pthread_mutexattr_settype(&attr, type);
+}
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_pthread_yield.ipp b/src/boost/libs/config/test/boost_has_pthread_yield.ipp
new file mode 100644
index 000000000..37046d325
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_pthread_yield.ipp
@@ -0,0 +1,34 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_PTHREAD_YIELD
+// TITLE: pthread_yield
+// DESCRIPTION: The platform supports non standard API pthread_yield.
+
+#include <pthread.h>
+
+
+namespace boost_has_pthread_yield{
+
+void f()
+{
+ // this is never called, it just has to compile:
+ int res = pthread_yield();
+ (void)res;
+}
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_pthreads.ipp b/src/boost/libs/config/test/boost_has_pthreads.ipp
new file mode 100644
index 000000000..eeeff65fe
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_pthreads.ipp
@@ -0,0 +1,64 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_PTHREADS
+// TITLE: POSIX Threads
+// DESCRIPTION: The platform supports POSIX style threads.
+
+#include <pthread.h>
+
+
+namespace boost_has_pthreads{
+
+extern "C" void* thread_proc(void* arg)
+{
+ return arg;
+}
+
+int test()
+{
+ pthread_mutex_t mut;
+ int result = pthread_mutex_init(&mut, 0);
+ if(0 == result)
+ {
+ //
+ // Failure to be able to create and use a mutex
+ // is always a failure, even if the pthread
+ // library is just a non-functioning stub.
+ //
+ result |= pthread_mutex_lock(&mut);
+ result |= pthread_mutex_unlock(&mut);
+ result |= pthread_mutex_trylock(&mut);
+ result |= pthread_mutex_unlock(&mut);
+ result |= pthread_mutex_destroy(&mut);
+ //
+ // Try and create a thread, this is allowed
+ // to fail, in case we are linking to a pthread
+ // "stub" library.
+ //
+ pthread_t t;
+ int r = pthread_create(&t, 0, &thread_proc, 0);
+ // result |= r;
+ if(r == 0)
+ {
+ //
+ // If we can create a thread, then we must be able to join to it:
+ //
+ void* arg;
+ r = pthread_join(t, &arg);
+ result |= r;
+ }
+ }
+ return result;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_rvalue_refs.ipp b/src/boost/libs/config/test/boost_has_rvalue_refs.ipp
new file mode 100644
index 000000000..f0ce174d7
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_rvalue_refs.ipp
@@ -0,0 +1,26 @@
+// Copyright (C) 2007 Douglas Gregor
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_HAS_RVALUE_REFS
+// TITLE: rvalue references
+// DESCRIPTION: The compiler supports C++0x rvalue references
+
+namespace boost_has_rvalue_refs {
+
+void g(int&) {}
+
+template<typename F, typename T>
+void forward(F f, T&& t) { f(static_cast<T&&>(t)); }
+
+int test()
+{
+ int x;
+ forward(g, x);
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_has_sched_yield.ipp b/src/boost/libs/config/test/boost_has_sched_yield.ipp
new file mode 100644
index 000000000..1302fbff2
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_sched_yield.ipp
@@ -0,0 +1,34 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_SCHED_YIELD
+// TITLE: sched_yield
+// DESCRIPTION: The platform supports POSIX standard API sched_yield.
+
+#include <pthread.h>
+
+
+namespace boost_has_sched_yield{
+
+void f()
+{
+ // this is never called, it just has to compile:
+ int res = sched_yield();
+ (void) &res;
+}
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_sgi_type_traits.ipp b/src/boost/libs/config/test/boost_has_sgi_type_traits.ipp
new file mode 100644
index 000000000..5848b68f5
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_sgi_type_traits.ipp
@@ -0,0 +1,40 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_SGI_TYPE_TRAITS
+// TITLE: SGI style <type_traits.h>
+// DESCRIPTION: The standard library has it's own type_traits implementation.
+
+#include <type_traits.h>
+
+
+namespace boost_has_sgi_type_traits{
+
+struct foo_type{};
+
+int test()
+{
+ ::__true_type t;
+ ::__false_type f;
+ typedef ::__type_traits<int>::has_trivial_destructor td;
+ typedef ::__type_traits<double>::has_trivial_assignment_operator ta;
+ typedef ::__type_traits<float>::has_trivial_copy_constructor tc;
+ typedef ::__type_traits<char>::has_trivial_default_constructor tdc;
+ typedef ::__type_traits<foo_type>::is_POD_type isp;
+
+ (void) &t; // avoid "unused variable" warnings
+ (void) &f;
+
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_sigaction.ipp b/src/boost/libs/config/test/boost_has_sigaction.ipp
new file mode 100644
index 000000000..12170c1da
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_sigaction.ipp
@@ -0,0 +1,36 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_SIGACTION
+// TITLE: sigaction
+// DESCRIPTION: The platform supports POSIX standard API sigaction.
+
+#include <signal.h>
+
+
+namespace boost_has_sigaction{
+
+void f()
+{
+ // this is never called, it just has to compile:
+ struct sigaction* sa1 = 0 ;
+ struct sigaction* sa2 = 0 ;
+ int res = sigaction(0, sa1, sa2);
+ (void) &res;
+}
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_slist.ipp b/src/boost/libs/config/test/boost_has_slist.ipp
new file mode 100644
index 000000000..f3c37d4c2
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_slist.ipp
@@ -0,0 +1,44 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_SLIST
+// TITLE: <slist>
+// DESCRIPTION: The C++ implementation provides the (SGI) slist class.
+
+#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0
+# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
+#include <ext/slist>
+#else
+#include <slist>
+#endif
+
+#ifndef BOOST_STD_EXTENSION_NAMESPACE
+#define BOOST_STD_EXTENSION_NAMESPACE std
+#endif
+
+namespace boost_has_slist{
+
+template <class T, class Alloc>
+void foo(const BOOST_STD_EXTENSION_NAMESPACE::slist<T,Alloc>& )
+{
+}
+
+
+int test()
+{
+ BOOST_STD_EXTENSION_NAMESPACE::slist<int> l;
+ foo(l);
+ return 0;
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_static_assert.ipp b/src/boost/libs/config/test/boost_has_static_assert.ipp
new file mode 100644
index 000000000..545938a0e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_static_assert.ipp
@@ -0,0 +1,20 @@
+// Copyright (C) 2007 Douglas Gregor
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_HAS_STATIC_ASSERT
+// TITLE: static assertions
+// DESCRIPTION: The compiler supports C++0x static assertions
+
+namespace boost_has_static_assert {
+
+int test()
+{
+ static_assert(true, "OK");
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_has_stdint_h.ipp b/src/boost/libs/config/test/boost_has_stdint_h.ipp
new file mode 100644
index 000000000..c731f503f
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_stdint_h.ipp
@@ -0,0 +1,48 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_STDINT_H
+// TITLE: stdint.h
+// DESCRIPTION: There are no 1998 C++ Standard headers <stdint.h>
+// or <cstdint>, although the 1999 C Standard does
+// include <stdint.h>.
+// If <stdint.h> is present, <boost/stdint.h> can make
+// good use of it, so a flag is supplied (signalling
+// presence; thus the default is not present, conforming
+// to the current C++ standard).
+
+# if defined(__hpux) || defined(__FreeBSD__) || defined(__IBMCPP__)
+# include <inttypes.h>
+# else
+# include <stdint.h>
+# endif
+
+namespace boost_has_stdint_h{
+
+int test()
+{
+ int8_t i = 0;
+#ifndef __QNX__
+ // QNX has these under non-standard names, our cstdint.hpp will find them however:
+ int_fast8_t j = 0;
+ int_least8_t k = 0;
+ (void)j;
+ (void)k;
+#endif
+ (void)i;
+
+ return 0;
+}
+
+}
+
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_stlp_use_facet.ipp b/src/boost/libs/config/test/boost_has_stlp_use_facet.ipp
new file mode 100644
index 000000000..5b61b7412
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_stlp_use_facet.ipp
@@ -0,0 +1,31 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_STLP_USE_FACET
+// TITLE: STLport version of use_facet
+// DESCRIPTION: The standard library lacks a conforming std::use_facet,
+// but has a workaound class-version that does the job.
+// This is primarily for the STLport std lib.
+
+#include <locale>
+
+
+namespace boost_has_stlp_use_facet{
+
+int test()
+{
+ std::locale l;
+ const std::ctype<char>& ct = *std::_Use_facet<std::ctype<char> >(l);
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_unistd_h.ipp b/src/boost/libs/config/test/boost_has_unistd_h.ipp
new file mode 100644
index 000000000..b082c4fee
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_unistd_h.ipp
@@ -0,0 +1,26 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_UNISTD_H
+// TITLE: <unistd.h>
+// DESCRIPTION: The Platform provides <unistd.h>.
+
+#include <unistd.h>
+
+namespace boost_has_unistd_h{
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_variadic_tmpl.ipp b/src/boost/libs/config/test/boost_has_variadic_tmpl.ipp
new file mode 100644
index 000000000..539c512a9
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_variadic_tmpl.ipp
@@ -0,0 +1,21 @@
+// Copyright (C) 2007 Douglas Gregor
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_HAS_VARIADIC_TMPL
+// TITLE: variadic templates
+// DESCRIPTION: The compiler supports C++0x variadic templates
+
+namespace boost_has_variadic_tmpl {
+
+template<typename... Elements> struct tuple {};
+
+int test()
+{
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_has_vc6_mem_templ.ipp b/src/boost/libs/config/test/boost_has_vc6_mem_templ.ipp
new file mode 100644
index 000000000..fbce17094
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_vc6_mem_templ.ipp
@@ -0,0 +1,58 @@
+// (C) Copyright John Maddock 2001.
+// 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_MSVC6_MEMBER_TEMPLATES
+// TITLE: microsoft member templates
+// DESCRIPTION: Microsoft Visual C++ 6.0 has enough member
+// template idiosyncrasies (being polite) that
+// BOOST_NO_MEMBER_TEMPLATES is defined for this compiler.
+// BOOST_MSVC6_MEMBER_TEMPLATES is defined to allow
+// compiler specific workarounds.
+#ifndef BOOST_NESTED_TEMPLATE
+#define BOOST_NESTED_TEMPLATE template
+#endif
+
+namespace boost_msvc6_member_templates{
+
+template <class T>
+struct foo
+{
+ template <class U>
+ struct nested
+ {
+ typedef foo<U> other;
+ };
+ template <class U>
+ void mfoo(const U&)
+ {
+ }
+};
+
+template <class T>
+void vc6_mem_test(T i)
+{
+ foo<double> f1;
+ typedef foo<T> ifoo;
+ f1.mfoo(i);
+ typedef typename ifoo::BOOST_NESTED_TEMPLATE nested<double> bound_t;
+ typedef typename bound_t::other other;
+ other o;
+ (void)o;
+}
+
+int test()
+{
+ int i = 0;
+ vc6_mem_test(i);
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_vc_iterator.ipp b/src/boost/libs/config/test/boost_has_vc_iterator.ipp
new file mode 100644
index 000000000..e2fd5a6b4
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_vc_iterator.ipp
@@ -0,0 +1,40 @@
+// (C) Copyright John Maddock 2001.
+// 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_MSVC_STD_ITERATOR
+// TITLE: microsoft's version of std::iterator
+// DESCRIPTION: Microsoft's broken version of std::iterator
+// is being used.
+
+#include <iterator>
+
+namespace boost_msvc_std_iterator{
+
+int test()
+{
+ typedef std::iterator<
+ std::random_access_iterator_tag,
+ int
+ > iterator_type_2;
+ typedef std::reverse_iterator<const char*, const char> r_it;
+
+ iterator_type_2::value_type v2 = 0;
+ iterator_type_2::iterator_category cat2;
+ //
+ // suppress some warnings:
+ //
+ (void)v2;
+ (void)cat2;
+
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_has_winthreads.ipp b/src/boost/libs/config/test/boost_has_winthreads.ipp
new file mode 100644
index 000000000..28ebff0c0
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_winthreads.ipp
@@ -0,0 +1,34 @@
+// (C) Copyright John Maddock 2001.
+// 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_HAS_WINTHREADS
+// TITLE: MS Windows threads
+// DESCRIPTION: The platform supports MS Windows style threads.
+
+#include <windows.h>
+
+
+namespace boost_has_winthreads{
+
+int test()
+{
+ HANDLE h = CreateMutex(0, 0, 0);
+ if(h != NULL)
+ {
+ WaitForSingleObject(h, INFINITE);
+ ReleaseMutex(h);
+ CloseHandle(h);
+ }
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_adl_barrier.ipp b/src/boost/libs/config/test/boost_no_adl_barrier.ipp
new file mode 100644
index 000000000..4065df096
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_adl_barrier.ipp
@@ -0,0 +1,38 @@
+// (C) Copyright John Maddock 2008.
+// 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_ADL_BARRIER
+// TITLE: Working ADL barriers.
+// DESCRIPTION: If the compiler correctly handles ADL.
+
+namespace boost_no_adl_barrier{
+
+namespace xxx {
+ namespace nested {
+ struct aaa {};
+ }
+ void begin(nested::aaa) {}
+}
+
+namespace nnn {
+ void begin(xxx::nested::aaa) {}
+}
+
+int test()
+{
+ using namespace nnn;
+ xxx::nested::aaa a;
+ begin(a); // ambiguous error in msvc-9.0
+
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_arg_dep_lookup.ipp b/src/boost/libs/config/test/boost_no_arg_dep_lookup.ipp
new file mode 100644
index 000000000..d934d44aa
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_arg_dep_lookup.ipp
@@ -0,0 +1,37 @@
+// (C) Copyright John Maddock 2001.
+// 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_ARGUMENT_DEPENDENT_LOOKUP
+// TITLE: Koenig lookup
+// DESCRIPTION: Compiler does not implement
+// argument-dependent lookup (also named Koenig lookup);
+// see std::3.4.2 [basic.koenig.lookup]
+
+
+namespace boost_no_argument_dependent_lookup{
+
+namespace foobar{
+
+struct test{};
+
+void call_test(const test&)
+{}
+
+}
+
+int test()
+{
+ foobar::test t;
+ call_test(t);
+ return 0;
+}
+
+
+}
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_array_type_spec.ipp b/src/boost/libs/config/test/boost_no_array_type_spec.ipp
new file mode 100644
index 000000000..3048669a5
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_array_type_spec.ipp
@@ -0,0 +1,30 @@
+// (C) Copyright John Maddock 2001.
+// (C) Copyright Aleksey Gurtovoy 2003.
+// 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_ARRAY_TYPE_SPECIALIZATIONS
+// TITLE: template specialisations of array types
+// DESCRIPTION: If the compiler cannot handle template specialisations
+// for array types
+
+
+namespace boost_no_array_type_specializations{
+
+template< typename T > struct is_array
+{
+};
+
+template< typename T, int N > struct is_array< T[N] >
+{
+};
+
+int test()
+{
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_auto_declarations.ipp b/src/boost/libs/config/test/boost_no_auto_declarations.ipp
new file mode 100644
index 000000000..fa2fe268b
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_auto_declarations.ipp
@@ -0,0 +1,26 @@
+// 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)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX11_AUTO_DECLARATIONS
+// TITLE: C++0x auto declarators unavailable
+// DESCRIPTION: The compiler does not support C++0x declarations of variables with automatically deduced type
+
+namespace boost_no_cxx11_auto_declarations {
+
+void check_f(short&)
+{
+}
+
+int test()
+{
+ auto x = static_cast<short>(10);
+ check_f(x);
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_auto_multidecl.ipp b/src/boost/libs/config/test/boost_no_auto_multidecl.ipp
new file mode 100644
index 000000000..c55791d2e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_auto_multidecl.ipp
@@ -0,0 +1,26 @@
+// 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)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+// TITLE: C++0x auto multideclarators unavailable
+// DESCRIPTION: The compiler does not support C++0x declarations of series of variables with automatically deduced type
+
+namespace boost_no_cxx11_auto_multideclarations {
+
+void check_f(short&, short*&)
+{
+}
+
+int test()
+{
+ auto x = static_cast<short>(10), *y = &x;
+ check_f(x, y);
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_auto_ptr.ipp b/src/boost/libs/config/test/boost_no_auto_ptr.ipp
new file mode 100644
index 000000000..c86669cd6
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_auto_ptr.ipp
@@ -0,0 +1,53 @@
+// (C) Copyright John Maddock 2001.
+// 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_AUTO_PTR
+// TITLE: std::auto_ptr
+// DESCRIPTION: If the compiler / library supplies non-standard or broken
+// std::auto_ptr.
+
+#include <memory>
+
+namespace boost_no_auto_ptr{
+
+template <class T>
+class my_ptr
+{
+ T* p;
+public:
+ my_ptr(std::auto_ptr<T>& r)
+ {
+ p = r.release();
+ }
+ my_ptr& operator=(std::auto_ptr<T>& r)
+ {
+ delete p;
+ p = r.release();
+ return *this;
+ }
+ ~my_ptr()
+ {
+ delete p;
+ }
+};
+
+
+int test()
+{
+ std::auto_ptr<int> ap1(new int);
+ my_ptr<int> mp(ap1);
+ std::auto_ptr<int> ap2(new int);
+ mp = ap2;
+
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_bcb_partial_spec.ipp b/src/boost/libs/config/test/boost_no_bcb_partial_spec.ipp
new file mode 100644
index 000000000..e78877c8e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_bcb_partial_spec.ipp
@@ -0,0 +1,53 @@
+// (C) Copyright Terje Slettebo 2002.
+// 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)
+
+
+// MACRO: BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
+// TITLE: Full partial specialization support.
+// DESCRIPTION: Borland C++ Builder has some rather specific partial
+// specialisation bugs which this code tests for.
+
+
+#include <vector>
+
+namespace boost_bcb_partial_specialization_bug{
+
+
+template<class T1,class T2>
+class Test
+{
+};
+
+template<class T1,class T2>
+class Test<std::vector<T1>,T2>
+{
+};
+
+template<class T>
+class Test<std::vector<int>,T>
+{
+};
+
+template <class T>
+struct is_const{};
+template <class T>
+struct is_const<T const>{};
+
+int test()
+{
+ Test<std::vector<int>,double> v;
+ is_const<const int> ci;
+ (void)v; // warning suppression
+ (void)ci;
+ return 0;
+}
+
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_char16_t.ipp b/src/boost/libs/config/test/boost_no_char16_t.ipp
new file mode 100644
index 000000000..4efff95e6
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_char16_t.ipp
@@ -0,0 +1,32 @@
+
+// (C) Copyright Beman Dawes 2008
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_CHAR16_T
+// TITLE: C++0x char16_t unavailable
+// DESCRIPTION: The compiler does not support C++0x char16_t
+
+namespace boost_no_cxx11_char16_t {
+
+// Microsoft VC++ 2010, and possibly other compilers, provides
+// a typedef for char16_t rather than a new type. We want that
+// to be an error, so provide an overloaded function that will
+// be ambiguous if char16_t is just a typedef.
+void f(const char16_t*){}
+void f(const unsigned short*){}
+void f(const unsigned int*){}
+void f(const unsigned long*){}
+
+int test()
+{
+ const char16_t p(0);
+ f(&p);
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_char32_t.ipp b/src/boost/libs/config/test/boost_no_char32_t.ipp
new file mode 100644
index 000000000..9778bff03
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_char32_t.ipp
@@ -0,0 +1,31 @@
+// (C) Copyright Beman Dawes 2008
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_CHAR32_T
+// TITLE: C++0x char32_t unavailable
+// DESCRIPTION: The compiler does not support C++0x char32_t
+
+namespace boost_no_cxx11_char32_t {
+
+// Microsoft VC++ 2010, and possibly other compilers, provides
+// a typedef for char32_t rather than a new type. We want that
+// to be an error, so provide an overloaded function that will
+// be ambiguous if char16_t is just a typedef.
+void f(const char32_t*){}
+void f(const unsigned short*){}
+void f(const unsigned int*){}
+void f(const unsigned long*){}
+
+int test()
+{
+ const char32_t p(0);
+ f(&p);
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_com_value_init.ipp b/src/boost/libs/config/test/boost_no_com_value_init.ipp
new file mode 100644
index 000000000..47e9ff52a
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_com_value_init.ipp
@@ -0,0 +1,1016 @@
+// (C) Copyright Niels Dekker 2010.
+// 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_COMPLETE_VALUE_INITIALIZATION
+// TITLE: No complete value-initialization
+// DESCRIPTION: The C++ compiler does not to have implemented value-initialization completely.
+// See also boost/libs/utility/value_init.htm#compiler_issues
+
+#include <iostream>
+
+// This test checks various forms of value-initialization:
+// - doing subobject initialization inside a constructor
+// - creating a temporary object by T()
+// - creating a heap object by doing new T()
+// It checks various DefaultConstructible types, including fundamental types,
+// enum, union, pointer types, array types, POD and non-POD class types. For
+// each type of object, a helper function is_value_initialized(const T&) tells
+// whether the object is value-initialized.
+//
+// Note: It appeared insufficient to just check a single POD and a single
+// non-POD class type, because some compilers correctly value-initialize some
+// POD and some non-POD objects, while failing to value-initialize others.
+//
+// The test returns the number of encountered value-initialization failures.
+
+namespace boost_no_complete_value_initialization
+{
+ enum enum_type { negative_number = -1, magic_number = 42 };
+
+ class incomplete_class;
+
+ typedef int (*function_ptr_type)(int);
+ typedef int (incomplete_class::*member_function_ptr_type)(int);
+
+ // A POD struct.
+ struct pod_struct
+ {
+ enum_type e;
+ bool b;
+ char c;
+ unsigned char uc;
+ short s;
+ int i;
+ unsigned u;
+ long l;
+ float f;
+ double d;
+ long double ld;
+ void* p;
+ };
+
+ bool is_value_initialized(const pod_struct& arg)
+ {
+ return
+ arg.b == 0 &&
+ arg.e == 0 &&
+ arg.c == 0 &&
+ arg.uc == 0 &&
+ arg.s == 0 &&
+ arg.i == 0 &&
+ arg.u == 0 &&
+ arg.l == 0 &&
+ arg.f == 0 &&
+ arg.d == 0 &&
+ arg.p == 0;
+ }
+
+ // A POD struct derived from another POD struct.
+ struct derived_pod_struct: pod_struct
+ {
+ int derived_data;
+ };
+
+ bool is_value_initialized(const derived_pod_struct& arg)
+ {
+ const pod_struct& base_subobject = arg;
+ return arg.derived_data == 0 && is_value_initialized(base_subobject);
+ }
+
+
+ struct empty_struct
+ {
+ };
+
+
+ // A POD aggregate struct derived from an empty struct.
+ // Similar to struct Foo1 from Microsoft Visual C++ bug report 484295,
+ // "VC++ does not value-initialize members of derived classes without
+ // user-declared constructor", reported in 2009 by Sylvester Hesp:
+ // https://connect.microsoft.com/VisualStudio/feedback/details/484295
+ struct derived_struct: empty_struct
+ {
+ int data;
+ };
+
+ bool is_value_initialized(const derived_struct& arg)
+ {
+ return arg.data == 0;
+ }
+
+
+ // A struct, having a bit-field.
+ struct bit_field_struct
+ {
+ bool b : 1;
+ char c : 7;
+ unsigned u: 8 * sizeof(unsigned) - 1;
+ };
+
+ bool is_value_initialized(const bit_field_struct& arg)
+ {
+ return arg.b == false && arg.c == '\0'&& arg.u == 0U;
+ }
+
+ // A struct, having a function pointer.
+ struct function_ptr_struct
+ {
+ function_ptr_type data;
+ };
+
+ bool is_value_initialized(const function_ptr_struct& arg)
+ {
+ return arg.data == 0;
+ }
+
+ // A struct, having a member function pointer.
+ struct member_function_ptr_struct
+ {
+ member_function_ptr_type data;
+ };
+
+ bool is_value_initialized(const member_function_ptr_struct& arg)
+ {
+ return arg.data == 0;
+ }
+
+ struct int_pair_struct
+ {
+ int first;
+ int second;
+ };
+
+ typedef int int_pair_struct::*ptr_to_member_type;
+
+ struct ptr_to_member_struct
+ {
+ ptr_to_member_type data;
+ };
+
+ bool is_value_initialized(const ptr_to_member_struct& arg)
+ {
+ return arg.data == 0;
+ }
+
+ // A struct, having an int. Equivalent to the struct TData, from CodeGear bug
+ // report 51854, "Value-initialization: POD struct should be zero-initialized",
+ // reported by me (Niels Dekker, LKEB) in 2007:
+ // http://qc.embarcadero.com/wc/qcmain.aspx?d=51854
+ struct int_struct
+ {
+ int data;
+ };
+
+ bool is_value_initialized(const int_struct& arg)
+ {
+ return arg.data == 0;
+ }
+
+
+ // A struct, having an int_struct.
+ struct int_struct_holder
+ {
+ int_struct data;
+ };
+
+ bool is_value_initialized(const int_struct_holder& arg)
+ {
+ return is_value_initialized(arg.data);
+ }
+
+
+ // A struct derived from int_struct.
+ struct derived_int_struct: int_struct
+ {
+ };
+
+ bool is_value_initialized(const derived_int_struct& arg)
+ {
+ return arg.data == 0;
+ }
+
+
+ struct char_array_struct
+ {
+ char data[42];
+ };
+
+ bool is_value_initialized(const char_array_struct& arg)
+ {
+ for ( unsigned i = 0; i < sizeof(arg.data); ++i)
+ {
+ if ( arg.data[i] != 0 )
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
+
+ class private_int_holder
+ {
+ private:
+ int m_data;
+
+ friend bool is_value_initialized(const private_int_holder& arg)
+ {
+ return arg.m_data == 0;
+ }
+ };
+
+
+ // Equivalent to the Stats class from GCC Bug 33916,
+ // "Default constructor fails to initialize array members", reported in 2007 by
+ // Michael Elizabeth Chastain: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916
+ class private_int_array_pair
+ {
+ friend bool is_value_initialized(const private_int_array_pair& arg);
+ private:
+ int first[12];
+ int second[12];
+ };
+
+ bool is_value_initialized(const private_int_array_pair& arg)
+ {
+ for ( unsigned i = 0; i < 12; ++i)
+ {
+ if ( (arg.first[i] != 0) || (arg.second[i] != 0) )
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
+
+ union pod_struct_and_int_union
+ {
+ pod_struct first;
+ int second;
+ };
+
+ bool is_value_initialized(const pod_struct_and_int_union& arg)
+ {
+ // When a union is zero-initialized, its first non-static
+ // named data member is zero-initialized ([dcl.init]).
+ return is_value_initialized(arg.first);
+ }
+
+
+ union int_and_pod_struct_union
+ {
+ int first;
+ pod_struct second;
+ };
+
+ bool is_value_initialized(const int_and_pod_struct_union& arg)
+ {
+ return arg.first == 0;
+ }
+
+
+ // A class that holds a "magic" enum value.
+ // Note: This is not a POD class, because it has a user-defined
+ // default constructor.
+ class enum_holder
+ {
+ enum_type m_enum;
+ public:
+
+ enum_holder()
+ :
+ m_enum(magic_number)
+ {
+ }
+
+ bool is_value_initialized() const
+ {
+ return m_enum == magic_number;
+ }
+ };
+
+ bool is_value_initialized(const enum_holder& arg)
+ {
+ return arg.is_value_initialized();
+ }
+
+
+ // An aggregate struct of a non-POD class and an int.
+ // Similar to struct A from Microsoft Visual C++ bug report 100744,
+ // "Value-initialization in new-expression", reported in 2005 by
+ // Pavel Kuznetsov (MetaCommunications Engineering):
+ // https://connect.microsoft.com/VisualStudio/feedback/details/100744
+ struct enum_holder_and_int
+ {
+ enum_holder e;
+ int i;
+ };
+
+ bool is_value_initialized(const enum_holder_and_int& arg)
+ {
+ return arg.e.is_value_initialized() && arg.i == 0;
+ }
+
+ class user_defined_copy_constructor_holder
+ {
+ public:
+ int data;
+
+ user_defined_copy_constructor_holder()
+ :
+ data(0)
+ {
+ }
+
+ user_defined_copy_constructor_holder(const user_defined_copy_constructor_holder& arg)
+ :
+ data(arg.data)
+ {
+ }
+ };
+
+ // An aggregate struct that has a data member which has a user-defined
+ // copy constructor and a data member of a scalar type.
+ // Similar to struct B from Microsoft Visual C++ bug report 499606,
+ // "Presence of copy constructor breaks member class initialization",
+ // reported in 2009 by Alex Vakulenko:
+ // https://connect.microsoft.com/VisualStudio/feedback/details/499606
+ struct user_defined_copy_constructor_holder_and_int
+ {
+ user_defined_copy_constructor_holder first;
+ int second;
+ };
+
+ bool is_value_initialized(const user_defined_copy_constructor_holder_and_int& arg)
+ {
+ return arg.first.data == 0 && arg.second == 0;
+ }
+
+
+ // An class that has a private and a protected int data member.
+ class private_and_protected_int
+ {
+ private:
+ int private_int;
+ protected:
+ int protected_int;
+ public:
+ friend bool is_value_initialized(const private_and_protected_int& arg)
+ {
+ return arg.private_int == 0 && arg.protected_int == 0;
+ }
+ };
+
+
+ class user_defined_destructor_holder
+ {
+ public:
+ int i;
+ ~user_defined_destructor_holder()
+ {
+ }
+ };
+
+ bool is_value_initialized(const user_defined_destructor_holder& arg)
+ {
+ return arg.i == 0;
+ }
+
+
+ class virtual_destructor_holder
+ {
+ public:
+ int i;
+ virtual ~virtual_destructor_holder()
+ {
+ }
+ };
+
+ bool is_value_initialized(const virtual_destructor_holder& arg)
+ {
+ return arg.i == 0;
+ }
+
+
+ // A class that is not a POD type.
+ class non_pod_class
+ {
+ private:
+ enum_holder m_enum_holder;
+
+ public:
+ int i;
+
+ virtual bool is_value_initialized() const
+ {
+ return m_enum_holder.is_value_initialized() && i == 0;
+ }
+
+ virtual ~non_pod_class() {}
+ };
+
+ bool is_value_initialized(const non_pod_class& arg)
+ {
+ return arg.is_value_initialized();
+ }
+
+
+ typedef char _2d_char_array_type[3][4];
+
+ bool is_value_initialized(const _2d_char_array_type& arg)
+ {
+ for(unsigned i = 0; i < sizeof(_2d_char_array_type); ++i)
+ {
+ if ((*arg)[i] != 0)
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ typedef char _3d_char_array_type[5][6][7];
+
+ bool is_value_initialized(const _3d_char_array_type& arg)
+ {
+ for(unsigned i = 0; i < sizeof(_3d_char_array_type); ++i)
+ {
+ if ((**arg)[i] != 0)
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
+
+
+ // Tells whether an object of a scalar type T is value-initialized.
+ template <class T>
+ bool is_value_initialized(const T& arg)
+ {
+ return arg == 0;
+ }
+
+
+ // Wraps a heap object that it has allocated by doing new T().
+ template <class T>
+ class heap_object_wrapper
+ {
+ private:
+ T* const m_ptr;
+
+ // The following function is intentionally left unimplemented
+ // (as if deleted, "= delete", in C++0x):
+ void operator=(heap_object_wrapper);
+
+ public:
+ heap_object_wrapper()
+ :
+ m_ptr(new T())
+ {
+ }
+
+ ~heap_object_wrapper()
+ {
+ delete m_ptr;
+ }
+
+ // The copy-constructor is intentionally left unimplemented.
+ heap_object_wrapper(const heap_object_wrapper&);
+
+ bool is_wrapped_object_value_initialized() const
+ {
+ return (m_ptr != 0) && is_value_initialized(*m_ptr);
+ }
+ };
+
+ template <class T>
+ bool is_value_initialized(const heap_object_wrapper<T>& arg)
+ {
+ return arg.is_wrapped_object_value_initialized();
+ }
+
+
+ // Returns zero when the specified object is value-initializated, and one otherwise.
+ // Prints a message to standard output if the value-initialization has failed.
+ template <class T>
+ unsigned failed_to_value_initialized(const T& object, const char *const object_name)
+ {
+ if ( is_value_initialized(object) )
+ {
+ return 0u;
+ }
+ else
+ {
+ std::cout << "Note: Failed to value-initialize " << object_name << '.' << std::endl;
+ return 1u;
+ }
+ }
+
+// A macro that passed both the name and the value of the specified object to
+// the function above here.
+#define FAILED_TO_VALUE_INITIALIZE(value) failed_to_value_initialized(value, #value)
+
+
+ // value_initializer initializes each of its data members by means
+ // of an empty set of parentheses, and allows checking whether
+ // each of them is indeed value-initialized, as specified by
+ // the C++ Standard ([dcl.init]).
+ //
+ // Note: its base class, int_struct, is there to try to reproduce GCC Bug 30111,
+ // "Value-initialization of POD base class doesn't initialize members", reported
+ // by Jonathan Wakely in 2006: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111
+ class value_initializer: private int_struct
+ {
+ private:
+ enum_holder m_enum_holder;
+ enum_holder m_enum_holder_array[2];
+ enum_type m_enum;
+ enum_type m_enum_array[2];
+ bool m_bool;
+ bool m_bool_array[2];
+ char m_char;
+ char m_char_array[2];
+ _2d_char_array_type m_2d_char_array;
+ _3d_char_array_type m_3d_char_array;
+ unsigned char m_unsigned_char;
+ unsigned char m_unsigned_char_array[2];
+ short m_short;
+ short m_short_array[2];
+ int m_int;
+ int m_int_array[2];
+ unsigned m_unsigned;
+ unsigned m_unsigned_array[2];
+ long m_long;
+ long m_long_array[2];
+ float m_float;
+ float m_float_array[2];
+ double m_double;
+ double m_double_array[2];
+ long double m_long_double;
+ long double m_long_double_array[2];
+ void* m_void_ptr;
+ void* m_void_ptr_array[2];
+ function_ptr_type m_function_ptr;
+ function_ptr_type m_function_ptr_array[2];
+ function_ptr_struct m_function_ptr_struct;
+ function_ptr_struct m_function_ptr_struct_array[2];
+ member_function_ptr_type m_member_function_ptr;
+ member_function_ptr_type m_member_function_ptr_array[2];
+ member_function_ptr_struct m_member_function_ptr_struct;
+ member_function_ptr_struct m_member_function_ptr_struct_array[2];
+ ptr_to_member_type m_ptr_to_member;
+ ptr_to_member_type m_ptr_to_member_array[2];
+ ptr_to_member_struct m_ptr_to_member_struct;
+ ptr_to_member_struct m_ptr_to_member_struct_array[2];
+ bit_field_struct m_bit_field_struct;
+ bit_field_struct m_bit_field_struct_array[2];
+ int_struct m_int_struct;
+ int_struct m_int_struct_array[2];
+ int_struct m_int_struct_holder;
+ int_struct m_int_struct_holder_array[2];
+ pod_struct m_pod_struct;
+ pod_struct m_pod_struct_array[2];
+ derived_pod_struct m_derived_pod_struct;
+ derived_pod_struct m_derived_pod_struct_array[2];
+ derived_struct m_derived_struct;
+ derived_struct m_derived_struct_array[2];
+ derived_int_struct m_derived_int_struct;
+ derived_int_struct m_derived_int_struct_array[2];
+ private_int_holder m_private_int_holder;
+ private_int_holder m_private_int_holder_array[2];
+ char_array_struct m_char_array_struct;
+ char_array_struct m_char_array_struct_array[2];
+ private_int_array_pair m_private_int_array_pair;
+ private_int_array_pair m_private_int_array_pair_array[2];
+ enum_holder_and_int m_enum_holder_and_int;
+ enum_holder_and_int m_enum_holder_and_int_array[2];
+ private_and_protected_int m_private_and_protected_int;
+ private_and_protected_int m_private_and_protected_int_array[2];
+ user_defined_copy_constructor_holder_and_int m_user_defined_copy_constructor_holder_and_int;
+ user_defined_copy_constructor_holder_and_int m_user_defined_copy_constructor_holder_and_int_array[2];
+ user_defined_destructor_holder m_user_defined_destructor_holder;
+ user_defined_destructor_holder m_user_defined_destructor_holder_array[2];
+ virtual_destructor_holder m_virtual_destructor_holder;
+ virtual_destructor_holder m_virtual_destructor_holder_array[2];
+ non_pod_class m_non_pod;
+ non_pod_class m_non_pod_array[2];
+ pod_struct_and_int_union m_pod_struct_and_int_union;
+ pod_struct_and_int_union m_pod_struct_and_int_union_array[2];
+ int_and_pod_struct_union m_int_and_pod_struct_union;
+ int_and_pod_struct_union m_int_and_pod_struct_union_array[2];
+
+ public:
+ // Default constructor. Tries to value-initialize its base subobject and all
+ // of its data.members.
+ value_initializer()
+ :
+ // Note: CodeGear/Borland may produce a warning, W8039, for each data member
+ // whose type is an array type, saying "Constructor initializer list ignored".
+ // If it does, it probably won't value-initialize those arrays, as reported
+ // by me (Niels Dekker, LKEB) in 2010, report 83751, "Value-initialization:
+ // arrays should have each element value-initialized",
+ // http://qc.embarcadero.com/wc/qcmain.aspx?d=83751
+ // On the other hand, Microsoft Visual C++ may produce warnings of type C4351,
+ // saying "new behavior: elements of array '...' will be default initialized",
+ // which is actually the right behavior!
+ int_struct(),
+ m_enum_holder(),
+ m_enum_holder_array(),
+ m_enum(),
+ m_enum_array(),
+ m_bool(),
+ m_bool_array(),
+ m_char(),
+ m_char_array(),
+ m_2d_char_array(),
+ m_3d_char_array(),
+ m_unsigned_char(),
+ m_unsigned_char_array(),
+ m_short(),
+ m_short_array(),
+ m_int(),
+ m_int_array(),
+ m_unsigned(),
+ m_unsigned_array(),
+ m_long(),
+ m_long_array(),
+ m_float(),
+ m_float_array(),
+ m_double(),
+ m_double_array(),
+ m_long_double(),
+ m_long_double_array(),
+ m_void_ptr(),
+ m_void_ptr_array(),
+ m_function_ptr(),
+ m_function_ptr_array(),
+ m_function_ptr_struct(),
+ m_function_ptr_struct_array(),
+ m_member_function_ptr(),
+ m_member_function_ptr_array(),
+ m_member_function_ptr_struct(),
+ m_member_function_ptr_struct_array(),
+ m_ptr_to_member(),
+ m_ptr_to_member_array(),
+ m_ptr_to_member_struct(),
+ m_ptr_to_member_struct_array(),
+ m_bit_field_struct(),
+ m_bit_field_struct_array(),
+ m_int_struct(),
+ m_int_struct_array(),
+ m_int_struct_holder(),
+ m_int_struct_holder_array(),
+ m_pod_struct(),
+ m_pod_struct_array(),
+ m_derived_pod_struct(),
+ m_derived_pod_struct_array(),
+ m_derived_struct(),
+ m_derived_struct_array(),
+ m_derived_int_struct(),
+ m_derived_int_struct_array(),
+ m_private_int_holder(),
+ m_private_int_holder_array(),
+ m_char_array_struct(),
+ m_char_array_struct_array(),
+ m_private_int_array_pair(),
+ m_private_int_array_pair_array(),
+ m_enum_holder_and_int(),
+ m_enum_holder_and_int_array(),
+ m_private_and_protected_int(),
+ m_private_and_protected_int_array(),
+ m_user_defined_copy_constructor_holder_and_int(),
+ m_user_defined_copy_constructor_holder_and_int_array(),
+ m_user_defined_destructor_holder(),
+ m_user_defined_destructor_holder_array(),
+ m_virtual_destructor_holder(),
+ m_virtual_destructor_holder_array(),
+ m_non_pod(),
+ m_non_pod_array(),
+ m_pod_struct_and_int_union(),
+ m_pod_struct_and_int_union_array(),
+ m_int_and_pod_struct_union(),
+ m_int_and_pod_struct_union_array()
+ {
+ }
+
+ // Returns the number of failures.
+ unsigned check_value_initialization_of_subobjects() const
+ {
+ const unsigned num_failures =
+ FAILED_TO_VALUE_INITIALIZE(int_struct::data) +
+ FAILED_TO_VALUE_INITIALIZE(m_enum_holder) +
+ FAILED_TO_VALUE_INITIALIZE(m_enum_holder_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_enum_holder_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_enum) +
+ FAILED_TO_VALUE_INITIALIZE(m_enum_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_enum_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_bool) +
+ FAILED_TO_VALUE_INITIALIZE(m_bool_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_bool_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_char) +
+ FAILED_TO_VALUE_INITIALIZE(m_char_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_char_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_2d_char_array) +
+ FAILED_TO_VALUE_INITIALIZE(m_3d_char_array) +
+ FAILED_TO_VALUE_INITIALIZE(m_unsigned_char) +
+ FAILED_TO_VALUE_INITIALIZE(m_unsigned_char_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_unsigned_char_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_short) +
+ FAILED_TO_VALUE_INITIALIZE(m_short_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_short_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_int) +
+ FAILED_TO_VALUE_INITIALIZE(m_int_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_int_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_unsigned) +
+ FAILED_TO_VALUE_INITIALIZE(m_unsigned_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_unsigned_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_long) +
+ FAILED_TO_VALUE_INITIALIZE(m_long_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_long_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_float) +
+ FAILED_TO_VALUE_INITIALIZE(m_float_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_float_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_double) +
+ FAILED_TO_VALUE_INITIALIZE(m_double_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_double_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_long_double) +
+ FAILED_TO_VALUE_INITIALIZE(m_long_double_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_long_double_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_void_ptr) +
+ FAILED_TO_VALUE_INITIALIZE(m_void_ptr_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_void_ptr_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_function_ptr) +
+ FAILED_TO_VALUE_INITIALIZE(m_function_ptr_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_function_ptr_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_function_ptr_struct) +
+ FAILED_TO_VALUE_INITIALIZE(m_function_ptr_struct_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_function_ptr_struct_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr) +
+ FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr_struct) +
+ FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr_struct_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_member_function_ptr_struct_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member) +
+ FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member_struct) +
+ FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member_struct_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_ptr_to_member_struct_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_bit_field_struct) +
+ FAILED_TO_VALUE_INITIALIZE(m_bit_field_struct_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_bit_field_struct_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_int_struct) +
+ FAILED_TO_VALUE_INITIALIZE(m_int_struct_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_int_struct_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_int_struct_holder) +
+ FAILED_TO_VALUE_INITIALIZE(m_int_struct_holder_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_int_struct_holder_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_pod_struct) +
+ FAILED_TO_VALUE_INITIALIZE(m_pod_struct_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_pod_struct_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_derived_pod_struct) +
+ FAILED_TO_VALUE_INITIALIZE(m_derived_pod_struct_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_derived_pod_struct_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_derived_struct) +
+ FAILED_TO_VALUE_INITIALIZE(m_derived_struct_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_derived_struct_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_derived_int_struct) +
+ FAILED_TO_VALUE_INITIALIZE(m_derived_int_struct_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_derived_int_struct_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_private_int_holder) +
+ FAILED_TO_VALUE_INITIALIZE(m_private_int_holder_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_private_int_holder_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_char_array_struct) +
+ FAILED_TO_VALUE_INITIALIZE(m_char_array_struct_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_char_array_struct_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_private_int_array_pair) +
+ FAILED_TO_VALUE_INITIALIZE(m_private_int_array_pair_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_private_int_array_pair_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_enum_holder_and_int) +
+ FAILED_TO_VALUE_INITIALIZE(m_enum_holder_and_int_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_enum_holder_and_int_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_private_and_protected_int) +
+ FAILED_TO_VALUE_INITIALIZE(m_private_and_protected_int_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_private_and_protected_int_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_user_defined_copy_constructor_holder_and_int) +
+ FAILED_TO_VALUE_INITIALIZE(m_user_defined_copy_constructor_holder_and_int_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_user_defined_copy_constructor_holder_and_int_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_user_defined_destructor_holder) +
+ FAILED_TO_VALUE_INITIALIZE(m_user_defined_destructor_holder_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_user_defined_destructor_holder_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_virtual_destructor_holder) +
+ FAILED_TO_VALUE_INITIALIZE(m_virtual_destructor_holder_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_virtual_destructor_holder_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_non_pod) +
+ FAILED_TO_VALUE_INITIALIZE(m_non_pod_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_non_pod_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_pod_struct_and_int_union) +
+ FAILED_TO_VALUE_INITIALIZE(m_pod_struct_and_int_union_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_pod_struct_and_int_union_array[1]) +
+ FAILED_TO_VALUE_INITIALIZE(m_int_and_pod_struct_union) +
+ FAILED_TO_VALUE_INITIALIZE(m_int_and_pod_struct_union_array[0]) +
+ FAILED_TO_VALUE_INITIALIZE(m_int_and_pod_struct_union_array[1]);
+ return num_failures;
+ }
+ };
+
+ // Checks value-initialization of a number of small temporary objects.
+ // Returns the number of failures.
+ unsigned check_value_initialization_of_temporaries()
+ {
+ typedef long double long_double_type;
+ typedef unsigned char unsigned_char_type;
+ typedef void* void_ptr_type;
+
+ const unsigned num_failures =
+ FAILED_TO_VALUE_INITIALIZE(enum_holder()) +
+ FAILED_TO_VALUE_INITIALIZE(enum_type()) +
+ FAILED_TO_VALUE_INITIALIZE(bool()) +
+ FAILED_TO_VALUE_INITIALIZE(char()) +
+ FAILED_TO_VALUE_INITIALIZE(unsigned_char_type()) +
+ FAILED_TO_VALUE_INITIALIZE(short()) +
+ FAILED_TO_VALUE_INITIALIZE(int()) +
+ FAILED_TO_VALUE_INITIALIZE(unsigned()) +
+ FAILED_TO_VALUE_INITIALIZE(long()) +
+ FAILED_TO_VALUE_INITIALIZE(float()) +
+ FAILED_TO_VALUE_INITIALIZE(double()) +
+ FAILED_TO_VALUE_INITIALIZE(long_double_type()) +
+ FAILED_TO_VALUE_INITIALIZE(void_ptr_type()) +
+ FAILED_TO_VALUE_INITIALIZE(bit_field_struct()) +
+ FAILED_TO_VALUE_INITIALIZE(function_ptr_type()) +
+ FAILED_TO_VALUE_INITIALIZE(function_ptr_struct()) +
+ FAILED_TO_VALUE_INITIALIZE(member_function_ptr_type()) +
+ FAILED_TO_VALUE_INITIALIZE(member_function_ptr_struct()) +
+ FAILED_TO_VALUE_INITIALIZE(ptr_to_member_type()) +
+ FAILED_TO_VALUE_INITIALIZE(ptr_to_member_struct()) +
+ FAILED_TO_VALUE_INITIALIZE(int_struct()) +
+ FAILED_TO_VALUE_INITIALIZE(int_struct_holder()) +
+ FAILED_TO_VALUE_INITIALIZE(pod_struct()) +
+ FAILED_TO_VALUE_INITIALIZE(derived_pod_struct()) +
+ FAILED_TO_VALUE_INITIALIZE(derived_struct()) +
+ FAILED_TO_VALUE_INITIALIZE(derived_int_struct()) +
+ FAILED_TO_VALUE_INITIALIZE(private_int_holder()) +
+ FAILED_TO_VALUE_INITIALIZE(char_array_struct()) +
+ FAILED_TO_VALUE_INITIALIZE(private_int_array_pair()) +
+ // IBM's XL V10.1.0.0 may fail to value-initialize a temporary of a non-POD
+ // type like enum_holder_and_int, virtual_destructor_holder, or non_pod_class,
+ // as appeared at the Boost Config/trunk regression page in April 2010.
+ // Michael Wong (IBM Canada Ltd) confirmed the issue to me (Niels Dekker, LKEB),
+ // and gave it high priority.
+ FAILED_TO_VALUE_INITIALIZE(enum_holder_and_int()) +
+ FAILED_TO_VALUE_INITIALIZE(private_and_protected_int()) +
+ FAILED_TO_VALUE_INITIALIZE(user_defined_copy_constructor_holder_and_int()) +
+ // The following line, doing user_defined_destructor_holder(), causes
+ // a compilation error on Embarcadero 2010 (Borland/CodeGear 6.21),
+ // as reported by me (Niels Dekker, LKEB) in 2010, bug report 83851,
+ // "Value-initialized temporary triggers internal backend error C1798",
+ // http://qc.embarcadero.com/wc/qcmain.aspx?d=83851
+ FAILED_TO_VALUE_INITIALIZE(user_defined_destructor_holder()) +
+ FAILED_TO_VALUE_INITIALIZE(virtual_destructor_holder()) +
+ FAILED_TO_VALUE_INITIALIZE(non_pod_class()) +
+ FAILED_TO_VALUE_INITIALIZE(pod_struct_and_int_union()) +
+ FAILED_TO_VALUE_INITIALIZE(int_and_pod_struct_union());
+ return num_failures;
+ }
+
+ // Checks value-initialization of small heap objects.
+ // Returns the number of failures.
+ unsigned check_value_initialization_of_heap_objects()
+ {
+ const unsigned num_failures =
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<enum_holder>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<enum_type>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<bool>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<char>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<unsigned char>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<short>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<int>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<unsigned>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<long>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<float>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<double>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<long double>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<void*>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<function_ptr_type>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<function_ptr_struct>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<member_function_ptr_type>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<member_function_ptr_struct>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<ptr_to_member_type>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<ptr_to_member_struct>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<bit_field_struct>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<int_struct>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<int_struct>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<pod_struct>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<derived_pod_struct>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<derived_struct>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<derived_int_struct>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<char_array_struct>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<private_int_holder>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<private_int_array_pair>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<enum_holder_and_int>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<private_and_protected_int>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<user_defined_copy_constructor_holder_and_int>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<user_defined_destructor_holder>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<virtual_destructor_holder>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<non_pod_class>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<pod_struct_and_int_union>() ) +
+ FAILED_TO_VALUE_INITIALIZE( heap_object_wrapper<int_and_pod_struct_union>() );
+ return num_failures;
+ }
+
+ // Equivalent to the dirty_stack() function from GCC Bug 33916,
+ // "Default constructor fails to initialize array members", reported in 2007 by
+ // Michael Elizabeth Chastain: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916
+ void dirty_stack()
+ {
+ unsigned char array_on_stack[sizeof(value_initializer) + 256];
+ for (unsigned i = 0; i < sizeof(array_on_stack); ++i)
+ {
+ array_on_stack[i] = 0x11;
+ }
+ }
+
+
+ // Checks value-initialization of the subobjects of a temporary object,
+ // an object on the stack, an object on the heap; furthermore it checks
+ // value-initialization of a number of smaller temporary objects and
+ // heap objects.
+ int test()
+ {
+ unsigned total_num_failures = 0;
+
+ dirty_stack();
+ const unsigned num_failures_of_subobjects_of_a_temporary =
+ value_initializer().check_value_initialization_of_subobjects();
+
+ total_num_failures += num_failures_of_subobjects_of_a_temporary;
+ if ( total_num_failures > 0 )
+ {
+ std::cout << "- Number of subobject initialization failures of a temporary: "
+ << num_failures_of_subobjects_of_a_temporary << std::endl;
+ }
+ dirty_stack();
+ value_initializer object_on_stack;
+ const unsigned num_failures_of_subobjects_on_stack =
+ object_on_stack.check_value_initialization_of_subobjects();
+
+ total_num_failures += num_failures_of_subobjects_on_stack;
+ if ( total_num_failures > 0 )
+ {
+ std::cout << "- Number of subobject initialization failures on the stack: "
+ << num_failures_of_subobjects_on_stack << std::endl;
+ }
+ const value_initializer* const ptr = new value_initializer();
+ const unsigned num_failures_of_subobjects_on_heap = ptr->check_value_initialization_of_subobjects();
+ delete ptr;
+
+ total_num_failures += num_failures_of_subobjects_on_heap;
+ if ( total_num_failures > 0 )
+ {
+ std::cout << "- Number of subobject initialization failures on the heap: "
+ << num_failures_of_subobjects_on_heap << std::endl;
+ }
+
+ dirty_stack();
+ const unsigned num_failures_of_temporaries = check_value_initialization_of_temporaries();
+
+ total_num_failures += num_failures_of_temporaries;
+ if ( total_num_failures > 0 )
+ {
+ std::cout << "- Number of initialization failures of temporary objects: "
+ << num_failures_of_temporaries << std::endl;
+ }
+
+ const unsigned num_failures_of_heap_objects = check_value_initialization_of_heap_objects();
+
+ total_num_failures += num_failures_of_heap_objects;
+ if ( total_num_failures > 0 )
+ {
+ std::cout << "- Number of failures of heap objects: "
+ << num_failures_of_heap_objects << std::endl;
+ }
+
+ if ( total_num_failures > 0 )
+ {
+ std::cout << "-- Total number of initialization failures ("
+ << num_failures_of_subobjects_of_a_temporary << '+'
+ << num_failures_of_subobjects_on_stack << '+'
+ << num_failures_of_subobjects_on_heap << '+'
+ << num_failures_of_temporaries << '+'
+ << num_failures_of_heap_objects << "): "
+ << total_num_failures
+ << "\nDetected by boost_no_complete_value_initialization::test() revision 32."
+ << std::endl;
+ }
+ return static_cast<int>(total_num_failures);
+ }
+
+} // End of namespace.
diff --git a/src/boost/libs/config/test/boost_no_constexpr.ipp b/src/boost/libs/config/test/boost_no_constexpr.ipp
new file mode 100644
index 000000000..1f3a96ee6
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_constexpr.ipp
@@ -0,0 +1,88 @@
+// (C) Copyright Beman Dawes 2008
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_CONSTEXPR
+// TITLE: C++0x constexpr unavailable
+// DESCRIPTION: The compiler does not support C++0x constexpr
+
+namespace boost_no_cxx11_constexpr {
+
+void quiet_warning(int){}
+
+constexpr int square(int x) { return x * x; } // from N2235
+
+// from 5.19:
+constexpr const int* addr(const int& ir) { return &ir; }
+static const int x = 5;
+constexpr const int* xp = addr(x);
+
+struct A
+{
+ constexpr A(int i) : val(i) { }
+ constexpr operator int()const { return val; }
+ constexpr operator long()const { return 43; }
+private:
+ int val;
+};
+
+template<int> struct X { };
+
+constexpr const A a = 42;
+
+X<a> xx; // OK: unique conversion to int
+
+// virtual function
+struct B
+{
+ virtual void vf() {}
+};
+struct C : B
+{
+ constexpr C() {}
+};
+
+// aggregate initialization
+struct D
+{
+ int val[2];
+ constexpr D() : val() {}
+};
+
+// virtual base
+struct E
+{
+};
+struct F : virtual E
+{
+};
+constexpr F& f(F& out) { return out; }
+
+namespace whatever{};
+
+constexpr int factorial(int i)
+{
+ typedef int value_type;
+ using namespace whatever;
+ return i <= 1 ? 1 : i * factorial(value_type(i-1));
+}
+
+int test()
+{
+ constexpr int i = square(5) + factorial(10);
+ quiet_warning(i);
+
+ switch (i)
+ {
+ case a:
+ break;
+ }
+
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_ctype_functions.ipp b/src/boost/libs/config/test/boost_no_ctype_functions.ipp
new file mode 100644
index 000000000..ec23d594a
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_ctype_functions.ipp
@@ -0,0 +1,44 @@
+// (C) Copyright John Maddock 2001.
+// 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_CTYPE_FUNCTIONS
+// TITLE: functions in <ctype.h>
+// DESCRIPTION: The Platform does not provide functions for the character-
+// classifying operations in <ctype.h>. Some platforms provide
+// macros and don't provide functions. Under C++ it's an error
+// to provide the macros at all, but that's a separate issue.
+
+#include <ctype.h>
+
+namespace boost_no_ctype_functions {
+
+extern "C" {
+ typedef int (* character_classify_function)(int);
+}
+
+void pass_function(character_classify_function)
+{
+}
+
+int test()
+{
+ pass_function(isalpha);
+ pass_function(isalnum);
+ pass_function(iscntrl);
+ pass_function(isdigit);
+ pass_function(isgraph);
+ pass_function(islower);
+ pass_function(isprint);
+ pass_function(ispunct);
+ pass_function(isspace);
+ pass_function(isupper);
+ pass_function(isxdigit);
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_cv_spec.ipp b/src/boost/libs/config/test/boost_no_cv_spec.ipp
new file mode 100644
index 000000000..d2fc6311b
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cv_spec.ipp
@@ -0,0 +1,47 @@
+// (C) Copyright John Maddock 2001.
+// 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_CV_SPECIALIZATIONS
+// TITLE: template specialisations of cv-qualified types
+// DESCRIPTION: If template specialisations for cv-qualified types
+// conflict with a specialisation for a cv-unqualififed type.
+
+
+namespace boost_no_cv_specializations{
+
+template <class T>
+struct is_int
+{
+};
+
+template <>
+struct is_int<int>
+{};
+
+template <>
+struct is_int<const int>
+{};
+
+template <>
+struct is_int<volatile int>
+{};
+
+template <>
+struct is_int<const volatile int>
+{};
+
+int test()
+{
+ return 0;
+}
+
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_cv_void_spec.ipp b/src/boost/libs/config/test/boost_no_cv_void_spec.ipp
new file mode 100644
index 000000000..c3bc25481
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cv_void_spec.ipp
@@ -0,0 +1,45 @@
+// (C) Copyright John Maddock 2001.
+// 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_CV_VOID_SPECIALIZATIONS
+// TITLE: template specialisations of cv-qualified void
+// DESCRIPTION: If template specialisations for cv-void types
+// conflict with a specialisation for void.
+
+
+namespace boost_no_cv_void_specializations{
+
+template <class T>
+struct is_void
+{
+};
+
+template <>
+struct is_void<void>
+{};
+
+template <>
+struct is_void<const void>
+{};
+
+template <>
+struct is_void<volatile void>
+{};
+
+template <>
+struct is_void<const volatile void>
+{};
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_cwchar.ipp b/src/boost/libs/config/test/boost_no_cwchar.ipp
new file mode 100644
index 000000000..698dbd635
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cwchar.ipp
@@ -0,0 +1,33 @@
+// (C) Copyright John Maddock 2001.
+// 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_CWCHAR
+// TITLE: <wchar.h> and <cwchar>
+// DESCRIPTION: The Platform does not provide <wchar.h> and <cwchar>.
+
+#include <cwchar>
+#include <wchar.h>
+
+namespace boost_no_cwchar{
+
+int test()
+{
+ wchar_t c1[2] = { 0 };
+ wchar_t c2[2] = { 0 };
+ if(wcscmp(c1,c2) || wcslen(c1)) return -1;
+ //wcscpy(c1,c2);
+ wcsxfrm(c1,c2,0);
+ return 0;
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_cwctype.ipp b/src/boost/libs/config/test/boost_no_cwctype.ipp
new file mode 100644
index 000000000..d6a7355a2
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cwctype.ipp
@@ -0,0 +1,47 @@
+// (C) Copyright John Maddock 2001.
+// 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_CWCTYPE
+// TITLE: <wctype.h> and <cwctype>
+// DESCRIPTION: The Platform does not provide <wctype.h> and <cwctype>.
+
+//
+// Note that some platforms put these prototypes in the wrong headers,
+// we have to include pretty well all the string headers on the chance that
+// one of them will contain what we want!
+//
+#include <cwctype>
+#include <wctype.h>
+#include <cwchar>
+#include <wchar.h>
+#include <cctype>
+#include <ctype.h>
+
+namespace boost_no_cwctype{
+
+int test()
+{
+ if(!(iswalpha(L'a') &&
+ iswcntrl(L'\r') &&
+ iswdigit(L'2') &&
+ iswlower(L'a') &&
+ iswpunct(L',') &&
+ iswspace(L' ') &&
+ iswupper(L'A') &&
+ iswxdigit(L'A')
+ )) return -1;
+ if(L'a' != towlower(L'A')) return -1;
+ return 0;
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_cxx11_addressof.ipp b/src/boost/libs/config/test/boost_no_cxx11_addressof.ipp
new file mode 100644
index 000000000..4f0a5e3cd
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_addressof.ipp
@@ -0,0 +1,28 @@
+// (C) Copyright John Maddock 2012
+// (C) Copyright Peter Dimov 2014
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_ADDRESSOF
+// TITLE: C++11 <memory> doesn't have a working std::addressof
+// DESCRIPTION: The compiler does not support the function std::addressof added to <memory>
+
+#include <memory>
+
+namespace boost_no_cxx11_addressof {
+
+void x3()
+{
+}
+
+int test()
+{
+ int x1, x2[3];
+ return std::addressof(x1) != &x1 || std::addressof(x2) != &x2 || std::addressof(x3) != &x3;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_alignas.ipp b/src/boost/libs/config/test/boost_no_cxx11_alignas.ipp
new file mode 100644
index 000000000..afd428f63
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_alignas.ipp
@@ -0,0 +1,36 @@
+// (C) Copyright Andrey Semashev 2013
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_ALIGNAS
+// TITLE: C++11 alignas keyword.
+// DESCRIPTION: The compiler does not support the C++11 alignment specification with alignas keyword.
+
+namespace boost_no_cxx11_alignas {
+
+struct alignas(16) my_data1
+{
+ char data[10];
+};
+
+struct alignas(double) my_data2
+{
+ char data[16];
+};
+
+my_data1 dummy1[2];
+my_data2 dummy2;
+alignas(16) char dummy3[10];
+alignas(double) char dummy4[32];
+
+int test()
+{
+ // TODO: Test that the data is actually aligned on platforms with uintptr_t
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_allocator.ipp b/src/boost/libs/config/test/boost_no_cxx11_allocator.ipp
new file mode 100644
index 000000000..84ec78eec
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_allocator.ipp
@@ -0,0 +1,44 @@
+// (C) Copyright John Maddock 2012
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_ALLOCATOR
+// TITLE: C++11 <memory> doesn't have C++0x allocator support
+// DESCRIPTION: The compiler does not support the C++11 allocator features added to <memory>
+
+#include <memory>
+
+namespace boost_no_cxx11_allocator {
+
+int test()
+{
+ std::pointer_traits<char*>* p = 0;
+ (void) p;
+ //std::pointer_safety s = std::relaxed;
+
+ //char* (*l_undeclare_reachable)(char *p) = std::undeclare_reachable;
+ //void (*l_declare_no_pointers)(char *p, size_t n) = std::declare_no_pointers;
+ //void (*l_undeclare_no_pointers)(char *p, size_t n) = std::undeclare_no_pointers;
+ //std::pointer_safety (*l_get_pointer_safety)() = std::get_pointer_safety;
+ //void* (*l_align)(std::size_t alignment, std::size_t size, void *&ptr, std::size_t& space) = std::align;
+ std::allocator_arg_t aat;
+ std::uses_allocator<int, std::allocator<int> > ua;
+ std::allocator_traits<std::allocator<int> > at;
+ std::allocator<int> ia;
+ std::allocator_traits<std::allocator<int> >::rebind_alloc<void*> ra(ia);
+ std::allocator<void*>* pva = &ra;
+ std::allocator_traits<std::allocator<int> >::rebind_traits<void*>::pointer pt;
+
+ (void)aat;
+ (void)ua;
+ (void)at;
+ (void)pva;
+ (void)pt;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_atomic_sp.ipp b/src/boost/libs/config/test/boost_no_cxx11_atomic_sp.ipp
new file mode 100644
index 000000000..42c9cb7f4
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_atomic_sp.ipp
@@ -0,0 +1,36 @@
+// (C) Copyright John Maddock 2012
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_ATOMIC_SMART_PTR
+// TITLE: C++11 <memory> does not support atomic smart pointer operations
+// DESCRIPTION: The compiler does not support the C++11 atomic smart pointer features added to <memory>
+
+#include <memory>
+
+namespace boost_no_cxx11_atomic_smart_ptr {
+
+int test()
+{
+ std::shared_ptr<int> spi(new int), spi2(new int);
+ spi = std::static_pointer_cast<int>(spi);
+
+ atomic_is_lock_free(&spi);
+ atomic_load(&spi);
+ atomic_load_explicit(&spi, std::memory_order_relaxed);
+ atomic_store(&spi, spi2);
+ atomic_store_explicit(&spi, spi2, std::memory_order_relaxed);
+ atomic_exchange(&spi, spi2);
+ atomic_compare_exchange_weak(&spi, &spi2, spi);
+ atomic_compare_exchange_strong(&spi, &spi2, spi);
+ atomic_compare_exchange_weak_explicit(&spi, &spi2, spi, std::memory_order_relaxed, std::memory_order_relaxed);
+ atomic_compare_exchange_strong_explicit(&spi, &spi2, spi, std::memory_order_relaxed, std::memory_order_relaxed);
+
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_defaulted_moves.ipp b/src/boost/libs/config/test/boost_no_cxx11_defaulted_moves.ipp
new file mode 100644
index 000000000..9bf276336
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_defaulted_moves.ipp
@@ -0,0 +1,25 @@
+// (C) Copyright Andrzej Krzemienski 2018
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_DEFAULTED_MOVES
+// TITLE: C++0x defaulting of move constructor/assignment unavailable
+// DESCRIPTION: The compiler does not support C++0x defaulting of move constructor/assignment
+
+namespace boost_no_cxx11_defaulted_moves {
+
+ struct foo {
+ foo(foo&&) = default;
+ foo& operator=(foo&&) = default;
+ };
+
+ int test()
+ {
+ return 0;
+ }
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_exception.ipp b/src/boost/libs/config/test/boost_no_cxx11_exception.ipp
new file mode 100644
index 000000000..543e58445
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_exception.ipp
@@ -0,0 +1,47 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_EXCEPTION
+// TITLE: C++11 header <exception> not compatible
+// DESCRIPTION: The standard library does not provide a C++11 compatible version of <exception>.
+
+#include <exception>
+
+namespace boost_no_cxx11_hdr_exception {
+
+ int test()
+ {
+#ifdef BOOST_NO_EXCEPTIONS
+ using std::exception_ptr;
+ using std::current_exception;
+ using std::rethrow_exception;
+ return 0;
+#else
+ std::exception_ptr ep;
+ try
+ {
+ throw 42;
+ }
+ catch (...)
+ {
+ ep = std::current_exception();
+ }
+ try
+ {
+ std::rethrow_exception(ep);
+ }
+ catch (int i)
+ {
+ // return zero on success
+ return i == 42 ? 0 : 1;
+ }
+ return 1;
+#endif
+ }
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_final.ipp b/src/boost/libs/config/test/boost_no_cxx11_final.ipp
new file mode 100644
index 000000000..0a0073391
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_final.ipp
@@ -0,0 +1,41 @@
+// (C) Copyright Agustin Berge 2014
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_FINAL
+// TITLE: C++11 final class-virt-specifier
+// DESCRIPTION: The compiler does not support the C++ class-virt-specifier final
+
+namespace boost_no_cxx11_final {
+
+struct X final {};
+
+struct abstract
+{
+ virtual int f() = 0;
+};
+
+struct derived : public abstract
+{
+ virtual int f() final
+ {
+ return 0;
+ }
+};
+
+int check(abstract* pa)
+{
+ return pa->f();
+}
+
+int test()
+{
+ derived d;
+ return check(&d);
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_array.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_array.ipp
new file mode 100644
index 000000000..7bbead1c1
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_array.ipp
@@ -0,0 +1,23 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_ARRAY
+// TITLE: C++0x header <array> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <array>
+
+#include <array>
+
+namespace boost_no_cxx11_hdr_array {
+
+int test()
+{
+ std::array<int, 3> a = {{ 1, 2, 3 }};
+ return a.size() == 3 ? 0 : 1;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_atomic.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_atomic.ipp
new file mode 100644
index 000000000..ceabb6507
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_atomic.ipp
@@ -0,0 +1,98 @@
+// (C) Copyright John Maddock 2013
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_ATOMIC
+// TITLE: C++11 <atomic> header is either not present or too broken to be used
+// DESCRIPTION: The compiler does not support the C++11 header <atomic>
+
+#include <atomic>
+
+#if !defined(ATOMIC_BOOL_LOCK_FREE) || !defined(ATOMIC_CHAR_LOCK_FREE) || !defined(ATOMIC_CHAR16_T_LOCK_FREE) \
+ || !defined(ATOMIC_CHAR32_T_LOCK_FREE) || !defined(ATOMIC_WCHAR_T_LOCK_FREE) || !defined(ATOMIC_SHORT_LOCK_FREE)\
+ || !defined(ATOMIC_INT_LOCK_FREE) || !defined(ATOMIC_LONG_LOCK_FREE) || !defined(ATOMIC_LLONG_LOCK_FREE)\
+ || !defined(ATOMIC_POINTER_LOCK_FREE)
+# error "required macros not defined"
+#endif
+
+namespace boost_no_cxx11_hdr_atomic {
+
+ void consume(std::memory_order)
+ {}
+
+ int test()
+ {
+ consume(std::memory_order_relaxed);
+ consume(std::memory_order_consume);
+ consume(std::memory_order_acquire);
+ consume(std::memory_order_release);
+ consume(std::memory_order_acq_rel);
+ consume(std::memory_order_seq_cst);
+
+ std::atomic<int> a1;
+ std::atomic<unsigned> a2;
+ std::atomic<int*> a3;
+ a1.is_lock_free();
+ a1.store(1);
+ a1.load();
+ a1.exchange(2);
+ int v;
+ a1.compare_exchange_weak(v, 2, std::memory_order_relaxed, std::memory_order_relaxed);
+ a1.compare_exchange_strong(v, 2, std::memory_order_relaxed, std::memory_order_relaxed);
+ a1.fetch_add(2);
+ a1.fetch_sub(3);
+ a1.fetch_and(3);
+ a1.fetch_or(1);
+ a1.fetch_xor(1);
+ a1++;
+ ++a1;
+ a1--;
+ --a1;
+ a1 += 2;
+ a1 -= 2;
+ a1 &= 1;
+ a1 |= 2;
+ a1 ^= 3;
+
+ a2 = 0u;
+
+ a3.store(&v);
+ a3.fetch_add(1);
+ a3.fetch_sub(1);
+ ++a3;
+ --a3;
+ a3++;
+ a3--;
+ a3 += 1;
+ a3 -= 1;
+
+ std::atomic_is_lock_free(&a1);
+ // This produces linker errors on Mingw32 for some reason, probably not required anyway for most uses??
+ //std::atomic_init(&a1, 2);
+ std::atomic_store(&a1, 3);
+ std::atomic_store_explicit(&a1, 3, std::memory_order_relaxed);
+ std::atomic_load(&a1);
+ std::atomic_load_explicit(&a1, std::memory_order_relaxed);
+ std::atomic_exchange(&a1, 3);
+ std::atomic_compare_exchange_weak(&a1, &v, 2);
+ std::atomic_compare_exchange_strong(&a1, &v, 2);
+ std::atomic_compare_exchange_weak_explicit(&a1, &v, 2, std::memory_order_relaxed, std::memory_order_relaxed);
+ std::atomic_compare_exchange_strong_explicit(&a1, &v, 2, std::memory_order_relaxed, std::memory_order_relaxed);
+
+ std::atomic_flag f = ATOMIC_FLAG_INIT;
+ f.test_and_set(std::memory_order_relaxed);
+ f.test_and_set();
+ f.clear(std::memory_order_relaxed);
+ f.clear();
+
+ std::atomic_thread_fence(std::memory_order_relaxed);
+ std::atomic_signal_fence(std::memory_order_relaxed);
+
+ return 0;
+ }
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_chrono.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_chrono.ipp
new file mode 100644
index 000000000..701b024e7
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_chrono.ipp
@@ -0,0 +1,31 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_CHRONO
+// TITLE: C++0x header <chrono> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <chrono>
+
+#include <chrono>
+
+namespace boost_no_cxx11_hdr_chrono {
+
+int test()
+{
+ using std::chrono::nanoseconds;
+ using std::chrono::microseconds;
+ using std::chrono::milliseconds;
+ using std::chrono::seconds;
+ using std::chrono::minutes;
+ using std::chrono::hours;
+ using std::chrono::system_clock;
+ using std::chrono::steady_clock;
+ using std::chrono::high_resolution_clock;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_codecvt.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_codecvt.ipp
new file mode 100644
index 000000000..428fbb4e1
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_codecvt.ipp
@@ -0,0 +1,29 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_CODECVT
+// TITLE: C++0x header <codecvt> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <codecvt>
+
+#include <codecvt>
+#include <locale> // for wstring_convert
+
+namespace boost_no_cxx11_hdr_codecvt {
+
+int test()
+{
+ using std::codecvt_utf8;
+ using std::codecvt_utf16;
+ using std::codecvt_utf8_utf16;
+#ifndef BOOST_NO_CXX11_CHAR16_T
+ std::wstring_convert<std::codecvt_utf8<char16_t>, char16_t> test;
+#endif
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_condition_variable.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_condition_variable.ipp
new file mode 100644
index 000000000..d266e8de5
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_condition_variable.ipp
@@ -0,0 +1,24 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+// TITLE: C++0x header <condition_variable> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <condition_variable>
+
+#include <condition_variable>
+
+namespace boost_no_cxx11_hdr_condition_variable {
+
+int test()
+{
+ using std::condition_variable;
+ using std::condition_variable_any;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_forward_list.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_forward_list.ipp
new file mode 100644
index 000000000..0ef465d86
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_forward_list.ipp
@@ -0,0 +1,23 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_FORWARD_LIST
+// TITLE: C++0x header <forward_list> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <forward_list>
+
+#include <forward_list>
+
+namespace boost_no_cxx11_hdr_forward_list {
+
+int test()
+{
+ std::forward_list<int> l(2u, 2);
+ return *l.begin() == 2 ? 0 : 1;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_future.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_future.ipp
new file mode 100644
index 000000000..b19302d0e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_future.ipp
@@ -0,0 +1,34 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_FUTURE
+// TITLE: C++0x header <future> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <future>
+
+#include <future>
+
+namespace boost_no_cxx11_hdr_future {
+
+int test()
+{
+ using std::is_error_code_enum;
+ using std::make_error_code;
+ using std::make_error_condition;
+ using std::future_category;
+ using std::future_error;
+ using std::promise;
+ using std::promise;
+ using std::promise;
+ using std::future;
+ using std::shared_future;
+ using std::packaged_task; // undefined
+ using std::async;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_initializer_list.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_initializer_list.ipp
new file mode 100644
index 000000000..e7ee83894
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_initializer_list.ipp
@@ -0,0 +1,27 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+// TITLE: C++0x header <initializer_list> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <initializer_list>
+
+#include <initializer_list>
+
+namespace boost_no_cxx11_hdr_initializer_list {
+
+void foo(const std::initializer_list<const char*>&)
+{
+}
+
+int test()
+{
+ foo( { "a", "b", "c" } );
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_mutex.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_mutex.ipp
new file mode 100644
index 000000000..acc1b1e92
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_mutex.ipp
@@ -0,0 +1,26 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_MUTEX
+// TITLE: C++0x header <mutex> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <mutex>
+
+#include <mutex>
+
+namespace boost_no_cxx11_hdr_mutex {
+
+int test()
+{
+ using std::mutex;
+ using std::recursive_mutex;
+ using std::timed_mutex;
+ using std::recursive_timed_mutex;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_random.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_random.ipp
new file mode 100644
index 000000000..acc139576
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_random.ipp
@@ -0,0 +1,31 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_RANDOM
+// TITLE: C++0x header <random> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <random>
+
+#include <random>
+
+namespace boost_no_cxx11_hdr_random {
+
+int test()
+{
+ using std::minstd_rand0;
+ using std::mt19937;
+ using std::mt19937_64;
+ using std::ranlux24_base;
+ using std::ranlux48_base;
+ using std::ranlux24;
+ using std::ranlux48;
+ using std::knuth_b;
+ using std::default_random_engine;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_ratio.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_ratio.ipp
new file mode 100644
index 000000000..f17dd5dea
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_ratio.ipp
@@ -0,0 +1,37 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_RATIO
+// TITLE: C++0x header <ratio> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <ratio>
+
+#include <ratio>
+
+namespace boost_no_cxx11_hdr_ratio {
+
+int test()
+{
+ using std::atto;
+ using std::femto;
+ using std::pico;
+ using std::nano;
+ using std::micro;
+ using std::milli;
+ using std::centi;
+ using std::deci;
+ using std::deca;
+ using std::hecto;
+ using std::kilo;
+ using std::mega;
+ using std::tera;
+ using std::peta;
+ using std::exa;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_regex.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_regex.ipp
new file mode 100644
index 000000000..1901482cd
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_regex.ipp
@@ -0,0 +1,29 @@
+// (C) Copyright Beman Dawes 2009
+// Copyright (c) Microsoft Corporation
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_REGEX
+// TITLE: C++0x header <regex> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <regex>
+
+#include <regex>
+
+namespace boost_no_cxx11_hdr_regex {
+
+int test()
+{
+ using std::regex;
+ using std::wregex;
+
+ regex e("\\d+");
+ wregex we(L"\\d+");
+ std::string s("123456");
+ std::wstring ws(L"123456");
+ return regex_match(s, e) && regex_match(ws, we) ? 0 : 1;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_system_error.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_system_error.ipp
new file mode 100644
index 000000000..50ced6c1e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_system_error.ipp
@@ -0,0 +1,26 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_SYSTEM_ERROR
+// TITLE: C++0x header <system_error> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <system_error>
+
+#include <system_error>
+
+namespace boost_no_cxx11_hdr_system_error {
+
+int test()
+{
+ using std::error_category;
+ using std::error_code;
+ using std::error_condition;
+ using std::system_error;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_thread.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_thread.ipp
new file mode 100644
index 000000000..612ddc33a
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_thread.ipp
@@ -0,0 +1,27 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_THREAD
+// TITLE: C++0x header <thread> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <thread>
+
+#include <thread>
+
+namespace boost_no_cxx11_hdr_thread {
+
+int test()
+{
+ using std::thread;
+ using std::this_thread::get_id;
+ using std::this_thread::yield;
+ using std::this_thread::sleep_until;
+ using std::this_thread::sleep_for;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_tuple.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_tuple.ipp
new file mode 100644
index 000000000..6911ee345
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_tuple.ipp
@@ -0,0 +1,24 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_TUPLE
+// TITLE: C++0x header <tuple> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <tuple>
+
+#include <tuple>
+
+namespace boost_no_cxx11_hdr_tuple {
+
+int test()
+{
+ std::tuple<int, int, long> t(0, 1, 2);
+ (void)t;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_type_traits.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_type_traits.ipp
new file mode 100644
index 000000000..d4862a0c8
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_type_traits.ipp
@@ -0,0 +1,109 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_TYPE_TRAITS
+// TITLE: C++0x header <type_traits> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <type_traits>
+
+#include <type_traits>
+
+namespace boost_no_cxx11_hdr_type_traits {
+
+int test()
+{
+ using std::integral_constant;
+ using std::true_type;
+ using std::false_type;
+ using std::is_void;
+ using std::is_integral;
+ using std::is_floating_point;
+ using std::is_array;
+ using std::is_pointer;
+ using std::is_lvalue_reference;
+ using std::is_rvalue_reference;
+ using std::is_member_object_pointer;
+ using std::is_member_function_pointer;
+ using std::is_enum;
+ using std::is_union;
+ using std::is_class;
+ using std::is_function;
+ using std::is_reference;
+ using std::is_arithmetic;
+ using std::is_fundamental;
+ using std::is_object;
+ using std::is_scalar;
+ using std::is_compound;
+ using std::is_member_pointer;
+ using std::is_const;
+ using std::is_volatile;
+ using std::is_trivial;
+ using std::is_trivially_copyable;
+ using std::is_standard_layout;
+ using std::is_pod;
+#if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
+ // deprecated in C++ 17:
+ using std::is_literal_type;
+ using std::result_of;
+#endif
+ using std::is_empty;
+ using std::is_polymorphic;
+ using std::is_abstract;
+ using std::is_constructible;
+ using std::is_nothrow_constructible;
+ using std::is_default_constructible;
+ using std::is_copy_constructible;
+ using std::is_copy_assignable;
+ using std::is_move_constructible;
+ using std::is_move_assignable;
+ using std::is_destructible;
+ using std::is_trivially_default_constructible;
+ using std::is_trivially_copy_constructible;
+ using std::is_trivially_move_constructible;
+ using std::is_trivially_copy_assignable;
+ using std::is_trivially_move_assignable;
+ using std::is_trivially_destructible;
+ using std::is_nothrow_default_constructible;
+ using std::is_nothrow_copy_constructible;
+ using std::is_nothrow_move_constructible;
+ using std::is_nothrow_copy_assignable;
+ using std::is_nothrow_move_assignable;
+ using std::has_virtual_destructor;
+ using std::is_signed;
+ using std::is_unsigned;
+ using std::alignment_of;
+ using std::rank;
+ using std::extent;
+ using std::is_same;
+ using std::is_base_of;
+ using std::is_convertible;
+ using std::remove_const;
+ using std::remove_volatile;
+ using std::remove_cv;
+ using std::add_const;
+ using std::add_volatile;
+ using std::add_cv;
+ using std::remove_reference;
+ using std::add_lvalue_reference;
+ using std::add_rvalue_reference;
+ using std::make_signed;
+ using std::make_unsigned;
+ using std::remove_extent;
+ using std::remove_all_extents;
+ using std::remove_pointer;
+ using std::add_pointer;
+ using std::aligned_storage;
+ using std::aligned_union;
+ using std::decay;
+ using std::enable_if;
+ using std::conditional;
+ using std::common_type;
+ using std::underlying_type;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_typeindex.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_typeindex.ipp
new file mode 100644
index 000000000..5ebe7bc29
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_typeindex.ipp
@@ -0,0 +1,33 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_TYPEINDEX
+// TITLE: C++0x header <typeindex> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <typeindex>
+
+#include <typeindex>
+
+namespace boost_no_cxx11_hdr_typeindex {
+
+int test()
+{
+#if defined( BOOST_NO_TYPEID )
+ std::type_index * p1;
+ std::hash<std::type_index> h;
+ (void)p1;
+ (void)h;
+ return 0;
+#else
+ std::type_index t1 = typeid(int);
+ std::type_index t2 = typeid(double);
+ std::hash<std::type_index> h;
+ return (t1 != t2) && (h(t1) != h(t2)) ? 0 : 1;
+#endif
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_unordered_map.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_unordered_map.ipp
new file mode 100644
index 000000000..08e94ec05
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_unordered_map.ipp
@@ -0,0 +1,24 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_UNORDERED_MAP
+// TITLE: C++0x header <unordered_map> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <unordered_map>
+
+#include <unordered_map>
+
+namespace boost_no_cxx11_hdr_unordered_map {
+
+int test()
+{
+ std::unordered_map<int, long> s1;
+ std::unordered_multimap<int, long> s2;
+ return s1.empty() && s2.empty() ? 0 : 1;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_hdr_unordered_set.ipp b/src/boost/libs/config/test/boost_no_cxx11_hdr_unordered_set.ipp
new file mode 100644
index 000000000..f36f15f0e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_hdr_unordered_set.ipp
@@ -0,0 +1,24 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_UNORDERED_SET
+// TITLE: C++0x header <unordered_set> unavailable
+// DESCRIPTION: The standard library does not supply C++0x header <unordered_set>
+
+#include <unordered_set>
+
+namespace boost_no_cxx11_hdr_unordered_set {
+
+int test()
+{
+ std::unordered_set<int> s1;
+ std::unordered_multiset<int> s2;
+ return s1.empty() && s2.empty() ? 0 : 1;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_inline_namespaces.ipp b/src/boost/libs/config/test/boost_no_cxx11_inline_namespaces.ipp
new file mode 100644
index 000000000..5b76da865
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_inline_namespaces.ipp
@@ -0,0 +1,30 @@
+// (C) Copyright Andrey Semashev 2013
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_INLINE_NAMESPACES
+// TITLE: C++11 inline namespaces.
+// DESCRIPTION: The compiler does not support C++11 inline namespaces.
+
+namespace boost_no_cxx11_inline_namespaces {
+
+inline namespace my_ns {
+
+int data = 0;
+
+} // namespace my_ns
+
+int test()
+{
+ data = 1;
+ if (&data == &my_ns::data)
+ return 0;
+ else
+ return 1;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_non_pub_def_fun.ipp b/src/boost/libs/config/test/boost_no_cxx11_non_pub_def_fun.ipp
new file mode 100644
index 000000000..8089c751f
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_non_pub_def_fun.ipp
@@ -0,0 +1,38 @@
+// (C) Copyright Andrey Semashev 2014
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
+// TITLE: C++11 non-public defaulted functions unavailable
+// DESCRIPTION: The compiler does not support C++11 defaulted functions in access control sections other than public
+
+#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
+# error Non-public defaulted functions are not supported in non-C++11 mode
+#endif
+
+namespace boost_no_cxx11_non_public_defaulted_functions {
+
+struct foo
+{
+protected:
+ foo() = default;
+ foo& operator= (foo const&) = default;
+};
+
+struct bar
+{
+private:
+ bar() = default;
+ bar& operator= (bar const&) = default;
+};
+
+int test()
+{
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_numeric_limits.ipp b/src/boost/libs/config/test/boost_no_cxx11_numeric_limits.ipp
new file mode 100644
index 000000000..29b1fc847
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_numeric_limits.ipp
@@ -0,0 +1,31 @@
+// (C) Copyright Vicente J. Botet Escriba 2010.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX11_NUMERIC_LIMITS
+// TITLE: static function lowest() in numeric_limits class <limits>
+// DESCRIPTION: static function numeric_limits<T>::lowest() are not available for use.
+
+#include <limits>
+
+namespace boost_no_cxx11_numeric_limits{
+
+int f()
+{
+ // this is never called, it just has to compile:
+ return std::numeric_limits<int>::lowest();
+}
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_cxx11_pointer_traits.ipp b/src/boost/libs/config/test/boost_no_cxx11_pointer_traits.ipp
new file mode 100644
index 000000000..3d1bb1f87
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_pointer_traits.ipp
@@ -0,0 +1,37 @@
+/*
+Copyright 2017 Glen Joseph Fernandes
+(glenjofe@gmail.com)
+
+Distributed under Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+// MACRO: BOOST_NO_CXX11_POINTER_TRAITS
+// TITLE: C++11 <memory> lacks a correct std::pointer_traits
+// DESCRIPTION: The standard library lacks a working std::pointer_traits.
+
+#include <memory>
+
+namespace boost_no_cxx11_pointer_traits {
+
+template<class T>
+struct pointer {
+ template<class U>
+ using rebind = pointer<U>;
+};
+
+template<class T>
+struct result { };
+
+template<>
+struct result<pointer<bool> > {
+ static const int value = 0;
+};
+
+int test()
+{
+ return result<std::pointer_traits<pointer<int> >::rebind<bool> >::value;
+}
+
+} /* boost_no_cxx11_pointer_traits */
diff --git a/src/boost/libs/config/test/boost_no_cxx11_ref_qualifiers.ipp b/src/boost/libs/config/test/boost_no_cxx11_ref_qualifiers.ipp
new file mode 100644
index 000000000..77d1234a8
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_ref_qualifiers.ipp
@@ -0,0 +1,33 @@
+// (C) Copyright Andrzej Krzemienski 2014
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_REF_QUALIFIERS
+// TITLE: C++11 ref-qualifiers on member functions.
+// DESCRIPTION: The compiler does not support the C++11 ref-qualifiers on member functions as described in N2439.
+
+namespace boost_no_cxx11_ref_qualifiers {
+
+struct G
+{
+ char get() & { return 'l'; }
+ char get() && { return 'r'; }
+ char get() const& { return 'c'; }
+};
+
+int test()
+{
+ G m;
+ const G c = G();
+
+ if (m.get() != 'l') return 1;
+ if (c.get() != 'c') return 1;
+ if (G().get() != 'r') return 1;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_sfinae_expr.ipp b/src/boost/libs/config/test/boost_no_cxx11_sfinae_expr.ipp
new file mode 100644
index 000000000..79cd7a854
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_sfinae_expr.ipp
@@ -0,0 +1,46 @@
+/*
+Copyright 2017 Glen Joseph Fernandes
+(glenjofe@gmail.com)
+
+Distributed under Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+// MACRO: BOOST_NO_CXX11_SFINAE_EXPR
+// TITLE: C++11 SFINAE for expressions
+// DESCRIPTION: C++11 SFINAE for expressions not supported.
+
+namespace boost_no_cxx11_sfinae_expr {
+
+template<class>
+struct ignore {
+ typedef void type;
+};
+
+template<class T>
+T& object();
+
+template<class T, class E = void>
+struct trait {
+ static const int value = 0;
+};
+
+template<class T>
+struct trait<T, typename ignore<decltype(&object<T>())>::type> { };
+
+template<class T>
+struct result {
+ static const int value = T::value;
+};
+
+class type {
+ void operator&() const { }
+};
+
+int test()
+{
+ return result<trait<type> >::value;
+}
+
+} /* boost_no_cxx11_sfinae_expr */
diff --git a/src/boost/libs/config/test/boost_no_cxx11_smart_ptr.ipp b/src/boost/libs/config/test/boost_no_cxx11_smart_ptr.ipp
new file mode 100644
index 000000000..5b563df7f
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_smart_ptr.ipp
@@ -0,0 +1,35 @@
+// (C) Copyright John Maddock 2012
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_SMART_PTR
+// TITLE: C++11 <memory> has no shared_ptr and unique_ptr
+// DESCRIPTION: The compiler does not support the C++11 smart pointer features added to <memory>
+
+#include <memory>
+// Hash functions for shared pointers should be in <memory>
+// but with some std lib's we have to include <functional> as well...
+#include <functional>
+
+namespace boost_no_cxx11_smart_ptr {
+
+int test()
+{
+ std::unique_ptr<int> upi(new int);
+ std::shared_ptr<int> spi(new int), spi2(new int);
+ spi = std::static_pointer_cast<int>(spi);
+
+ std::hash<std::shared_ptr<int> > h1;
+ std::hash<std::unique_ptr<int> > h2;
+
+ (void)h1;
+ (void)h2;
+
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_std_align.ipp b/src/boost/libs/config/test/boost_no_cxx11_std_align.ipp
new file mode 100644
index 000000000..145e24c6d
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_std_align.ipp
@@ -0,0 +1,34 @@
+// (C) Copyright John Maddock 2012
+// (C) Copyright Peter Dimov 2014
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_STD_ALIGN
+// TITLE: C++11 <memory> doesn't have a working std::align
+// DESCRIPTION: The compiler does not support the function std::align added to <memory>
+
+#include <memory>
+
+namespace boost_no_cxx11_std_align {
+
+int test()
+{
+ char buffer[ 32 ];
+
+ void * ptr = buffer + 1;
+ std::size_t space = sizeof( buffer ) - 1;
+
+ void * p2 = std::align( 4, 2, ptr, space );
+
+ if( p2 == 0 ) return 1;
+ if( p2 != ptr ) return 1;
+ if( (size_t)p2 % 4 ) return 1;
+
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_thread_local.ipp b/src/boost/libs/config/test/boost_no_cxx11_thread_local.ipp
new file mode 100644
index 000000000..0f4281fed
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_thread_local.ipp
@@ -0,0 +1,36 @@
+// (C) Copyright John Maddock 2012.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX11_THREAD_LOCAL
+// TITLE: thread_local
+// DESCRIPTION: The compiler supports the thread_local storage specifier.
+
+#include <string>
+
+
+namespace boost_no_cxx11_thread_local{
+
+template <class T>
+int check_local(int n)
+{
+ static thread_local T s(n, ' ');
+ static thread_local int size = s.size();
+ if(size != n)
+ {
+ s = T(n, ' ');
+ size = n;
+ }
+ return size;
+}
+
+int test()
+{
+ return check_local<std::string>(5) == 5 ? 0 : 1;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_cxx11_trailing_result_types.ipp b/src/boost/libs/config/test/boost_no_cxx11_trailing_result_types.ipp
new file mode 100644
index 000000000..17012048e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_trailing_result_types.ipp
@@ -0,0 +1,26 @@
+// (C) Copyright Andrey Semashev 2013
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_TRAILING_RESULT_TYPES
+// TITLE: C++11 trailing function result types syntax.
+// DESCRIPTION: The compiler does not support the new C++11 function result types specification syntax.
+
+namespace boost_no_cxx11_trailing_result_types {
+
+template< typename T >
+auto foo(T const& t) -> T
+{
+ return t;
+}
+
+int test()
+{
+ return foo(0);
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_unrestricted_union.ipp b/src/boost/libs/config/test/boost_no_cxx11_unrestricted_union.ipp
new file mode 100644
index 000000000..2b7adaf84
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_unrestricted_union.ipp
@@ -0,0 +1,55 @@
+// (C) Copyright Edward Diener 2019
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_UNRESTRICTED_UNION
+// TITLE: C++11 unrestricted union
+// DESCRIPTION: The compiler does not support the C++11 unrestricted union
+
+#include <new>
+
+namespace boost_no_cxx11_unrestricted_union {
+
+struct HoldsShort
+ {
+ short i;
+ HoldsShort();
+ };
+
+HoldsShort::HoldsShort() : i(1)
+ {
+ }
+
+union with_static_data
+ {
+ int a;
+ long b;
+ HoldsShort o;
+ with_static_data();
+ static int sd;
+ };
+
+with_static_data::with_static_data() :
+ a(0)
+ {
+ }
+
+int with_static_data::sd = 0;
+
+int test()
+{
+ with_static_data wsd;
+ wsd.a = 24;
+ wsd.b = 48L;
+ new(&wsd.o) HoldsShort;
+ wsd.o.i = 2;
+ with_static_data::sd = 1;
+ bool b = (wsd.o.i == 2 && with_static_data::sd == 1);
+ return b ? 0 : 1;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx11_user_lit.ipp b/src/boost/libs/config/test/boost_no_cxx11_user_lit.ipp
new file mode 100644
index 000000000..090e0c036
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx11_user_lit.ipp
@@ -0,0 +1,67 @@
+// (C) Copyright John Maddock 2013
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_USER_DEFINED_LITERALS
+// TITLE: C++11 user defined literals.
+// DESCRIPTION: The compiler does not support the C++11 literals including user-defined suffixes.
+
+#include <memory>
+
+namespace boost_no_cxx11_user_defined_literals {
+
+struct my_literal
+{
+ my_literal() : val(0) {}
+ my_literal(int i) : val(i) {}
+ my_literal(const my_literal& a) : val(a.val) {}
+ bool operator==(const my_literal& a) const { return val == a.val; }
+ int val;
+};
+
+template <unsigned base, unsigned long long val, char... Digits>
+struct parse_int
+{
+ // The default specialization is also the termination condition:
+ // it gets invoked only when sizeof...Digits == 0.
+ static_assert(base<=16u,"only support up to hexadecimal");
+ static constexpr unsigned long long value{ val };
+};
+
+template <unsigned base, unsigned long long val, char c, char... Digits>
+struct parse_int<base, val, c, Digits...>
+{
+ static constexpr unsigned long long char_value = (c >= '0' && c <= '9')
+ ? c - '0'
+ : (c >= 'a' && c <= 'f')
+ ? c - 'a'
+ : (c >= 'A' && c <= 'F')
+ ? c - 'A'
+ : 400u;
+ static_assert(char_value < base, "Encountered a digit out of range");
+ static constexpr unsigned long long value{ parse_int<base, val * base +
+char_value, Digits...>::value };
+};
+
+my_literal operator "" _suf1(unsigned long long v)
+{
+ return my_literal(v);
+}
+template <char...PACK>
+my_literal operator "" _bin()
+{
+ return parse_int<2, 0, PACK...>::value;
+}
+
+int test()
+{
+ my_literal a = 0x23_suf1;
+ my_literal b = 1001_bin;
+ return ((a == my_literal(0x23)) && (b == my_literal(9))) ? 0 : 1;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx14_binary_literals.ipp b/src/boost/libs/config/test/boost_no_cxx14_binary_literals.ipp
new file mode 100644
index 000000000..326d5b03e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx14_binary_literals.ipp
@@ -0,0 +1,23 @@
+
+// (C) Copyright Kohei Takahashi 2014
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX14_BINARY_LITERALS
+// TITLE: C++14 binary literals unavailable
+// DESCRIPTION: The compiler does not support C++14 binary literals
+
+namespace boost_no_cxx14_binary_literals
+{
+
+int test()
+{
+ return ((int)0b01000010 == (int)0x42) ? 0 : 1;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_cxx14_constexpr.ipp b/src/boost/libs/config/test/boost_no_cxx14_constexpr.ipp
new file mode 100644
index 000000000..cc6552700
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx14_constexpr.ipp
@@ -0,0 +1,72 @@
+
+// (C) Copyright Kohei Takahashi 2014,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)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX14_CONSTEXPR
+// TITLE: C++14 relaxed constexpr unavailable
+// DESCRIPTION: The compiler does not support C++14 relaxed constexpr
+
+namespace boost_no_cxx14_constexpr
+{
+
+namespace detail
+{
+ template <class> struct void_ { typedef void type; };
+
+ struct non_tmpl
+ {
+ constexpr int foo() const { return 1; }
+ constexpr int foo() { return 0; }
+ };
+
+ template <typename T>
+ struct tmpl : non_tmpl { };
+}
+
+// Test relaxed constexpr with dependent type; for more details, see comment of
+// BOOST_CXX14_CONSTEXPR definition in boost/config/compiler/clang.hpp .
+template <class T>
+constexpr typename detail::void_<T>::type decrement(T &value)
+{
+ --value;
+}
+
+constexpr int non_cv_member(detail::non_tmpl x)
+{
+ return x.foo();
+}
+
+template <typename T>
+constexpr int non_cv_member(detail::tmpl<T> x)
+{
+ return x.foo();
+}
+
+constexpr int zero()
+{
+ int ret = 1;
+ decrement(ret);
+ return ret;
+}
+
+template <int v> struct compile_time_value
+{
+ static constexpr int value = v;
+};
+
+int test()
+{
+ return compile_time_value<
+ zero()
+ + non_cv_member(detail::non_tmpl())
+ + non_cv_member(detail::tmpl<int>())
+ >::value;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_cxx14_decltype_auto.ipp b/src/boost/libs/config/test/boost_no_cxx14_decltype_auto.ipp
new file mode 100644
index 000000000..4f538dcc0
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx14_decltype_auto.ipp
@@ -0,0 +1,33 @@
+
+// (C) Copyright Kohei Takahashi 2014
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX14_DECLTYPE_AUTO
+// TITLE: C++14 decltype(auto) unavailable
+// DESCRIPTION: The compiler does not support C++14 decltype(auto)
+
+namespace boost_no_cxx14_decltype_auto
+{
+
+void quiet_warning(int){}
+
+const int &foo(const int &x)
+{
+ return x;
+}
+
+int test()
+{
+ int j;
+ decltype(auto) x = foo(j);
+ quiet_warning(x);
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_cxx14_digit_separator.ipp b/src/boost/libs/config/test/boost_no_cxx14_digit_separator.ipp
new file mode 100644
index 000000000..ed4bcf236
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx14_digit_separator.ipp
@@ -0,0 +1,23 @@
+
+// (C) Copyright Kohei Takahashi 2014
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX14_DIGIT_SEPARATORS
+// TITLE: C++14 digit separator unavailable
+// DESCRIPTION: The compiler does not support C++14 digit separator
+
+namespace boost_no_cxx14_digit_separators
+{
+
+int test()
+{
+ return 0'0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_cxx14_generic_lambda.ipp b/src/boost/libs/config/test/boost_no_cxx14_generic_lambda.ipp
new file mode 100644
index 000000000..e271ef5b4
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx14_generic_lambda.ipp
@@ -0,0 +1,23 @@
+
+// (C) Copyright Kohei Takahashi 2014
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX14_GENERIC_LAMBDAS
+// TITLE: C++14 generic lambda unavailable
+// DESCRIPTION: The compiler does not support C++14 generic lambda
+
+namespace boost_no_cxx14_generic_lambdas
+{
+
+int test()
+{
+ return [](auto ret) { return ret; } (0);
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_cxx14_hdr_shared_mutex.ipp b/src/boost/libs/config/test/boost_no_cxx14_hdr_shared_mutex.ipp
new file mode 100644
index 000000000..ceae56590
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx14_hdr_shared_mutex.ipp
@@ -0,0 +1,27 @@
+// (C) Copyright Edward Diener 2015
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX14_HDR_SHARED_MUTEX
+// TITLE: C++0y header <shared_mutex> unavailable
+// DESCRIPTION: The standard library does not supply C++0y header <shared_mutex>
+
+#include <shared_mutex>
+
+namespace boost_no_cxx14_hdr_shared_mutex {
+
+int test()
+{
+ //
+ // We should probably test __cpp_lib_shared_timed_mutex here, but since neither
+ // MSVC/Dinkumware, nor clang/libc++ bother to set it (as of July 2015), there's
+ // not much point....
+ using std::shared_timed_mutex;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx14_lambda_capture.ipp b/src/boost/libs/config/test/boost_no_cxx14_lambda_capture.ipp
new file mode 100644
index 000000000..a78873662
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx14_lambda_capture.ipp
@@ -0,0 +1,23 @@
+
+// (C) Copyright Kohei Takahashi 2014
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
+// TITLE: C++14 initialized lambda capture unavailable
+// DESCRIPTION: The compiler does not support C++14 initialized lambda capture
+
+namespace boost_no_cxx14_initialized_lambda_captures
+{
+
+int test()
+{
+ return [ret = 0] { return ret; } ();
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_cxx14_member_init.ipp b/src/boost/libs/config/test/boost_no_cxx14_member_init.ipp
new file mode 100644
index 000000000..2b6c77b4c
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx14_member_init.ipp
@@ -0,0 +1,30 @@
+
+// (C) Copyright Kohei Takahashi 2014
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX14_AGGREGATE_NSDMI
+// TITLE: C++14 member initializers unavailable
+// DESCRIPTION: The compiler does not support C++14 member initializers
+
+namespace boost_no_cxx14_aggregate_nsdmi
+{
+
+struct S
+{
+ int x;
+ int y = 0;
+};
+
+int test()
+{
+ S s[] = { { 0x72 }, { 0x42 } };
+ return s[1].x - 0x42;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_cxx14_return_type_ded.ipp b/src/boost/libs/config/test/boost_no_cxx14_return_type_ded.ipp
new file mode 100644
index 000000000..376567311
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx14_return_type_ded.ipp
@@ -0,0 +1,29 @@
+
+// (C) Copyright Kohei Takahashi 2014
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
+// TITLE: C++14 return type deduction unavailable
+// DESCRIPTION: The compiler does not support C++14 return type deduction
+
+namespace boost_no_cxx14_return_type_deduction
+{
+
+template<typename T>
+auto deduced_abs(T x)
+{
+ return x > 0 ? x : -x;
+}
+
+int test()
+{
+ return deduced_abs(2) - deduced_abs(-2);
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_cxx14_std_exchange.ipp b/src/boost/libs/config/test/boost_no_cxx14_std_exchange.ipp
new file mode 100644
index 000000000..111abd9cc
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx14_std_exchange.ipp
@@ -0,0 +1,23 @@
+// (C) Copyright Oliver Kowalke 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)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX14_STD_EXCHANGE
+// TITLE: apply
+// DESCRIPTION: The compiler supports the std::exchange() function.
+
+#include <utility>
+
+namespace boost_no_cxx14_std_exchange {
+
+int test() {
+ int * i = new int( 1);
+ int * j = std::exchange( i, nullptr);
+ delete j;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx14_var_templ.ipp b/src/boost/libs/config/test/boost_no_cxx14_var_templ.ipp
new file mode 100644
index 000000000..7162dac75
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx14_var_templ.ipp
@@ -0,0 +1,26 @@
+
+// (C) Copyright Kohei Takahashi 2014
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX14_VARIABLE_TEMPLATES
+// TITLE: C++14 variable templates unavailable
+// DESCRIPTION: The compiler does not support C++14 variable templates
+
+namespace boost_no_cxx14_variable_templates
+{
+
+template <class T>
+T zero = static_cast<T>(0);
+
+int test()
+{
+ return zero<int>;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_cxx17_fold_expressions.ipp b/src/boost/libs/config/test/boost_no_cxx17_fold_expressions.ipp
new file mode 100644
index 000000000..7566a066c
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx17_fold_expressions.ipp
@@ -0,0 +1,27 @@
+/*
+Copyright 2017 Glen Joseph Fernandes
+(glenjofe@gmail.com)
+
+Distributed under Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+// MACRO: BOOST_NO_CXX17_FOLD_EXPRESSIONS
+// TITLE: C++17 fold expressions
+// DESCRIPTION: C++17 fold expressions are not supported.
+
+namespace boost_no_cxx17_fold_expressions {
+
+template<class... Args>
+auto sum(Args&&... args)
+{
+ return (args + ... + 0);
+}
+
+int test()
+{
+ return sum(1, -1, 1, 1, -1, -1);
+}
+
+} /* boost_no_cxx17_fold_expressions */
diff --git a/src/boost/libs/config/test/boost_no_cxx17_hdr_optional.ipp b/src/boost/libs/config/test/boost_no_cxx17_hdr_optional.ipp
new file mode 100644
index 000000000..86d799efe
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx17_hdr_optional.ipp
@@ -0,0 +1,23 @@
+// (C) Copyright John Maddock 2018
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX17_HDR_OPTIONAL
+// TITLE: C++17 header <optional> unavailable
+// DESCRIPTION: The standard library does not supply C++17 header <optional>
+
+#include <optional>
+
+namespace boost_no_cxx17_hdr_optional {
+
+int test()
+{
+ using std::optional;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx17_hdr_string_view.ipp b/src/boost/libs/config/test/boost_no_cxx17_hdr_string_view.ipp
new file mode 100644
index 000000000..11589dab6
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx17_hdr_string_view.ipp
@@ -0,0 +1,26 @@
+// (C) Copyright John Maddock 2018
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX17_HDR_STRING_VIEW
+// TITLE: C++17 header <string_view> unavailable
+// DESCRIPTION: The standard library does not supply C++17 header <string_view>
+
+#include <string_view>
+
+namespace boost_no_cxx17_hdr_string_view {
+
+int test()
+{
+ using std::string_view;
+ using std::wstring_view;
+ using std::u16string_view;
+ using std::u32string_view;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx17_hdr_variant.ipp b/src/boost/libs/config/test/boost_no_cxx17_hdr_variant.ipp
new file mode 100644
index 000000000..a23ac2d79
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx17_hdr_variant.ipp
@@ -0,0 +1,32 @@
+// (C) Copyright John Maddock 2019
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX17_HDR_VARIANT
+// TITLE: C++17 header <variant> unavailable
+// DESCRIPTION: The standard library does not supply C++17 header <variant>
+
+#include <variant>
+
+namespace boost_no_cxx17_hdr_variant {
+
+int test()
+{
+ using std::variant;
+ using std::visit;
+ using std::holds_alternative;
+ using std::get;
+ using std::get_if;
+ using std::monostate;
+ using std::bad_variant_access;
+ using std::variant_size;
+ using std::variant_alternative;
+ using std::variant_npos;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx17_if_constexpr.ipp b/src/boost/libs/config/test/boost_no_cxx17_if_constexpr.ipp
new file mode 100644
index 000000000..3392ee73f
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx17_if_constexpr.ipp
@@ -0,0 +1,45 @@
+/*
+Copyright 2018 T. Zachary Laine
+(whatwasthataddress@gmail.com)
+
+Distributed under Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+// MACRO: BOOST_NO_CXX17_IF_CONSTEXPR
+// TITLE: C++17 if constexpr
+// DESCRIPTION: C++17 if constexpr are not supported.
+
+namespace boost_no_cxx17_if_constexpr {
+
+template <typename T, typename U>
+struct same
+{
+ static constexpr bool value = false;
+};
+
+template <typename T>
+struct same<T, T>
+{
+ static constexpr bool value = true;
+};
+
+int test()
+{
+ if constexpr (true) {
+ if constexpr (1 != 0) {
+ if constexpr (same<int, double>::value) {
+ static_assert(!same<int, double>::value, "");
+ return 1;
+ } else if constexpr (false) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+ }
+ return 1;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx17_inline_variables.ipp b/src/boost/libs/config/test/boost_no_cxx17_inline_variables.ipp
new file mode 100644
index 000000000..d144ed9ad
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx17_inline_variables.ipp
@@ -0,0 +1,27 @@
+/*
+Copyright 2017 Glen Joseph Fernandes
+(glenjofe@gmail.com)
+
+Distributed under Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+// MACRO: BOOST_NO_CXX17_INLINE_VARIABLES
+// TITLE: C++17 inline variables
+// DESCRIPTION: C++17 inline variables are not supported.
+
+namespace boost_no_cxx17_inline_variables {
+
+inline const int Value = 1;
+
+struct Type {
+ static inline const int value = 1;
+};
+
+int test()
+{
+ return Type::value - Value;
+}
+
+} /* boost_no_cxx17_inline_variables */
diff --git a/src/boost/libs/config/test/boost_no_cxx17_iterator_traits.ipp b/src/boost/libs/config/test/boost_no_cxx17_iterator_traits.ipp
new file mode 100644
index 000000000..cef88c058
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx17_iterator_traits.ipp
@@ -0,0 +1,54 @@
+// Copyright (c) Andrey Semashev 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_CXX17_ITERATOR_TRAITS
+// TITLE: C++17 std::iterator_traits
+// DESCRIPTION: The compiler does not support SFINAE-friendly std::iterator_traits defined in C++17.
+
+#include <iterator>
+
+namespace boost_no_cxx17_iterator_traits {
+
+struct iterator
+{
+ typedef std::random_access_iterator_tag iterator_category;
+ typedef char value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef char* pointer;
+ typedef char& reference;
+
+ reference operator*()const;
+ iterator operator++();
+};
+
+struct non_iterator {};
+
+template< typename T >
+struct void_type { typedef void type; };
+
+template< typename Traits, typename Void = void >
+struct has_iterator_category
+{
+ enum { value = false };
+};
+
+template< typename Traits >
+struct has_iterator_category< Traits, typename void_type< typename Traits::iterator_category >::type >
+{
+ enum { value = true };
+};
+
+int test()
+{
+ static_assert(has_iterator_category< std::iterator_traits< boost_no_cxx17_iterator_traits::iterator > >::value, "has_iterator_category failed");
+
+ static_assert(!has_iterator_category< std::iterator_traits< boost_no_cxx17_iterator_traits::non_iterator > >::value, "has_iterator_category negative check failed");
+
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx17_std_apply.ipp b/src/boost/libs/config/test/boost_no_cxx17_std_apply.ipp
new file mode 100644
index 000000000..c657c0391
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx17_std_apply.ipp
@@ -0,0 +1,28 @@
+// (C) Copyright Oliver Kowalke 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)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX17_STD_APPLY
+// TITLE: apply
+// DESCRIPTION: The compiler supports the std::apply() function.
+
+#include <functional>
+#include <tuple>
+
+namespace boost_no_cxx17_std_apply {
+
+int foo( int i, int j) {
+ return i + j;
+}
+
+int test() {
+ int i = 1, j = 2;
+ std::apply( foo, std::make_tuple( i, j) );
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_cxx17_std_invoke.ipp b/src/boost/libs/config/test/boost_no_cxx17_std_invoke.ipp
new file mode 100644
index 000000000..7de7e6aed
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx17_std_invoke.ipp
@@ -0,0 +1,27 @@
+// (C) Copyright Oliver Kowalke 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)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX17_STD_INVOKE
+// TITLE: invoke
+// DESCRIPTION: The compiler supports the std::invoke() function.
+
+#include <functional>
+
+namespace boost_no_cxx17_std_invoke {
+
+int foo( int i, int j) {
+ return i + j;
+}
+
+int test() {
+ int i = 1, j = 2;
+ typename std::invoke_result<int(&)(int,int), int, int>::type t = std::invoke( foo, i, j);
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_cxx17_structured_bindings.ipp b/src/boost/libs/config/test/boost_no_cxx17_structured_bindings.ipp
new file mode 100644
index 000000000..c5c725980
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx17_structured_bindings.ipp
@@ -0,0 +1,36 @@
+/*
+Copyright 2017 Glen Joseph Fernandes
+(glenjofe@gmail.com)
+
+Distributed under Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+// MACRO: BOOST_NO_CXX17_STRUCTURED_BINDINGS
+// TITLE: C++17 structured bindings
+// DESCRIPTION: C++17 structured bindings are not supported.
+
+#include <tuple>
+
+namespace boost_no_cxx17_structured_bindings {
+
+struct P {
+ int x;
+ int y;
+};
+
+int test()
+{
+ auto [c, d] = std::make_tuple(1, 2);
+ if (c != 1 || d != 2) {
+ return 1;
+ }
+ auto [a, b] = P{1, 2};
+ if (a != 1 || b != 2) {
+ return 1;
+ }
+ return 0;
+}
+
+} /* boost_no_cxx17_structured_bindings */
diff --git a/src/boost/libs/config/test/boost_no_cxx98_binders.ipp b/src/boost/libs/config/test/boost_no_cxx98_binders.ipp
new file mode 100644
index 000000000..c287e35cc
--- /dev/null
+++ b/src/boost/libs/config/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 <functional>
+
+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/src/boost/libs/config/test/boost_no_cxx98_function_base.ipp b/src/boost/libs/config/test/boost_no_cxx98_function_base.ipp
new file mode 100644
index 000000000..6bc897b33
--- /dev/null
+++ b/src/boost/libs/config/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 <functional>
+
+namespace boost_no_cxx98_function_base{
+
+struct A : public std::unary_function<int, int>{};
+struct B : public std::binary_function<int, int, int>{};
+
+int test()
+{
+ A a;
+ B b;
+ (void)a;
+ (void)b;
+ return static_cast<B::result_type>(0);
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_cxx98_random_shuffle.ipp b/src/boost/libs/config/test/boost_no_cxx98_random_shuffle.ipp
new file mode 100644
index 000000000..abef913fa
--- /dev/null
+++ b/src/boost/libs/config/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 <algorithm>
+
+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/src/boost/libs/config/test/boost_no_cxx_hdr_functional.ipp b/src/boost/libs/config/test/boost_no_cxx_hdr_functional.ipp
new file mode 100644
index 000000000..fbcc46b01
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_cxx_hdr_functional.ipp
@@ -0,0 +1,43 @@
+// (C) Copyright John Maddock 2012
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_HDR_FUNCTIONAL
+// TITLE: C++11 <functional> unavailable
+// DESCRIPTION: The compiler does not support the C++11 features added to <functional>
+
+#include <functional>
+
+void f(int, float){}
+
+namespace boost_no_cxx11_hdr_functional {
+
+int test()
+{
+ int i = 0;
+ std::ref(i);
+ std::cref(i);
+
+ std::bit_and<int> b1;
+ std::bit_or<int> b2;
+ std::bit_xor<int> b3;
+
+ std::hash<short> hs;
+
+ (void)b1;
+ (void)b2;
+ (void)b3;
+ (void)hs;
+
+ std::bind(f, std::placeholders::_1, 0.0f);
+
+ std::function<void(int, float)> fun(f);
+
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_decltype.ipp b/src/boost/libs/config/test/boost_no_decltype.ipp
new file mode 100644
index 000000000..0b0592439
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_decltype.ipp
@@ -0,0 +1,54 @@
+
+// (C) Copyright Beman Dawes 2008
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_DECLTYPE
+// TITLE: C++0x decltype unavailable
+// DESCRIPTION: The compiler does not support C++0x decltype
+
+namespace boost_no_cxx11_decltype {
+
+void quiet_warning(int){}
+
+struct test_class
+{
+ test_class() {}
+};
+
+test_class get_test_class()
+{
+ return test_class();
+}
+
+template<typename F>
+void baz(F f)
+{
+ //
+ // Strangely VC-10 deduces the return type of F
+ // to be "test_class&". Remove the constructor
+ // from test_class and then decltype does work OK!!
+ //
+ typedef decltype(f()) res;
+ res r;
+}
+
+int test()
+{
+ int i;
+ decltype(i) j(0);
+ quiet_warning(j);
+ decltype(get_test_class()) k;
+ #ifndef _MSC_VER
+ // Although the VC++ decltype is buggy, we none the less enable support,
+ // so don't test the bugs for now!
+ baz(get_test_class);
+ #endif
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_decltype_n3276.ipp b/src/boost/libs/config/test/boost_no_decltype_n3276.ipp
new file mode 100644
index 000000000..9173bb381
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_decltype_n3276.ipp
@@ -0,0 +1,137 @@
+
+// (C) Copyright Eric Niebler 2011
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_DECLTYPE_N3276
+// TITLE: C++0x decltype v1.1 unavailable
+// DESCRIPTION: The compiler does not support extensions to C++0x
+// decltype as described in N3276 and accepted in Madrid,
+// March 2011:
+// <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf>
+
+namespace boost_no_cxx11_decltype_n3276 {
+
+// A simplified result_of implementation.
+// that uses decltype.
+template<typename Sig>
+struct result_of;
+
+template<typename T>
+T& declvar();
+
+// use decltype
+template<typename Fun, typename T>
+struct result_of<Fun(T)>
+{
+ typedef decltype(declvar<Fun>()(declvar<T>())) type;
+};
+
+template<typename Fun, typename T, typename U>
+struct result_of<Fun(T, U)>
+{
+ typedef decltype(declvar<Fun>()(declvar<T>(), declvar<U>())) type;
+};
+
+// simple tuple type
+template<typename A0 = void, typename A1 = void, typename A2 = void>
+struct tuple;
+
+template<typename A0>
+struct tuple<A0, void, void>
+{
+ A0 a0_;
+
+ tuple(A0 const &a0)
+ : a0_(a0)
+ {}
+};
+
+template<typename A0, typename A1>
+struct tuple<A0, A1>
+{
+ A0 a0_;
+ A1 a1_;
+
+ tuple(A0 const &a0, A1 const & a1)
+ : a0_(a0)
+ , a1_(a1)
+ {}
+};
+
+// A node in an expression tree
+template<class Tag, class Args> // Args is a tuple.
+struct Expr;
+
+// A function object that builds expression nodes
+template<class Tag>
+struct MakeExpr
+{
+ template<class T>
+ Expr<Tag, tuple<T> > operator()(T const & t) const
+ {
+ return Expr<Tag, tuple<T> >(tuple<T>(t));
+ }
+
+ template<class T, typename U>
+ Expr<Tag, tuple<T, U> > operator()(T const & t, U const & u) const
+ {
+ return Expr<Tag, tuple<T, U> >(tuple<T, U>(t, u));
+ }
+};
+
+// Here are tag types that encode in an expression node
+// what operation created the node.
+struct Terminal;
+struct BinaryPlus;
+struct FunctionCall;
+
+typedef MakeExpr<Terminal> MakeTerminal;
+typedef MakeExpr<BinaryPlus> MakeBinaryPlus;
+typedef MakeExpr<FunctionCall> MakeFunctionCall;
+
+template<class Tag, class Args>
+struct Expr
+{
+ Args args_;
+
+ explicit Expr(Args const & t) : args_(t) {}
+
+ // An overloaded operator+ that creates a binary plus node
+ template<typename RTag, typename RArgs>
+ typename result_of<MakeBinaryPlus(Expr, Expr<RTag, RArgs>)>::type
+ operator+(Expr<RTag, RArgs> const &right) const
+ {
+ return MakeBinaryPlus()(*this, right);
+ }
+
+ // An overloaded function call operator that creates a unary
+ // function call node
+ typename result_of<MakeFunctionCall(Expr)>::type
+ operator()() const
+ {
+ return MakeFunctionCall()(*this);
+ }
+};
+
+int test()
+{
+ // This is a terminal in an expression tree
+ Expr<Terminal, tuple<int> > i = MakeTerminal()(42);
+
+ i + i; // OK, this creates a binary plus node.
+
+ i(); // OK, this creates a unary function-call node.
+ // NOTE: If N3276 has not been implemented, this
+ // line will set off an infinite cascade of template
+ // instantiations that will run the compiler out of
+ // memory.
+
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_ded_typename.ipp b/src/boost/libs/config/test/boost_no_ded_typename.ipp
new file mode 100644
index 000000000..ef58d272a
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_ded_typename.ipp
@@ -0,0 +1,40 @@
+// (C) Copyright John Maddock and Dave Abrahams 2002.
+// 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_DEDUCED_TYPENAME
+// TITLE: deduced typenames
+// DESCRIPTION: Some compilers can't use the typename keyword in deduced contexts.
+
+#ifndef BOOST_DEDUCED_TYPENAME
+#define BOOST_DEDUCED_TYPENAME typename
+#endif
+
+
+namespace boost_deduced_typename{
+
+template <class T>
+int f(T const volatile*, BOOST_DEDUCED_TYPENAME T::type* = 0)
+{
+ return 0;
+}
+
+struct X { typedef int type; };
+
+int test()
+{
+ return f((X*)0);
+}
+
+}
+
+
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_defaulted_functions.ipp b/src/boost/libs/config/test/boost_no_defaulted_functions.ipp
new file mode 100644
index 000000000..5c4c7d021
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_defaulted_functions.ipp
@@ -0,0 +1,28 @@
+// (C) Copyright Beman Dawes 2008
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+// TITLE: C++0x defaulted functions unavailable
+// DESCRIPTION: The compiler does not support C++0x defaulted functions
+
+#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
+# error Defaulted functions are not supported in non-C++0x mode
+#endif
+
+namespace boost_no_cxx11_defaulted_functions {
+
+ struct foo {
+ foo() = default;
+ };
+
+int test()
+{
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_deleted_functions.ipp b/src/boost/libs/config/test/boost_no_deleted_functions.ipp
new file mode 100644
index 000000000..4d3f0a907
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_deleted_functions.ipp
@@ -0,0 +1,28 @@
+// (C) Copyright Beman Dawes 2008
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_DELETED_FUNCTIONS
+// TITLE: C++0x =delete functions unavailable
+// DESCRIPTION: The compiler does not support C++0x =delete functions
+
+#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
+# error Deleted functions are not supported in non-C++0x mode
+#endif
+
+namespace boost_no_cxx11_deleted_functions {
+
+ struct foo {
+ foo() = delete;
+ };
+
+int test()
+{
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_dep_nested_class.ipp b/src/boost/libs/config/test/boost_no_dep_nested_class.ipp
new file mode 100644
index 000000000..42c575030
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_dep_nested_class.ipp
@@ -0,0 +1,58 @@
+// (C) Copyright John Maddock 2001.
+// 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_DEPENDENT_NESTED_DERIVATIONS
+// TITLE: dependent nested template classes
+// DESCRIPTION: The compiler fails to compile
+// a nested class that has a dependent base class:
+// template<typename T>
+// struct foo : {
+// template<typename U>
+// struct bar : public U {};
+// };
+#ifndef BOOST_NESTED_TEMPLATE
+#define BOOST_NESTED_TEMPLATE template
+#endif
+
+
+namespace boost_no_dependent_nested_derivations{
+
+struct UDT1{};
+struct UDT2{};
+
+template<typename T>
+struct foo
+{
+ template<typename U>
+ struct bar : public foo<U>
+ {};
+};
+
+template <class T>
+void foo_test(T)
+{
+ typedef foo<T> foo_type;
+ typedef typename foo_type::BOOST_NESTED_TEMPLATE bar<UDT2> bar_type;
+ foo<T> ft;
+ bar_type bt;
+ (void) &bt;
+ (void) &ft;
+}
+
+int test()
+{
+ foo_test(UDT1());
+ return 0;
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_dep_val_param.ipp b/src/boost/libs/config/test/boost_no_dep_val_param.ipp
new file mode 100644
index 000000000..759bef058
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_dep_val_param.ipp
@@ -0,0 +1,37 @@
+// (C) Copyright John Maddock 2001.
+// 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_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+// TITLE: dependent non-type template parameters
+// DESCRIPTION: Template value parameters cannot have a dependent
+// type, for example:
+// template<class T, typename T::type value>
+// class X { ... };
+
+
+namespace boost_no_dependent_types_in_template_value_parameters{
+
+template <class T, typename T::type value = 0>
+class X
+{};
+
+template <class T>
+struct typifier
+{
+ typedef T type;
+};
+
+int test()
+{
+ X<typifier<int> > x;
+ (void) &x; // avoid "unused variable" warning
+ return 0;
+}
+
+}
+
+
diff --git a/src/boost/libs/config/test/boost_no_excep_std.ipp b/src/boost/libs/config/test/boost_no_excep_std.ipp
new file mode 100644
index 000000000..10d48f470
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_excep_std.ipp
@@ -0,0 +1,35 @@
+// (C) Copyright John Maddock 2001.
+// 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_EXCEPTION_STD_NAMESPACE
+// TITLE: <exception> is in namespace std
+// DESCRIPTION: Some std libs don't put the contents of
+// <exception> in namespace std.
+
+#include <exception>
+
+namespace boost_no_exception_std_namespace{
+
+int t(int i)
+{
+ if(i)
+ std::terminate();
+ return 0;
+}
+
+int test()
+{
+ return t(0);
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_exceptions.ipp b/src/boost/libs/config/test/boost_no_exceptions.ipp
new file mode 100644
index 000000000..862088f5e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_exceptions.ipp
@@ -0,0 +1,43 @@
+// (C) Copyright John Maddock 2001.
+// 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_EXCEPTIONS
+// TITLE: exception handling support
+// DESCRIPTION: The compiler in its current translation mode supports
+// exception handling.
+
+
+namespace boost_no_exceptions{
+
+void throw_it(int i)
+{
+ throw i;
+}
+
+int test()
+{
+ try
+ {
+ throw_it(2);
+ }
+ catch(int i)
+ {
+ return (i == 2) ? 0 : -1;
+ }
+ catch(...)
+ {
+ return -1;
+ }
+ return -1;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_exp_func_tem_arg.ipp b/src/boost/libs/config/test/boost_no_exp_func_tem_arg.ipp
new file mode 100644
index 000000000..3333b22b6
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_exp_func_tem_arg.ipp
@@ -0,0 +1,55 @@
+// (C) Copyright John Maddock 2001.
+// 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_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+// TITLE: non-deduced function template parameters
+// DESCRIPTION: Can only use deduced template arguments when
+// calling function template instantiations.
+
+#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1200)
+#error "This is known to be buggy under VC6"
+#endif
+
+
+namespace boost_no_explicit_function_template_arguments{
+
+struct foo
+{
+ template<class T> int bar(){return 0;}
+ template<int I> int bar(){return 1;}
+};
+
+int test_0()
+{
+ return 0;
+}
+
+
+template <int i>
+bool foo_17041(int j)
+{
+ return (i == j);
+}
+
+int test()
+{
+ foo f;
+ int a = f.bar<char>();
+ int b = f.bar<2>();
+ if((a !=0) || (b != 1))return -1;
+
+ if(0 == foo_17041<8>(8)) return -1;
+ if(0 == foo_17041<4>(4)) return -1;
+ if(0 == foo_17041<5>(5)) return -1;
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_explicit_cvt_ops.ipp b/src/boost/libs/config/test/boost_no_explicit_cvt_ops.ipp
new file mode 100644
index 000000000..8b187c0f0
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_explicit_cvt_ops.ipp
@@ -0,0 +1,33 @@
+// (C) Copyright Beman Dawes 2008
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+// TITLE: C++0x explicit conversion operators unavailable
+// DESCRIPTION: The compiler does not support C++0x explicit conversion operators
+
+#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
+# error This feature is not available in non-C++0x mode
+#endif
+
+namespace boost_no_cxx11_explicit_conversion_operators {
+
+void quiet_warning(int){}
+
+ struct foo {
+ explicit operator int() { return 1; }
+ };
+
+int test()
+{
+ foo f;
+ int i = int(f);
+ quiet_warning(i);
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_extern_template.ipp b/src/boost/libs/config/test/boost_no_extern_template.ipp
new file mode 100644
index 000000000..c5e2ca099
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_extern_template.ipp
@@ -0,0 +1,41 @@
+// (C) Copyright Beman Dawes 2008
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_EXTERN_TEMPLATE
+// TITLE: C++0x extern template unavailable
+// DESCRIPTION: The compiler does not support C++0x extern template
+
+namespace boost_no_cxx11_extern_template {
+
+template<class T, class U> void f(T const* p, U const* q)
+{
+ p = q;
+}
+
+template <class T>
+class must_not_compile
+{
+public:
+ void f(T const* p, int const* q);
+};
+
+template <class T>
+void must_not_compile<T>::f(T const* p, int const* q)
+{
+ p = q;
+}
+
+extern template void f<>(int const*, float const*);
+extern template class must_not_compile<int>;
+
+int test()
+{
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_fenv_h.ipp b/src/boost/libs/config/test/boost_no_fenv_h.ipp
new file mode 100644
index 000000000..b1e014ccc
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_fenv_h.ipp
@@ -0,0 +1,58 @@
+// (C) Copyright John Maddock 2001.
+// (C) Copyright Bryce Lelbach 2010.
+// 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_FENV_H
+// TITLE: fenv.h
+// DESCRIPTION: There is no standard <fenv.h> available. If <fenv.h> is
+// available, <boost/detail/fenv.hpp> should be included
+// instead of directly including <fenv.h>.
+
+#include <fenv.h>
+
+namespace boost_no_fenv_h {
+
+int test()
+{
+ /// C++0x required typedefs
+ typedef ::fenv_t has_fenv_t;
+ typedef ::fexcept_t has_fexcept_t;
+
+ /// C++0x required macros
+ #if !defined(FE_DIVBYZERO)
+ #error platform does not define FE_DIVBYZERO
+ #endif
+
+ #if !defined(FE_INEXACT)
+ #error platform does not define FE_INEXACT
+ #endif
+
+ #if !defined(FE_ALL_EXCEPT)
+ #error platform does not define FE_ALL_EXCEPT
+ #endif
+
+ int i;
+ has_fexcept_t fe;
+ has_fenv_t env;
+
+ i = feclearexcept(FE_ALL_EXCEPT);
+ i += fetestexcept(FE_ALL_EXCEPT); // All flags should be zero
+ i += fegetexceptflag(&fe, FE_ALL_EXCEPT);
+ i += fesetexceptflag(&fe, FE_ALL_EXCEPT);
+ i += feraiseexcept(0);
+ i += fesetround(fegetround());
+ i += fegetenv(&env);
+ i += fesetenv(&env);
+ i += feholdexcept(&env);
+ if(i)
+ i += feupdateenv(&env);
+
+ return i;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_fixed_len_variadic_templates.ipp b/src/boost/libs/config/test/boost_no_fixed_len_variadic_templates.ipp
new file mode 100644
index 000000000..9baf6319b
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_fixed_len_variadic_templates.ipp
@@ -0,0 +1,26 @@
+// Copyright (C) 2007 Douglas Gregor
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
+// TITLE: C++0x variadic templates unavailable
+// DESCRIPTION: The compiler does not support C++0x variadic templates
+
+namespace boost_no_cxx11_fixed_length_variadic_template_expansion_packs {
+
+template<char one, char two, char... Others> struct char_tuple {};
+
+template<char... Args> struct super_class : public char_tuple<Args...> {};
+
+int test()
+{
+ super_class<'a', 'b', 'c', 'd'> sc;
+ (void)sc;
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_func_tmp_order.ipp b/src/boost/libs/config/test/boost_no_func_tmp_order.ipp
new file mode 100644
index 000000000..ab6986514
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_func_tmp_order.ipp
@@ -0,0 +1,49 @@
+// (C) Copyright John Maddock 2001.
+// 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_FUNCTION_TEMPLATE_ORDERING
+// TITLE: no function template ordering
+// DESCRIPTION: The compiler does not perform
+// function template ordering or its function
+// template ordering is incorrect.
+//
+// template<typename T> void f(T); // #1
+// template<typename T, typename U> void f(T (*)(U)); // #2
+// void bar(int);
+// f(&bar); // should choose #2.
+
+
+namespace boost_no_function_template_ordering{
+
+template<typename T>
+bool f(T)
+{
+ return false;
+}
+
+template<typename T, typename U>
+bool f(T (*)(U))
+{
+ return true;
+}
+
+void bar(int)
+{
+}
+
+int test()
+{
+ int i = 0;
+ return f(i) || !f(&bar);
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_function_template_default_args.ipp b/src/boost/libs/config/test/boost_no_function_template_default_args.ipp
new file mode 100644
index 000000000..cb0c7500c
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_function_template_default_args.ipp
@@ -0,0 +1,38 @@
+// (C) Copyright Mathias Gaunard 2009.
+// 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.
+
+// MACRO: BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+// TITLE: Default template arguments for function templates
+// DESCRIPTION: Default template arguments for function templates are not supported.
+
+namespace boost_no_cxx11_function_template_default_args
+{
+
+template<typename T = int>
+T foo()
+{
+ return 0;
+}
+
+template<typename T, typename U>
+bool is_same(T, U)
+{
+ return false;
+}
+
+template<typename T>
+bool is_same(T, T)
+{
+ return true;
+}
+
+int test()
+{
+ return !is_same(foo<>(), 0) || is_same(foo<>(), 0L);
+}
+
+} // namespace boost_no_function_template_default_args
diff --git a/src/boost/libs/config/test/boost_no_function_type_spec.ipp b/src/boost/libs/config/test/boost_no_function_type_spec.ipp
new file mode 100644
index 000000000..d91d0fb4e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_function_type_spec.ipp
@@ -0,0 +1,44 @@
+// (C) Copyright John Maddock 2001.
+// (C) Copyright Aleksey Gurtovoy 2003.
+// (C) Copyright Alisdair Meredith 2006.
+// 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_FUNCTION_TYPE_SPECIALIZATIONS
+// TITLE: template specialisations of function types
+// DESCRIPTION: If the compiler cannot handle template specialisations
+// for function types
+
+
+namespace boost_no_function_type_specializations{
+
+template< typename T > struct is_function
+{
+};
+
+struct X {};
+enum Y { value };
+
+// Tesst can declare specializations
+typedef is_function< int( int ) > scalar_types;
+typedef is_function< X( X ) > user_defined_type;
+typedef is_function< int( Y ) > check_enum;
+typedef is_function< X( X, int ) > multiple_arguments;
+
+// Partial specialization test
+// confirm const, volatile, pointers and references in args
+template< typename X, typename Y, typename Z >
+struct is_function< X( Y const &, volatile Z * ) >
+{
+};
+
+
+int test()
+{
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_i64_limits.ipp b/src/boost/libs/config/test/boost_no_i64_limits.ipp
new file mode 100644
index 000000000..b82bf2f58
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_i64_limits.ipp
@@ -0,0 +1,29 @@
+// (C) Copyright John Maddock 2001.
+// 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_MS_INT64_NUMERIC_LIMITS
+// TITLE: std::numeric_limits<__int64>
+// DESCRIPTION: The C++ implementation does not provide the a specialisation
+// for std::numeric_limits<__int64>.
+
+#include <limits>
+
+namespace boost_no_ms_int64_numeric_limits{
+
+int test()
+{
+ if(0 == std::numeric_limits<__int64>::is_specialized) return -1;
+ if(0 == std::numeric_limits<unsigned __int64>::is_specialized) return -1;
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_inline_memb_init.ipp b/src/boost/libs/config/test/boost_no_inline_memb_init.ipp
new file mode 100644
index 000000000..4ccacbe37
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_inline_memb_init.ipp
@@ -0,0 +1,62 @@
+// (C) Copyright John Maddock 2001.
+// 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_INCLASS_MEMBER_INITIALIZATION
+// TITLE: inline member constant initialisation
+// DESCRIPTION: Compiler violates std::9.4.2/4.
+
+
+namespace boost_no_inclass_member_initialization{
+
+struct UDT{};
+
+
+template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7>
+struct ice_or_helper
+{
+ static const bool value = true;
+};
+template <>
+struct ice_or_helper<false, false, false, false, false, false, false>
+{
+ static const bool value = false;
+};
+
+template <bool b1, bool b2, bool b3 = false, bool b4 = false, bool b5 = false, bool b6 = false, bool b7 = false>
+struct ice_or
+{
+ static const bool value = ice_or_helper<b1, b2, b3, b4, b5, b6, b7>::value;
+};
+
+template <class T>
+struct is_int
+{
+ static const bool value = false;
+};
+
+template <>
+struct is_int<int>
+{
+ static const bool value = true;
+};
+
+#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
+# define BOOST_UNUSED_ATTRIBUTE __attribute__((unused))
+#else
+# define BOOST_UNUSED_ATTRIBUTE
+#endif
+
+
+int test()
+{
+ typedef int a1[ice_or< is_int<int>::value, is_int<UDT>::value>::value ? 1 : -1] BOOST_UNUSED_ATTRIBUTE;
+ return 0;
+}
+
+}
+
+#undef BOOST_UNUSED_ATTRIBUTE
diff --git a/src/boost/libs/config/test/boost_no_integral_int64_t.ipp b/src/boost/libs/config/test/boost_no_integral_int64_t.ipp
new file mode 100644
index 000000000..eb11640a8
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_integral_int64_t.ipp
@@ -0,0 +1,54 @@
+// (C) Copyright John Maddock 2001.
+// 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_INTEGRAL_INT64_T
+// TITLE: long long and integral constant expressions
+// DESCRIPTION: The platform supports long long in integral constant expressions.
+
+#include <cstdlib>
+
+
+namespace boost_no_integral_int64_t{
+
+#ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+enum{ mask = 1uLL << 50 };
+
+template <unsigned long long m>
+struct llt
+{
+ enum{ value = m };
+};
+#else
+#ifdef __GNUC__
+__extension__
+#endif
+static const unsigned long long mask = 1uLL << 50;
+
+#ifdef __GNUC__
+__extension__
+#endif
+template <unsigned long long m>
+struct llt
+{
+#ifdef __GNUC__
+__extension__
+#endif
+ static const unsigned long long value = m;
+};
+#endif
+
+int test()
+{
+ return llt<mask>::value != (1uLL << 50);
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_iosfwd.ipp b/src/boost/libs/config/test/boost_no_iosfwd.ipp
new file mode 100644
index 000000000..86ac42e62
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_iosfwd.ipp
@@ -0,0 +1,23 @@
+// (C) Copyright Peter Dimov 2007.
+// 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_IOSFWD
+// TITLE: <iosfwd>
+// DESCRIPTION: The <iosfwd> header is missing
+
+#include <iosfwd>
+
+namespace boost_no_iosfwd
+{
+
+int test()
+{
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_iostream.ipp b/src/boost/libs/config/test/boost_no_iostream.ipp
new file mode 100644
index 000000000..abaceac33
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_iostream.ipp
@@ -0,0 +1,25 @@
+// (C) Copyright Peter Dimov 2007.
+// 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_IOSTREAM
+// TITLE: No iostream support
+// DESCRIPTION: The <iostream>, <istream>, <ostream> headers are missing
+
+#include <iostream>
+#include <istream>
+#include <ostream>
+
+namespace boost_no_iostream
+{
+
+int test()
+{
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_is_abstract.ipp b/src/boost/libs/config/test/boost_no_is_abstract.ipp
new file mode 100644
index 000000000..257318eef
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_is_abstract.ipp
@@ -0,0 +1,53 @@
+// (C) Copyright John Maddock and Dave Abrahams 2002.
+// 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_IS_ABSTRACT
+// TITLE: is_abstract implementation technique
+// DESCRIPTION: Some compilers can't handle the code used for is_abstract even if they support SFINAE.
+
+
+namespace boost_no_is_abstract{
+
+#if defined(__CODEGEARC__)
+template<class T>
+struct is_abstract_test
+{
+ enum{ value = __is_abstract(T) };
+};
+#else
+template<class T>
+struct is_abstract_test
+{
+ // Deduction fails if T is void, function type,
+ // reference type (14.8.2/2)or an abstract class type
+ // according to review status issue #337
+ //
+ template<class U>
+ static double check_sig(U (*)[1]);
+ template<class U>
+ static char check_sig(...);
+
+#ifdef __GNUC__
+ enum{ s1 = sizeof(is_abstract_test<T>::template check_sig<T>(0)) };
+#else
+ enum{ s1 = sizeof(check_sig<T>(0)) };
+#endif
+
+ enum{ value = (s1 == sizeof(char)) };
+};
+#endif
+
+struct non_abstract{};
+struct abstract{ virtual void foo() = 0; };
+
+int test()
+{
+ return static_cast<bool>(is_abstract_test<non_abstract>::value) == static_cast<bool>(is_abstract_test<abstract>::value);
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_iter_construct.ipp b/src/boost/libs/config/test/boost_no_iter_construct.ipp
new file mode 100644
index 000000000..e87a76fc4
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_iter_construct.ipp
@@ -0,0 +1,38 @@
+// (C) Copyright John Maddock 2001.
+// 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_TEMPLATED_ITERATOR_CONSTRUCTORS
+// TITLE: template iterator-constructors
+// DESCRIPTION: The standard library does not provide
+// templated iterator constructors for its containers.
+
+#include <vector>
+#include <deque>
+#include <list>
+
+namespace boost_no_templated_iterator_constructors{
+
+int test()
+{
+ std::vector<int> v1;
+ std::deque<int> d1;
+ std::list<char> l1;
+
+ //
+ // now try constructors:
+ std::vector<long> v2(d1.begin(), d1.end());
+ std::deque<long> d2(v1.begin(), v1.end());
+ std::list<long> l2(d1.begin(), d1.end());
+
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_lambdas.ipp b/src/boost/libs/config/test/boost_no_lambdas.ipp
new file mode 100644
index 000000000..edd3341a8
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_lambdas.ipp
@@ -0,0 +1,30 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_LAMBDAS
+// TITLE: C++0x lambda feature unavailable
+// DESCRIPTION: The compiler does not support the C++0x lambda feature
+
+#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
+# error This feature is not available in non-C++0x mode
+#endif
+
+namespace boost_no_cxx11_lambdas {
+
+template <class Func>
+int f(Func f)
+{
+ return f();
+}
+
+int test()
+{
+ return f([](){ return 0; });
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_limits.ipp b/src/boost/libs/config/test/boost_no_limits.ipp
new file mode 100644
index 000000000..e7a011b88
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_limits.ipp
@@ -0,0 +1,34 @@
+// (C) Copyright John Maddock 2001.
+// 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_LIMITS
+// TITLE: <limits>
+// DESCRIPTION: The C++ implementation does not provide the <limits> header.
+
+#include <limits>
+
+namespace boost_no_limits{
+
+int test()
+{
+ if(0 == std::numeric_limits<int>::is_specialized) return -1;
+ if(0 == std::numeric_limits<long>::is_specialized) return -1;
+ if(0 == std::numeric_limits<char>::is_specialized) return -1;
+ if(0 == std::numeric_limits<unsigned char>::is_specialized) return -1;
+ if(0 == std::numeric_limits<signed char>::is_specialized) return -1;
+ if(0 == std::numeric_limits<float>::is_specialized) return -1;
+ if(0 == std::numeric_limits<double>::is_specialized) return -1;
+ if(0 == std::numeric_limits<long double>::is_specialized) return -1;
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_limits_const_exp.ipp b/src/boost/libs/config/test/boost_no_limits_const_exp.ipp
new file mode 100644
index 000000000..8438f7eae
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_limits_const_exp.ipp
@@ -0,0 +1,42 @@
+// (C) Copyright John Maddock 2001.
+// 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_LIMITS_COMPILE_TIME_CONSTANTS
+// TITLE: compile time constants in <limits>
+// DESCRIPTION: constants such as numeric_limits<T>::is_signed
+// are not available for use at compile-time.
+
+#include <limits>
+
+namespace boost_no_limits_compile_time_constants{
+
+struct UDT{};
+
+template <int i>
+struct assert_ice
+{
+ enum { value = i };
+};
+
+int test()
+{
+ assert_ice< ::std::numeric_limits<int>::is_signed > one;
+ assert_ice< ::std::numeric_limits<double>::is_specialized > two;
+ assert_ice< ::std::numeric_limits<UDT>::is_specialized > three;
+ assert_ice< ::std::numeric_limits<UDT>::is_signed > four;
+ (void)one;
+ (void)two;
+ (void)three;
+ (void)four;
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_ll_limits.ipp b/src/boost/libs/config/test/boost_no_ll_limits.ipp
new file mode 100644
index 000000000..8f7db7dca
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_ll_limits.ipp
@@ -0,0 +1,37 @@
+// (C) Copyright John Maddock 2001.
+// 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_LONG_LONG_NUMERIC_LIMITS
+// TITLE: std::numeric_limits<long long>
+// DESCRIPTION: The C++ implementation does not provide the a specialisation
+// for std::numeric_limits<long long>.
+
+#include <limits>
+
+namespace boost_no_long_long_numeric_limits{
+
+int test()
+{
+#ifdef __GNUC__
+__extension__
+#endif
+ typedef long long llt;
+#ifdef __GNUC__
+__extension__
+#endif
+ typedef unsigned long long ullt;
+ if(0 == std::numeric_limits<llt>::is_specialized) return -1;
+ if(0 == std::numeric_limits<ullt>::is_specialized) return -1;
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_long_long.ipp b/src/boost/libs/config/test/boost_no_long_long.ipp
new file mode 100644
index 000000000..52ee3edcf
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_long_long.ipp
@@ -0,0 +1,36 @@
+// (C) Copyright John Maddock 2001.
+// 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_LONG_LONG
+// TITLE: C++0x long long unavailable
+// DESCRIPTION: The platform does not support C++0x long long.
+
+#include <cstdlib>
+
+
+namespace boost_no_long_long{
+
+int test()
+{
+#ifdef __GNUC__
+ __extension__ long long lli = 0LL;
+ __extension__ unsigned long long ulli = 0uLL;
+#else
+ long long lli = 0LL;
+ unsigned long long ulli = 0uLL;
+#endif
+ (void)&lli;
+ (void)&ulli;
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_mem_func_spec.ipp b/src/boost/libs/config/test/boost_no_mem_func_spec.ipp
new file mode 100644
index 000000000..96cf92a27
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_mem_func_spec.ipp
@@ -0,0 +1,62 @@
+// (C) Copyright John Maddock 2002.
+// 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_MEMBER_FUNCTION_SPECIALIZATIONS
+// TITLE: Specialisation of individual member functions.
+// DESCRIPTION: Verify that specializations of individual members
+// of template classes work OK.
+
+
+namespace boost_no_member_function_specializations{
+
+
+template<class T>
+class foo
+{
+public:
+ foo();
+ foo(const T&);
+ ~foo();
+ int bar();
+};
+
+// declare specialisations:
+template<> foo<int>::foo();
+template<> foo<int>::foo(const int&);
+template<> foo<int>::~foo();
+template<> int foo<int>::bar();
+
+// provide defaults:
+template<class T> foo<T>::foo(){}
+template<class T> foo<T>::foo(const T&){}
+template<class T> foo<T>::~foo(){}
+template<class T> int foo<T>::bar(){ return 0; }
+
+// provide defs:
+template<> foo<int>::foo(){}
+template<> foo<int>::foo(const int&){}
+template<> foo<int>::~foo(){}
+template<> int foo<int>::bar(){ return 1; }
+
+
+int test()
+{
+ foo<double> f1;
+ foo<int> f2;
+ f1.bar();
+ f2.bar();
+ return 0;
+}
+
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_mem_tem_keyword.ipp b/src/boost/libs/config/test/boost_no_mem_tem_keyword.ipp
new file mode 100644
index 000000000..4f0901fc5
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_mem_tem_keyword.ipp
@@ -0,0 +1,69 @@
+// (C) Copyright John Maddock 2001.
+// 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_MEMBER_TEMPLATE_KEYWORD
+// TITLE: member templates keyword
+// DESCRIPTION: Member template keyword not supported.
+
+namespace boost_no_member_template_keyword{
+
+#ifndef BOOST_NO_MEMBER_TEMPLATES
+
+template <class T>
+struct foo
+{
+ template <class U>
+ struct nested
+ {
+ typedef foo<U> other;
+ };
+ template <class U>
+ void mfoo(const U&);
+};
+
+template <class T>
+template <class U>
+void foo<T>::mfoo(const U&)
+{
+}
+
+template <class T>
+void test_proc(T i)
+{
+ foo<double> f1;
+ typedef foo<T> ifoo;
+ f1.mfoo(i);
+ f1.template mfoo<T>(i);
+ typedef typename ifoo::template nested<double> bound_t;
+ typedef typename bound_t::other other;
+ other o;
+ (void) &o; // avoid "unused variable" warning
+}
+
+#else
+template <class T>
+void test_proc(T)
+{
+}
+#endif
+
+int test()
+{
+ test_proc(0);
+ return 0;
+}
+
+
+}
+
+
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_mem_tem_pnts.ipp b/src/boost/libs/config/test/boost_no_mem_tem_pnts.ipp
new file mode 100644
index 000000000..ad9662027
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_mem_tem_pnts.ipp
@@ -0,0 +1,50 @@
+// Copyright (C) Joaquin M Lopez Munoz 2004.
+// 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_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
+// TITLE: pointers to members as template arguments
+// DESCRIPTION: Non-type template parameters which take pointers
+// to members, fail to work correctly.
+
+
+namespace boost_no_pointer_to_member_template_parameters{
+
+struct pair
+{
+ int x, y;
+
+ pair(int x_,int y_)
+ : x(x_), y(y_)
+ {}
+};
+
+template<int pair::* PtrToPairMember>
+struct foo
+{
+ int bar(pair& p)
+ {
+ return p.*PtrToPairMember;
+ }
+};
+
+int test()
+{
+ pair p(0,1);
+ foo<&pair::x> fx;
+ foo<&pair::y> fy;
+
+ if((fx.bar(p) != 0) || (fy.bar(p) != 1))
+ return 1;
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_mem_templ_frnds.ipp b/src/boost/libs/config/test/boost_no_mem_templ_frnds.ipp
new file mode 100644
index 000000000..c1c1b6308
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_mem_templ_frnds.ipp
@@ -0,0 +1,72 @@
+// (C) Copyright John Maddock 2001.
+// 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_MEMBER_TEMPLATE_FRIENDS
+// TITLE: member template friends
+// DESCRIPTION: Member template friend syntax
+// ("template<class P> friend class frd;")
+// described in the C++ Standard,
+// 14.5.3, not supported.
+
+
+namespace boost_no_member_template_friends{
+
+template <class T>
+class foobar;
+
+template <class T>
+class foo;
+
+template <class T>
+bool must_be_friend_proc(const foo<T>& f);
+
+template <class T>
+class foo
+{
+private:
+ template<typename Y> friend class foobar;
+ template<typename Y> friend class foo;
+ template<typename Y> friend bool must_be_friend_proc(const foo<Y>& f);
+ int i;
+public:
+ foo(){ i = 0; }
+ template <class U>
+ foo(const foo<U>& f){ i = f.i; }
+};
+
+template <class T>
+bool must_be_friend_proc(const foo<T>& f)
+{ return f.i != 0; }
+
+template <class T>
+class foobar
+{
+ int i;
+public:
+ template <class U>
+ foobar(const foo<U>& f)
+ { i = f.i; }
+};
+
+
+int test()
+{
+ foo<int> fi;
+ foo<double> fd(fi);
+ must_be_friend_proc(fd);
+ foobar<long> fb(fi);
+ (void) &fb; // avoid "unused variable" warning
+ return 0;
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_mem_templates.ipp b/src/boost/libs/config/test/boost_no_mem_templates.ipp
new file mode 100644
index 000000000..873580f3c
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_mem_templates.ipp
@@ -0,0 +1,64 @@
+// (C) Copyright John Maddock 2001.
+// 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_MEMBER_TEMPLATES
+// TITLE: member templates
+// DESCRIPTION: Member template functions not fully supported.
+
+#ifndef BOOST_NESTED_TEMPLATE
+#define BOOST_NESTED_TEMPLATE template
+#endif
+
+
+namespace boost_no_member_templates{
+
+template <class T>
+struct foo
+{
+ template <class U>
+ struct nested
+ {
+ typedef foo<U> other;
+ };
+ template <class U>
+ void mfoo(const U&);
+};
+
+template <class T>
+template <class U>
+void foo<T>::mfoo(const U&)
+{
+}
+
+template <class T>
+void test_proc(T i)
+{
+ foo<double> f1;
+ typedef foo<T> ifoo;
+ f1.mfoo(i);
+ //f1.template mfoo<T>(i);
+ typedef typename ifoo::BOOST_NESTED_TEMPLATE nested<double> bound_t;
+ typedef typename bound_t::other other;
+ other o;
+ (void) &o;
+}
+
+int test()
+{
+ test_proc(0);
+ return 0;
+}
+
+
+}
+
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_nested_friendship.ipp b/src/boost/libs/config/test/boost_no_nested_friendship.ipp
new file mode 100644
index 000000000..7ff9cc42f
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_nested_friendship.ipp
@@ -0,0 +1,44 @@
+// Copyright (C) 2008 N. Musatti
+// 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_NESTED_FRIENDSHIP
+// TITLE: Access to private members from nested classes
+// DESCRIPTION: If the compiler fails to support access to private members
+// from nested classes
+
+namespace boost_no_nested_friendship {
+
+class A {
+public:
+ A() {}
+ struct B {
+ int f(A& a)
+ {
+ a.f1();
+ a.f2(a);
+ return a.b;
+ }
+ };
+
+private:
+ static int b;
+ static void f1(){}
+ template <class T>
+ static void f2(const T&){}
+};
+
+int A::b = 0;
+
+int test()
+{
+ A a;
+ A::B b;
+ return b.f(a);
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_noexcept.ipp b/src/boost/libs/config/test/boost_no_noexcept.ipp
new file mode 100644
index 000000000..878658f11
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_noexcept.ipp
@@ -0,0 +1,26 @@
+// Copyright (C) 2011 Takaya Saito
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX11_NOEXCEPT
+// TITLE: C++0x noexcept unavailable
+// DESCRIPTION: The compiler does not support C++0x noexcept
+
+namespace boost_no_cxx11_noexcept {
+
+void quiet_warning(bool){}
+
+int f() noexcept ;
+int g() noexcept( noexcept( f() ) ) ;
+
+int test()
+{
+ bool b = noexcept( g() );
+ quiet_warning(b);
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_nullptr.ipp b/src/boost/libs/config/test/boost_no_nullptr.ipp
new file mode 100644
index 000000000..5fc12fb62
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_nullptr.ipp
@@ -0,0 +1,24 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_NULLPTR
+// TITLE: C++0x nullptr feature unavailable
+// DESCRIPTION: The compiler does not support the C++0x nullptr feature
+
+namespace boost_no_cxx11_nullptr {
+
+void quiet_warning(const int*){}
+
+int test()
+{
+ int * p = nullptr;
+ quiet_warning(p);
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_ops_in_namespace.ipp b/src/boost/libs/config/test/boost_no_ops_in_namespace.ipp
new file mode 100644
index 000000000..895d9bae0
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_ops_in_namespace.ipp
@@ -0,0 +1,73 @@
+// (C) Copyright Jeremy Siek 1999.
+// (C) Copyright David Abrahams 1999.
+// (C) Copyright John Maddock 2001.
+// 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_OPERATORS_IN_NAMESPACE
+// TITLE: friend operators in namespace
+// DESCRIPTION: Compiler requires inherited operator
+// friend functions to be defined at namespace scope,
+// then using'ed to boost.
+// Probably GCC specific. See boost/operators.hpp for example.
+
+namespace boost{
+
+//
+// the following is taken right out of <boost/operators.hpp>
+//
+template <class T>
+struct addable1
+{
+ friend T operator+(T x, const T& y) { return x += y; }
+ friend bool operator != (const T& a, const T& b) { return !(a == b); }
+};
+
+struct spoiler1
+{};
+
+spoiler1 operator+(const spoiler1&,const spoiler1&);
+bool operator !=(const spoiler1&, const spoiler1&);
+
+
+} // namespace boost
+
+namespace boost_no_operators_in_namespace{
+
+struct spoiler2
+{};
+
+spoiler2 operator+(const spoiler2&,const spoiler2&);
+bool operator !=(const spoiler2&, const spoiler2&);
+
+
+class add : public boost::addable1<add>
+{
+ int val;
+public:
+ add(int i) { val = i; }
+ add(const add& a){ val = a.val; }
+ add& operator+=(const add& a) { val += a.val; return *this; }
+ bool operator==(const add& a)const { return val == a.val; }
+};
+
+int test()
+{
+ add a1(2);
+ add a2(3);
+ add a3(0);
+ a3 = a1 + a2;
+ bool b1 = (a1 == a2);
+ b1 = (a1 != a2);
+ (void)b1;
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_part_spec_def_args.ipp b/src/boost/libs/config/test/boost_no_part_spec_def_args.ipp
new file mode 100644
index 000000000..91ef53768
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_part_spec_def_args.ipp
@@ -0,0 +1,46 @@
+// (C) Copyright John Maddock 2008.
+// 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_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+// TITLE: Default arguments in partial specialization
+// DESCRIPTION: The compiler chokes if a partial specialization relies on default arguments in the primary template.
+
+namespace boost_no_partial_specialization_implicit_default_args{
+
+template <class T>
+struct one
+{
+};
+
+template <class T1, class T2 = void>
+struct tag
+{
+};
+
+template <class T1>
+struct tag<one<T1> >
+{
+};
+
+template <class T>
+void consume_variable(T const&){}
+
+int test()
+{
+ tag<int> t1;
+ consume_variable(t1);
+ tag<one<int> > t2;
+ consume_variable(t2);
+ tag<int, double> t3;
+ consume_variable(t3);
+ tag<one<int>, double> t4;
+ consume_variable(t4);
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_partial_spec.ipp b/src/boost/libs/config/test/boost_no_partial_spec.ipp
new file mode 100644
index 000000000..036744eb5
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_partial_spec.ipp
@@ -0,0 +1,56 @@
+// (C) Copyright John Maddock 2001.
+// 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_TEMPLATE_PARTIAL_SPECIALIZATION
+// TITLE: partial specialisation
+// DESCRIPTION: Class template partial specialization
+// (14.5.4 [temp.class.spec]) not supported.
+
+
+namespace boost_no_template_partial_specialization{
+
+template <class T>
+struct partial1
+{
+ typedef T& type;
+};
+
+template <class T>
+struct partial1<T&>
+{
+ typedef T& type;
+};
+
+template <class T, bool b>
+struct partial2
+{
+ typedef T& type;
+};
+
+template <class T>
+struct partial2<T,true>
+{
+ typedef T type;
+};
+
+
+int test()
+{
+ int i = 0;
+ partial1<int&>::type p1 = i;
+ partial2<int&,true>::type p2 = i;
+ (void)p1;
+ (void)p2;
+ (void)i;
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_priv_aggregate.ipp b/src/boost/libs/config/test/boost_no_priv_aggregate.ipp
new file mode 100644
index 000000000..ca1aee785
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_priv_aggregate.ipp
@@ -0,0 +1,39 @@
+// (C) Copyright John Maddock 2001.
+// 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_PRIVATE_IN_AGGREGATE
+// TITLE: private in aggregate types
+// DESCRIPTION: The compiler misreads 8.5.1, treating classes
+// as non-aggregate if they contain private or
+// protected member functions.
+
+
+namespace boost_no_private_in_aggregate{
+
+struct t
+{
+private:
+ void foo(){ i = j; }
+public:
+ void uncallable(); // silences warning from GCC
+ int i;
+ int j;
+};
+
+
+int test()
+{
+ t inst = { 0, 0, };
+ (void) &inst; // avoid "unused variable" warning
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_ptr_mem_const.ipp b/src/boost/libs/config/test/boost_no_ptr_mem_const.ipp
new file mode 100644
index 000000000..f1069669c
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_ptr_mem_const.ipp
@@ -0,0 +1,84 @@
+// Copyright (c) 2000
+// Cadenza New Zealand Ltd
+//
+// (C) Copyright John Maddock 2001.
+//
+// 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.
+
+// MACRO: BOOST_NO_POINTER_TO_MEMBER_CONST
+// TITLE: pointers to const member functions
+// DESCRIPTION: The compiler does not correctly handle
+// pointers to const member functions, preventing use
+// of these in overloaded function templates.
+// See boost/functional.hpp for example.
+
+namespace boost_no_pointer_to_member_const{
+
+template <class S, class T>
+class const_mem_fun_t
+{
+public:
+ explicit const_mem_fun_t(S (T::*p)() const)
+ :
+ ptr(p)
+ {}
+ S operator()(const T* p) const
+ {
+ return (p->*ptr)();
+ }
+private:
+ S (T::*ptr)() const;
+};
+
+template <class S, class T, class A>
+class const_mem_fun1_t
+{
+public:
+ explicit const_mem_fun1_t(S (T::*p)(A) const)
+ :
+ ptr(p)
+ {}
+ S operator()(const T* p, const A& x) const
+ {
+ return (p->*ptr)(x);
+ }
+private:
+ S (T::*ptr)(A) const;
+};
+
+template<class S, class T>
+inline const_mem_fun_t<S,T> mem_fun(S (T::*f)() const)
+{
+ return const_mem_fun_t<S,T>(f);
+}
+
+template<class S, class T, class A>
+inline const_mem_fun1_t<S,T,A> mem_fun(S (T::*f)(A) const)
+{
+ return const_mem_fun1_t<S,T,A>(f);
+}
+
+class tester
+{
+public:
+ void foo1()const{}
+ int foo2(int i)const{ return i*2; }
+};
+
+
+int test()
+{
+ boost_no_pointer_to_member_const::mem_fun(&tester::foo1);
+ boost_no_pointer_to_member_const::mem_fun(&tester::foo2);
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_range_based_for.ipp b/src/boost/libs/config/test/boost_no_range_based_for.ipp
new file mode 100644
index 000000000..15468ec46
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_range_based_for.ipp
@@ -0,0 +1,23 @@
+// Copyright Beman Dawes 2012
+
+// Distributed under the Boost Software License, Version 1.0.
+// See http://www.boost.org/LICENSE_1_0.txt
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_RANGE_BASED_FOR
+// TITLE: C++11 ranged-based for statement unavailable
+// DESCRIPTION: The compiler does not support the C++11 range-based for statement
+
+namespace boost_no_cxx11_range_based_for {
+
+int test()
+{
+ // example from 6.5.4 The range-based for statement [stmt.ranged]
+ int array[5] = { 1, 2, 3, 4, 5 };
+ for (int& x : array)
+ x *= 2;
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_raw_literals.ipp b/src/boost/libs/config/test/boost_no_raw_literals.ipp
new file mode 100644
index 000000000..c3ead77bc
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_raw_literals.ipp
@@ -0,0 +1,27 @@
+// (C) Copyright Beman Dawes 2008
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_RAW_LITERALS
+// TITLE: C++0x raw string literals unavailable
+// DESCRIPTION: The compiler does not support C++0x raw string literals
+
+namespace boost_no_cxx11_raw_literals {
+
+void quiet_warning(const char*){}
+void quiet_warning(const wchar_t*){}
+
+int test()
+{
+ const char* s = R"(abc)";
+ quiet_warning(s);
+ const wchar_t* ws = LR"(abc)";
+ quiet_warning(ws);
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_restrict_references.ipp b/src/boost/libs/config/test/boost_no_restrict_references.ipp
new file mode 100644
index 000000000..548984d28
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_restrict_references.ipp
@@ -0,0 +1,47 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_RESTRICT_REFERENCES
+// TITLE: We cannot apply BOOST_RESTRICT to a reference type.
+// DESCRIPTION: We cannot apply BOOST_RESTRICT to a reference type
+
+#include <boost/config.hpp>
+
+namespace boost_no_restrict_references {
+
+#ifdef _MSC_VER
+#pragma warning(error:4227)
+#endif
+
+
+void sum2(int (& BOOST_RESTRICT a)[4], int (& BOOST_RESTRICT b)[4], int (&c)[4], int (&d)[4]) {
+ int i;
+ for (i = 0; i < 4; i++) {
+ a[i] = b[i] + c[i];
+ c[i] = b[i] + d[i];
+ }
+}
+
+int test()
+{
+ int a[4] = { 1, 2, 3, 4 };
+ int b[4] = { 3, 4, 5, 6 };
+ int c[4] = { 0, 1, 3, 5 };
+ int d[4] = { 2, 4, 6, 8 };
+
+ sum2(a, b, c, d);
+
+ return 0;
+}
+
+#ifdef _MSC_VER
+#pragma warning(default:4227)
+#endif
+
+
+}
diff --git a/src/boost/libs/config/test/boost_no_ret_det.ipp b/src/boost/libs/config/test/boost_no_ret_det.ipp
new file mode 100644
index 000000000..e57c9ed73
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_ret_det.ipp
@@ -0,0 +1,43 @@
+// (C) Copyright John Maddock 2001.
+// 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.
+
+// MACRO: BOOST_NO_UNREACHABLE_RETURN_DETECTION
+// TITLE: detection of unreachable returns
+// DESCRIPTION: If a return is unreachable, then no return
+// statement should be required, however some
+// compilers insist on it, while other issue a
+// bunch of warnings if it is in fact present.
+
+#if defined( BOOST_NO_EXCEPTIONS )
+# include <stdlib.h>
+#endif
+
+namespace boost_no_unreachable_return_detection{
+
+int checker()
+{
+#if defined( BOOST_NO_EXCEPTIONS ) && (!defined( _MSC_VER ) || defined(__clang__))
+ abort();
+#else
+ throw 0;
+#endif
+ // no return statement: we don't ever get here...
+}
+
+int check = 0;
+
+int test()
+{
+ if(check)
+ return checker();
+ return 0;
+}
+
+}
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_rtti.ipp b/src/boost/libs/config/test/boost_no_rtti.ipp
new file mode 100644
index 000000000..4295d70cc
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_rtti.ipp
@@ -0,0 +1,64 @@
+// (C) Copyright John Maddock 2008.
+// 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_RTTI
+// TITLE: RTTI unavailable
+// DESCRIPTION: The compiler does not support RTTI in this mode
+
+#include <typeinfo>
+
+class A
+{
+public:
+ A(){}
+ virtual void t();
+};
+
+void A::t()
+{
+}
+
+class B : public A
+{
+public:
+ B(){}
+ virtual void t();
+};
+
+void B::t()
+{
+}
+
+namespace boost_no_rtti
+{
+
+int check_f(const A& a)
+{
+ return typeid(a) == typeid(B) ? 0 : 1;
+}
+
+int test()
+{
+#if defined( BOOST_NO_EXCEPTIONS )
+ {
+ B b;
+ return check_f(b);
+ }
+#else
+ try{
+ B b;
+ return check_f(b);
+ }
+ catch(...)
+ {
+ return 1;
+ }
+#endif
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_rvalue_references.ipp b/src/boost/libs/config/test/boost_no_rvalue_references.ipp
new file mode 100644
index 000000000..219a7173a
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_rvalue_references.ipp
@@ -0,0 +1,26 @@
+// Copyright (C) 2007 Douglas Gregor
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX11_RVALUE_REFERENCES
+// TITLE: C++0x rvalue references unavailable
+// DESCRIPTION: The compiler does not support C++0x rvalue references
+
+namespace boost_no_cxx11_rvalue_references {
+
+void g(int&) {}
+
+template<typename F, typename T>
+void forward(F f, T&& t) { f(static_cast<T&&>(t)); }
+
+int test()
+{
+ int x;
+ forward(g, x);
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_scoped_enums.ipp b/src/boost/libs/config/test/boost_no_scoped_enums.ipp
new file mode 100644
index 000000000..f1d9dc56a
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_scoped_enums.ipp
@@ -0,0 +1,28 @@
+// (C) Copyright Beman Dawes 2008
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_SCOPED_ENUMS
+// TITLE: C++0x scoped enum unavailable
+// DESCRIPTION: The compiler does not support C++0x scoped enum
+
+namespace boost_no_cxx11_scoped_enums {
+
+int test()
+{
+ enum class scoped_enum { yes, no, maybe };
+ // This tests bug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
+ bool b = (scoped_enum::yes == scoped_enum::yes)
+ && (scoped_enum::yes != scoped_enum::no)
+ && (scoped_enum::yes < scoped_enum::no)
+ && (scoped_enum::yes <= scoped_enum::no)
+ && (scoped_enum::no > scoped_enum::yes)
+ && (scoped_enum::no >= scoped_enum::yes);
+ return b ? 0 : 1;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_sfinae.ipp b/src/boost/libs/config/test/boost_no_sfinae.ipp
new file mode 100644
index 000000000..57dad2825
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_sfinae.ipp
@@ -0,0 +1,68 @@
+// (C) Copyright Eric Friedman 2003.
+// Some modifications by Jeremiah Willcock and Jaakko Jarvi.
+// Use, modification, and distribution is 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)
+
+// MACRO: BOOST_NO_SFINAE
+// TITLE: SFINAE (substitution failure is not an error)
+// DESCRIPTION: SFINAE not supported.
+
+
+namespace boost_no_sfinae {
+
+namespace f1_a {
+template <typename T>
+int f1(T*, float)
+{
+ return 0;
+}
+} using f1_a::f1;
+
+namespace f1_b {
+template <typename T>
+int f1(T*, int, typename T::int_* = 0)
+{
+ return 1;
+}
+} using f1_b::f1;
+
+namespace f2_a {
+template <typename T>
+int f2(T*, float)
+{
+ return 2;
+}
+} using f2_a::f2;
+
+namespace f2_b {
+template <typename T>
+typename T::int_ f2(T*, int)
+{
+ return 3;
+}
+} using f2_b::f2;
+
+struct test_t
+{
+ typedef int int_;
+};
+
+struct test2_t {};
+
+int test()
+{
+ test_t* t = 0;
+ test2_t* t2 = 0;
+ bool correct =
+ (f1(t, 0) == 1) &&
+ (f1(t2, 0) == 0) &&
+ (f2(t, 0) == 3) &&
+ (f2(t2, 0) == 2);
+ return !correct;
+}
+
+}
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_sfinae_expr.ipp b/src/boost/libs/config/test/boost_no_sfinae_expr.ipp
new file mode 100644
index 000000000..c3ce89e81
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_sfinae_expr.ipp
@@ -0,0 +1,37 @@
+// (C) Copyright Mathias Gaunard 2009.
+// 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.
+
+// MACRO: BOOST_NO_SFINAE_EXPR
+// TITLE: SFINAE for expressions
+// DESCRIPTION: SFINAE for expressions not supported.
+
+namespace boost_no_sfinae_expr
+{
+
+template<typename T>
+struct has_foo
+{
+ typedef char NotFound;
+ struct Found { char x[2]; };
+
+ template<int> struct dummy {};
+
+ template<class X> static Found test(dummy< sizeof((*(X*)0).foo(), 0) >*);
+ template<class X> static NotFound test( ... );
+
+ static const bool value = (sizeof(Found) == sizeof(test<T>(0)));
+};
+
+struct test1 {};
+struct test2 { void foo(); };
+
+int test()
+{
+ return has_foo<test1>::value || !has_foo<test2>::value;
+}
+
+} // namespace boost_no_sfinae_expr
diff --git a/src/boost/libs/config/test/boost_no_sstream.ipp b/src/boost/libs/config/test/boost_no_sstream.ipp
new file mode 100644
index 000000000..6d06b11a6
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_sstream.ipp
@@ -0,0 +1,29 @@
+// (C) Copyright John Maddock 2001.
+// 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.
+
+// MACRO: BOOST_NO_STRINGSTREAM
+// TITLE: <sstream>
+// DESCRIPTION: The C++ implementation does not provide the <sstream> header.
+
+#include <sstream>
+#include <string>
+
+namespace boost_no_stringstream{
+
+int test()
+{
+ std::stringstream ss;
+ ss << "abc";
+ std::string s = ss.str();
+ return (s != "abc");
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_static_assert.ipp b/src/boost/libs/config/test/boost_no_static_assert.ipp
new file mode 100644
index 000000000..38ca2967f
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_static_assert.ipp
@@ -0,0 +1,20 @@
+// Copyright (C) 2007 Douglas Gregor
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX11_STATIC_ASSERT
+// TITLE: C++0x static_assert unavailable
+// DESCRIPTION: The compiler does not support C++0x static assertions
+
+namespace boost_no_cxx11_static_assert {
+
+int test()
+{
+ static_assert(true, "OK");
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_std_allocator.ipp b/src/boost/libs/config/test/boost_no_std_allocator.ipp
new file mode 100644
index 000000000..920bf1de8
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_std_allocator.ipp
@@ -0,0 +1,88 @@
+// (C) Copyright John Maddock 2001.
+// 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.
+
+// MACRO: BOOST_NO_STD_ALLOCATOR
+// TITLE: std::allocator
+// DESCRIPTION: The C++ standard library does not provide
+// a standards conforming std::allocator.
+
+#ifndef BOOST_NESTED_TEMPLATE
+#define BOOST_NESTED_TEMPLATE template
+#endif
+
+#include <memory>
+
+namespace boost_no_std_allocator{
+
+#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
+# define BOOST_UNUSED_ATTRIBUTE __attribute__((unused))
+#else
+# define BOOST_UNUSED_ATTRIBUTE
+#endif
+
+template <class T>
+int test_allocator(const T& i)
+{
+ typedef std::allocator<int> alloc1_t;
+#if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
+ // stuff deprecated in C++17:
+ typedef typename alloc1_t::size_type size_type;
+ typedef typename alloc1_t::difference_type difference_type BOOST_UNUSED_ATTRIBUTE;
+ typedef typename alloc1_t::pointer pointer;
+ typedef typename alloc1_t::const_pointer const_pointer;
+ typedef typename alloc1_t::reference reference;
+ typedef typename alloc1_t::const_reference const_reference;
+ #endif
+ typedef typename alloc1_t::value_type value_type BOOST_UNUSED_ATTRIBUTE;
+
+ alloc1_t a1;
+ alloc1_t a2(a1);
+ (void)i;
+#if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
+ // stuff deprecated in C++17:
+ typedef typename alloc1_t::BOOST_NESTED_TEMPLATE rebind<double> binder_t;
+ typedef typename binder_t::other alloc2_t;
+ alloc2_t a3(a1);
+ // this chokes early versions of the MSL library
+ // and isn't currently required by anything in boost
+ // so don't test for now...
+ // a3 = a2;
+
+ (void)a2;
+#endif
+
+#if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
+ pointer p = a1.allocate(1);
+ const_pointer cp = p;
+ a1.construct(p,i);
+ size_type s = a1.max_size();
+ (void)s;
+ reference r = *p;
+ const_reference cr = *cp;
+ if(p != a1.address(r)) return -1;
+ if(cp != a1.address(cr)) return -1;
+ a1.destroy(p);
+#else
+ auto p = a1.allocate(1);
+#endif
+ a1.deallocate(p,1);
+
+ return 0;
+}
+
+
+int test()
+{
+ return test_allocator(0);
+}
+
+}
+
+#undef BOOST_UNUSED_ATTRIBUTE
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_std_distance.ipp b/src/boost/libs/config/test/boost_no_std_distance.ipp
new file mode 100644
index 000000000..93affff7a
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_std_distance.ipp
@@ -0,0 +1,31 @@
+// (C) Copyright John Maddock 2001.
+// 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.
+
+// MACRO: BOOST_NO_STD_DISTANCE
+// TITLE: std::distance
+// DESCRIPTION: The platform does not have a conforming version of std::distance.
+
+#include <algorithm>
+#include <iterator>
+
+
+namespace boost_no_std_distance{
+
+int test()
+{
+ const char* begin = 0;
+ const char* end = 0;
+ if(std::distance(begin, end)) return -1;
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_std_iter_traits.ipp b/src/boost/libs/config/test/boost_no_std_iter_traits.ipp
new file mode 100644
index 000000000..31a9394d5
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_std_iter_traits.ipp
@@ -0,0 +1,80 @@
+// (C) Copyright John Maddock 2001.
+// 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.
+
+// MACRO: BOOST_NO_STD_ITERATOR_TRAITS
+// TITLE: std::iterator_traits
+// DESCRIPTION: The compiler does not provide a standard
+// compliant implementation of std::iterator_traits.
+// Note that the compiler may still have a non-standard
+// implementation.
+
+#include <iterator>
+#include <stddef.h>
+
+namespace boost_no_std_iterator_traits{
+
+struct UDT_iterator
+{
+ typedef int value_type;
+ typedef ptrdiff_t difference_type;
+ typedef int* pointer;
+ typedef int& reference;
+ typedef std::input_iterator_tag iterator_category;
+};
+
+struct UDT{};
+
+
+int test()
+{
+ std::iterator_traits<UDT_iterator>::value_type v = 0;
+ std::iterator_traits<UDT_iterator>::difference_type d = 0;
+ std::iterator_traits<UDT_iterator>::pointer p = &v;
+ std::iterator_traits<UDT_iterator>::reference r = v;
+ std::iterator_traits<UDT_iterator>::iterator_category cat;
+
+ std::iterator_traits<UDT*>::value_type v2;
+ std::iterator_traits<UDT*>::difference_type d2 = 0;
+ std::iterator_traits<UDT*>::pointer p2 = &v2;
+ std::iterator_traits<UDT*>::reference r2 = v2;
+ std::iterator_traits<UDT*>::iterator_category cat2;
+
+ std::iterator_traits<const UDT*>::value_type v3;
+ std::iterator_traits<const UDT*>::difference_type d3 = 0;
+ std::iterator_traits<const UDT*>::pointer p3 = &v3;
+ std::iterator_traits<const UDT*>::reference r3 = v3;
+ std::iterator_traits<const UDT*>::iterator_category cat3;
+
+ //
+ // suppress some warnings:
+ //
+ (void) &v;
+ (void) &d;
+ (void) &p;
+ (void) &r;
+ (void) &cat;
+
+ (void) &v2;
+ (void) &d2;
+ (void) &p2;
+ (void) &r2;
+ (void) &cat2;
+
+ (void) &v3;
+ (void) &d3;
+ (void) &p3;
+ (void) &r3;
+ (void) &cat3;
+
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_std_iterator.ipp b/src/boost/libs/config/test/boost_no_std_iterator.ipp
new file mode 100644
index 000000000..e5332ef35
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_std_iterator.ipp
@@ -0,0 +1,67 @@
+// (C) Copyright John Maddock 2001.
+// 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.
+
+// MACRO: BOOST_NO_STD_ITERATOR
+// TITLE: std::iterator
+// DESCRIPTION: The C++ implementation fails to provide the
+// std::iterator class.
+
+#include <iterator>
+#include <stddef.h>
+
+namespace boost_no_std_iterator{
+
+
+int test()
+{
+ typedef std::iterator<
+ std::random_access_iterator_tag,
+ int,
+ ptrdiff_t,
+ int*,
+ int&
+ > iterator_type;
+
+ iterator_type::value_type v = 0;
+ iterator_type::difference_type d = 0;
+ iterator_type::pointer p = &v;
+ iterator_type::reference r = v;
+ iterator_type::iterator_category cat;
+
+ typedef std::iterator<
+ std::random_access_iterator_tag,
+ int
+ > iterator_type_2;
+
+ iterator_type_2::value_type v2 = 0;
+ iterator_type_2::difference_type d2 = 0;
+ iterator_type_2::pointer p2 = &v2;
+ iterator_type_2::reference r2 = v2;
+ iterator_type_2::iterator_category cat2;
+ //
+ // suppress some warnings:
+ //
+ (void) &v;
+ (void) &d;
+ (void) &p;
+ (void) &r;
+ (void) &cat;
+
+ (void) &v2;
+ (void) &d2;
+ (void) &p2;
+ (void) &r2;
+ (void) &cat2;
+
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_std_locale.ipp b/src/boost/libs/config/test/boost_no_std_locale.ipp
new file mode 100644
index 000000000..29d8e3232
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_std_locale.ipp
@@ -0,0 +1,36 @@
+// (C) Copyright John Maddock 2001.
+// 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.
+
+// MACRO: BOOST_NO_STD_LOCALE
+// TITLE: std::locale
+// DESCRIPTION: The standard library lacks std::locale.
+
+#include <locale>
+
+namespace boost_no_std_locale{
+
+int test()
+{
+ std::locale l1;
+ //
+ // ideally we would construct a locale from a facet,
+ // but that requires template member functions which
+ // may not be available, instead just check that we can
+ // construct a pointer to a facet:
+ //
+ const std::ctype<char>* pct = 0;
+ (void) &l1;
+ (void) &pct;
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_std_messages.ipp b/src/boost/libs/config/test/boost_no_std_messages.ipp
new file mode 100644
index 000000000..3fbd6f07e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_std_messages.ipp
@@ -0,0 +1,39 @@
+// (C) Copyright John Maddock 2001.
+// 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.
+
+// MACRO: BOOST_NO_STD_MESSAGES
+// TITLE: std::messages<charT>
+// DESCRIPTION: The standard library lacks a conforming std::messages facet.
+
+#include <locale>
+
+
+namespace boost_no_std_messages{
+
+//
+// this just has to complile, not run:
+//
+void test_messages(const std::messages<char>& m)
+{
+ static const std::locale l;
+ static const std::string name("foobar");
+ m.close(m.open(name, l));
+}
+
+int test()
+{
+ const std::messages<char>* pmf = 0;
+ (void) &pmf;
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_std_min_max.ipp b/src/boost/libs/config/test/boost_no_std_min_max.ipp
new file mode 100644
index 000000000..a8260062b
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_std_min_max.ipp
@@ -0,0 +1,33 @@
+// (C) Copyright John Maddock 2001.
+// 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.
+
+// MACRO: BOOST_NO_STD_MIN_MAX
+// TITLE: std::min and std::max
+// DESCRIPTION: The C++ standard library does not provide
+// the (min)() and (max)() template functions that
+// should be in <algorithm>.
+
+#include <algorithm>
+
+namespace boost_no_std_min_max{
+
+
+int test()
+{
+ int i = 0;
+ int j = 2;
+ if((std::min)(i,j) != 0) return -1;
+ if((std::max)(i,j) != 2) return -1;
+
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_std_oi_assign.ipp b/src/boost/libs/config/test/boost_no_std_oi_assign.ipp
new file mode 100644
index 000000000..9d5061442
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_std_oi_assign.ipp
@@ -0,0 +1,42 @@
+// (C) Copyright John Maddock 2001.
+// 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.
+
+// MACRO: BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
+// TITLE: That the std output iterators are assignable
+// DESCRIPTION: Some std lib output iterators are not assignable
+// even this is required by the standard.
+
+#include <iterator>
+#include <list>
+#include <iostream>
+
+
+namespace boost_no_std_output_iterator_assign {
+
+int test()
+{
+ std::list<int> l;
+ std::back_insert_iterator<std::list<int> > bi1(l);
+ std::back_insert_iterator<std::list<int> > bi2(l);
+ bi1 = bi2;
+
+ std::front_insert_iterator<std::list<int> > fi1(l);
+ std::front_insert_iterator<std::list<int> > fi2(l);
+ fi1 = fi2;
+
+ std::ostream_iterator<char> osi1(std::cout);
+ std::ostream_iterator<char> osi2(std::cout);
+ osi1 = osi2;
+
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_std_typeinfo.ipp b/src/boost/libs/config/test/boost_no_std_typeinfo.ipp
new file mode 100644
index 000000000..a55a94d81
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_std_typeinfo.ipp
@@ -0,0 +1,26 @@
+// (C) Copyright Peter Dimov 2007.
+// 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_STD_TYPEINFO
+// TITLE: type_info not in namespace std
+// DESCRIPTION: The <typeinfo> header declares type_info in the global namespace instead of std
+
+#include <typeinfo>
+
+namespace boost_no_std_typeinfo
+{
+void quiet_warning(const std::type_info*){}
+
+int test()
+{
+ std::type_info * p = 0;
+ quiet_warning(p);
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_std_use_facet.ipp b/src/boost/libs/config/test/boost_no_std_use_facet.ipp
new file mode 100644
index 000000000..c207af7d3
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_std_use_facet.ipp
@@ -0,0 +1,29 @@
+// (C) Copyright John Maddock 2001.
+// 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.
+
+// MACRO: BOOST_NO_STD_USE_FACET
+// TITLE: std::use_facet
+// DESCRIPTION: The standard library lacks a conforming std::use_facet.
+
+#include <locale>
+
+namespace boost_no_std_use_facet{
+
+int test()
+{
+ std::locale l;
+ const std::ctype<char>& ct = std::use_facet<std::ctype<char> >(l);
+ (void)ct;
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_std_wstreambuf.ipp b/src/boost/libs/config/test/boost_no_std_wstreambuf.ipp
new file mode 100644
index 000000000..45de2426f
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_std_wstreambuf.ipp
@@ -0,0 +1,108 @@
+// (C) Copyright John Maddock 2001.
+// 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_STD_WSTREAMBUF
+// TITLE: std::basic_streambuf<wchar_t>
+// DESCRIPTION: The standard library lacks std::basic_streambuf<wchar_t>.
+
+#include <iostream>
+#include <streambuf>
+#include <string>
+
+namespace boost_no_std_wstreambuf{
+
+template <class charT,
+ class traits = ::std::char_traits<charT> >
+class parser_buf : public ::std::basic_streambuf<charT, traits>
+{
+ typedef ::std::basic_streambuf<charT, traits> base_type;
+ typedef typename base_type::int_type int_type;
+ typedef typename base_type::char_type char_type;
+ typedef typename base_type::pos_type pos_type;
+ typedef ::std::streamsize streamsize;
+ typedef typename base_type::off_type off_type;
+public:
+ parser_buf() : base_type() { setbuf(0, 0); }
+ const charT* getnext() { return this->gptr(); }
+protected:
+ std::basic_streambuf<charT, traits>* setbuf(char_type* s, streamsize n);
+ typename parser_buf<charT, traits>::pos_type seekpos(pos_type sp, ::std::ios_base::openmode which);
+ typename parser_buf<charT, traits>::pos_type seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which);
+private:
+ parser_buf& operator=(const parser_buf&)
+ { return *this; };
+ parser_buf(const parser_buf&);
+};
+
+template<class charT, class traits>
+std::basic_streambuf<charT, traits>*
+parser_buf<charT, traits>::setbuf(char_type* s, streamsize n)
+{
+ this->setg(s, s, s + n);
+ return this;
+}
+
+template<class charT, class traits>
+typename parser_buf<charT, traits>::pos_type
+parser_buf<charT, traits>::seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which)
+{
+ typedef typename parser_buf<charT, traits>::pos_type pos_type;
+ if(which & ::std::ios_base::out)
+ return pos_type(off_type(-1));
+ int size = this->egptr() - this->eback();
+ int pos = this->gptr() - this->eback();
+ charT* g = this->eback();
+ switch((int)way)
+ {
+ case ::std::ios_base::beg:
+ if((off < 0) || (off > size))
+ return pos_type(off_type(-1));
+ else
+ this->setg(g, g + off, g + size);
+ case ::std::ios_base::end:
+ if((off < 0) || (off > size))
+ return pos_type(off_type(-1));
+ else
+ this->setg(g, g + size - off, g + size);
+ case ::std::ios_base::cur:
+ {
+ int newpos = pos + off;
+ if((newpos < 0) || (newpos > size))
+ return pos_type(off_type(-1));
+ else
+ this->setg(g, g + newpos, g + size);
+ }
+ }
+ return static_cast<pos_type>(this->gptr() - this->eback());
+}
+
+template<class charT, class traits>
+typename parser_buf<charT, traits>::pos_type
+parser_buf<charT, traits>::seekpos(pos_type sp, ::std::ios_base::openmode which)
+{
+ if(which & ::std::ios_base::out)
+ return pos_type(off_type(-1));
+ int size = this->egptr() - this->eback();
+ charT* g = this->eback();
+ if(off_type(sp) <= size)
+ {
+ this->setg(g, g + off_type(sp), g + size);
+ }
+ return pos_type(off_type(-1));
+}
+
+
+int test()
+{
+ return 0;
+}
+
+template class parser_buf<char>;
+template class parser_buf<wchar_t>;
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_std_wstring.ipp b/src/boost/libs/config/test/boost_no_std_wstring.ipp
new file mode 100644
index 000000000..d79fd95fa
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_std_wstring.ipp
@@ -0,0 +1,28 @@
+// (C) Copyright John Maddock 2001.
+// 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_STD_WSTRING
+// TITLE: std::wstring
+// DESCRIPTION: The standard library lacks std::wstring.
+
+#include <string>
+
+namespace boost_no_std_wstring{
+
+int test()
+{
+ std::wstring s;
+ if(*s.c_str() || (s.begin() != s.end()) || s.size() || (sizeof(std::wstring::value_type) != sizeof(wchar_t))) return -1;
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_stdc_namespace.ipp b/src/boost/libs/config/test/boost_no_stdc_namespace.ipp
new file mode 100644
index 000000000..3ff3f4948
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_stdc_namespace.ipp
@@ -0,0 +1,43 @@
+// (C) Copyright John Maddock 2001.
+// 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_STDC_NAMESPACE
+// TITLE: std:: namespace for C API's
+// DESCRIPTION: The contents of C++ standard headers for C library
+// functions (the <c...> headers) have not been placed
+// in namespace std. This test is difficult - some libraries
+// "fake" the std C functions by adding using declarations
+// to import them into namespace std, unfortunately they don't
+// necessarily catch all of them...
+
+#include <cstring>
+#include <cctype>
+#include <ctime>
+
+#undef isspace
+#undef isalpha
+#undef ispunct
+
+namespace boost_no_stdc_namespace{
+
+
+int test()
+{
+ char c = 0;
+#ifndef BOOST_NO_CTYPE_FUNCTIONS
+ (void)std::isspace(c);
+ (void)std::isalpha(c);
+ (void)std::ispunct(c);
+#endif
+ (void)std::strlen(&c);
+ (void)std::clock();
+
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_swprintf.ipp b/src/boost/libs/config/test/boost_no_swprintf.ipp
new file mode 100644
index 000000000..4b3a460f8
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_swprintf.ipp
@@ -0,0 +1,31 @@
+// (C) Copyright John Maddock 2001.
+// 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_SWPRINTF
+// TITLE: swprintf
+// DESCRIPTION: The platform does not have a conforming version of swprintf.
+
+#include <wchar.h>
+#include <stdio.h>
+
+
+namespace boost_no_swprintf{
+
+int test()
+{
+ wchar_t buf[10];
+ swprintf(buf, 10, L"%d", 10);
+ return 0;
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_tem_local_classes.ipp b/src/boost/libs/config/test/boost_no_tem_local_classes.ipp
new file mode 100644
index 000000000..876980ec3
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_tem_local_classes.ipp
@@ -0,0 +1,33 @@
+
+// Copyright (C) 2009-2012 Lorenzo Caminiti
+// Distributed under the Boost Software License, Version 1.0
+// (see accompanying file LICENSE_1_0.txt or a copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+// Home at http://www.boost.org/libs/config
+
+// MACRO: BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+// TITLE: local classes as template parameters
+// DESCRIPTION: Local classes cannot be passed as template parameters.
+
+// NOTE: Local classes cannot be passed as template parameters in C++03 (even
+// if some C++03 compilers, like MSVC and older GCC, allow it). Local classes
+// can instead be passed as template parameters in C++11 (see also N2657, note
+// that this macro does not check if unnamed types can also be passed as
+// template parameters but it is intentionally limited to local named classes
+// because some non C++11 compilers might only support local named classes as
+// template parameters which is still very useful to program local functors).
+namespace boost_no_cxx11_local_class_template_parameters {
+
+template<typename T> struct a { void use() {} };
+template<typename T> void f(T) {}
+
+int test() {
+ class local_class {} local_obj;
+ a<local_class> a1;
+ a1.use(); // Avoid unused variable warning.
+ f(local_obj);
+ return 0;
+}
+
+} // namespace
+
diff --git a/src/boost/libs/config/test/boost_no_template_aliases.ipp b/src/boost/libs/config/test/boost_no_template_aliases.ipp
new file mode 100644
index 000000000..90451e0ea
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_template_aliases.ipp
@@ -0,0 +1,22 @@
+// (C) Copyright Beman Dawes 2009
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_TEMPLATE_ALIASES
+// TITLE: C++0x template_aliases feature unavailable
+// DESCRIPTION: The compiler does not support the C++0x template_aliases feature
+
+namespace boost_no_cxx11_template_aliases {
+
+using PINT = void (*)(int); // using plus C-style type
+
+int test()
+{
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_template_streams.ipp b/src/boost/libs/config/test/boost_no_template_streams.ipp
new file mode 100644
index 000000000..bb24e132c
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_template_streams.ipp
@@ -0,0 +1,29 @@
+// (C) Copyright John Maddock 2008.
+// 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_TEMPLATED_IOSTREAMS
+// TITLE: basic_iostream<>
+// DESCRIPTION: The platform supports "new style" templated iostreams.
+
+#include <iostream>
+
+
+namespace boost_no_templated_iostreams{
+
+int test()
+{
+ std::basic_ostream<char, std::char_traits<char> >& osr = std::cout;
+ (void)osr;
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_template_template.ipp b/src/boost/libs/config/test/boost_no_template_template.ipp
new file mode 100644
index 000000000..a07944524
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_template_template.ipp
@@ -0,0 +1,50 @@
+// (C) Copyright John Maddock 2002.
+// 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_TEMPLATE_TEMPLATES
+// TITLE: template template paramters.
+// DESCRIPTION: Verify that template template parameters both work
+// and can be deduced through a function call.
+
+
+namespace boost_no_template_templates{
+
+
+template<class T>
+class foo
+{
+public:
+ foo(){};
+ foo(const T&){};
+ const foo& bar()const{ return *this; }
+ foo& operator=(const foo&){ return *this; }
+};
+
+template<typename T, template<typename> class U>
+U<T> sinhc_pi(const U<T> x)
+{
+ return x.bar();
+}
+
+
+int test()
+{
+ foo<double> f1;
+ foo<int> f2;
+ f1 = sinhc_pi(f1);
+ f2 = sinhc_pi(f2);
+ return 0;
+}
+
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_two_phase_lookup.ipp b/src/boost/libs/config/test/boost_no_two_phase_lookup.ipp
new file mode 100644
index 000000000..2c5419c8d
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_two_phase_lookup.ipp
@@ -0,0 +1,41 @@
+// (C) Copyright Alisdair Meredith 2006.
+// 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_TWO_PHASE_NAME_LOOKUP
+// TITLE: Two phase name lookup
+// DESCRIPTION: If the compiler does not perform two phase name lookup
+
+namespace boost_no_two_phase_name_lookup {
+
+template< class T >
+struct base {
+ int call() {
+ return 1;
+ }
+};
+
+int call() {
+ return 0;
+}
+
+template< class T >
+struct derived : base< T > {
+ int call_test() {
+ return call();
+ }
+};
+
+int test()
+{
+ derived< int > d;
+ return d.call_test();
+}
+
+}
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_typeid.ipp b/src/boost/libs/config/test/boost_no_typeid.ipp
new file mode 100644
index 000000000..72dd4d3d2
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_typeid.ipp
@@ -0,0 +1,24 @@
+// (C) Copyright Peter Dimov 2007.
+// 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_TYPEID
+// TITLE: typeid unavailable
+// DESCRIPTION: The compiler does not support typeid in this mode
+
+#include <typeinfo>
+
+namespace boost_no_typeid
+{
+
+int test()
+{
+ (void)typeid(int);
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_typename_with_ctor.ipp b/src/boost/libs/config/test/boost_no_typename_with_ctor.ipp
new file mode 100644
index 000000000..6cf4da844
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_typename_with_ctor.ipp
@@ -0,0 +1,34 @@
+// Copyright (C) 2008 N. Musatti
+// 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_TYPENAME_WITH_CTOR
+// TITLE: Use of typename keyword with constructors
+// DESCRIPTION: If the compiler rejects the typename keyword when calling
+// the constructor of a dependent type
+
+namespace boost_no_typename_with_ctor {
+
+struct A {};
+
+template <typename T>
+struct B {
+ typedef T type;
+};
+
+template <typename T>
+typename T::type f() {
+ return typename T::type();
+}
+
+int test() {
+ A a = f<B<A> >();
+ (void)a;
+ return 0;
+}
+
+}
+
diff --git a/src/boost/libs/config/test/boost_no_unicode_literals.ipp b/src/boost/libs/config/test/boost_no_unicode_literals.ipp
new file mode 100644
index 000000000..0faf9b7d5
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_unicode_literals.ipp
@@ -0,0 +1,34 @@
+// (C) Copyright Beman Dawes 2008
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for more information.
+
+// MACRO: BOOST_NO_CXX11_UNICODE_LITERALS
+// TITLE: C++0x unicode literals unavailable
+// DESCRIPTION: The compiler does not support C++0x Unicode literals (N2442)
+
+namespace boost_no_cxx11_unicode_literals {
+
+template <class CharT>
+void quiet_warning(const CharT*){}
+
+int test()
+{
+#if defined(__cpp_char8_type) || defined(__cpp_char8_t)
+ // The change to char8_t in C++20 is a breaking change to the std:
+ const char8_t* c8 = u8"";
+#else
+ const char* c8 = u8"";
+#endif
+ const char16_t* c16 = u"";
+ const char32_t* c32 = U"";
+ quiet_warning(c8);
+ quiet_warning(c16);
+ quiet_warning(c32);
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_unified_init.ipp b/src/boost/libs/config/test/boost_no_unified_init.ipp
new file mode 100644
index 000000000..428c8f43d
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_unified_init.ipp
@@ -0,0 +1,59 @@
+// Copyright (C) 2011 John Maddock
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+// TITLE: C++0x unified initialization syntax unavailable
+// DESCRIPTION: The compiler does not support C++0x unified initialization syntax: see http://en.wikipedia.org/wiki/C%2B%2B0x#Uniform_initialization
+
+#include <string>
+
+namespace boost_no_cxx11_unified_initialization_syntax {
+
+struct BasicStruct
+{
+ int x;
+ double y;
+};
+
+struct AltStruct
+{
+public:
+ AltStruct(int x, double y) : x_{x}, y_{y} {}
+ int X() const { return x_; }
+ double Y() const { return y_; }
+private:
+ int x_;
+ double y_;
+};
+
+struct IdString
+{
+ std::string name;
+ int identifier;
+ bool operator == (const IdString& other)
+ {
+ return identifier == other.identifier && name == other.name;
+ }
+};
+
+IdString get_string()
+{
+ return {"SomeName", 4}; //Note the lack of explicit type.
+}
+
+int test()
+{
+ BasicStruct var1{5, 3.2};
+ AltStruct var2{2, 4.3};
+ (void) var1;
+ (void) var2;
+
+ IdString id{"SomeName", 4};
+ return id == get_string() ? 0 : 1;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_using_breaks_adl.ipp b/src/boost/libs/config/test/boost_no_using_breaks_adl.ipp
new file mode 100644
index 000000000..e44e285d9
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_using_breaks_adl.ipp
@@ -0,0 +1,73 @@
+// (C) Copyright John Maddock 2001.
+// 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_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+// TITLE: broken ADL
+// DESCRIPTION: Using declarations break argument dependent lookup
+// (probably Borland specific), the fix is to use
+// using namespace whatever; rather than
+// using whatever::symbol;.
+
+
+namespace boost_ns
+{
+ template <class T>
+ T* get_pointer(T* p)
+ { return p; }
+
+ namespace inner2
+ {
+ template <class T>
+ struct X {};
+
+ template <class T>
+ T* get_pointer(X<T>)
+ { return 0; }
+ }
+}
+
+namespace user_ns
+{
+ template <class T>
+ struct Y{};
+
+ template <class T>
+ T* get_pointer(user_ns::Y<T>)
+ { return 0; }
+
+ template <class T>
+ int f(T x)
+ {
+ // use this as a workaround:
+ //using namespace boost;
+ // this statement breaks ADL:
+ using boost_ns::get_pointer; // conforming compilers require
+ // this one to find the auto_ptr
+ // and T* overloads
+ return get_pointer(x) == 0;
+ }
+}
+
+namespace boost_function_scope_using_declaration_breaks_adl{
+
+int test()
+{
+ int i;
+ typedef void* pv;
+ i = user_ns::f(pv());
+ i = user_ns::f(boost_ns::inner2::X<int>());
+ (void)i;
+ return 0;
+}
+
+}
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_using_decl_overld.ipp b/src/boost/libs/config/test/boost_no_using_decl_overld.ipp
new file mode 100644
index 000000000..c0174636e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_using_decl_overld.ipp
@@ -0,0 +1,33 @@
+// (C) Copyright Eric Friedman 2002.
+// 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)
+
+// MACRO: BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+// TITLE: using declaration function overloads from a typename base
+// DESCRIPTION: The compiler will not accept a using declaration
+// that brings a function from a typename used as a base class
+// into a derived class if functions of the same name
+// are present in the derived class.
+
+namespace boost_no_using_declaration_overloads_from_typename_base {
+
+struct base
+{
+ static void f() { }
+};
+
+template <typename T, typename Base>
+struct using_overloads_from_typename_base : Base
+{
+ using Base::f;
+ static T f(const T& t) { return t; }
+};
+
+int test()
+{
+ using_overloads_from_typename_base<int,base>::f();
+ return using_overloads_from_typename_base<int,base>::f(0);
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_using_template.ipp b/src/boost/libs/config/test/boost_no_using_template.ipp
new file mode 100644
index 000000000..73e8b9f30
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_using_template.ipp
@@ -0,0 +1,47 @@
+// (C) Copyright John Maddock 2001.
+// 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_USING_TEMPLATE
+// TITLE: using template declarations
+// DESCRIPTION: The compiler will not accept a using declaration
+// that imports a class or function template
+// into a named namespace. Probably Borland/MSVC6 specific.
+
+template <class T>
+int global_foo(T)
+{
+ return 0;
+}
+
+template <class T, class U = void>
+struct op
+{
+ friend op<T,U> operator +(const op&, const op&)
+ {
+ return op();
+ };
+};
+
+namespace boost_no_using_template{
+
+using ::global_foo;
+using ::op;
+
+int test()
+{
+ boost_no_using_template::op<int, int> a;
+ boost_no_using_template::op<int, int> b;
+ a+b;
+ return boost_no_using_template::global_foo(0);
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_variadic_macros.ipp b/src/boost/libs/config/test/boost_no_variadic_macros.ipp
new file mode 100644
index 000000000..50f60a72e
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_variadic_macros.ipp
@@ -0,0 +1,64 @@
+// Copyright (C) 2010 Edward Diener
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX11_VARIADIC_MACROS
+// TITLE: C++0x variadic macros unavailable
+// DESCRIPTION: The compiler does not support C++0x variadic macros
+
+// This is a simple test
+
+#define TEST_VARIADIC_MACRO_SIMPLE(avalue,...) __VA_ARGS__
+
+/*
+
+ This is a more complicated test, which Steve Watanabe graciously
+ supplied, when I asked if it were possible to strip the parantheses
+ from a macro argument. I have changed the names somewhat to prevent
+ any common clashes with other macros in the config testing suite
+ by prepending to each macro name TEST_VARIADIC_MACRO_.
+
+ You may find this test overdone and may want to remove it.
+
+*/
+
+#define TEST_VARIADIC_MACRO_CAT(x, y) TEST_VARIADIC_MACRO_CAT_I(x, y)
+#define TEST_VARIADIC_MACRO_CAT_I(x, y) x ## y
+
+#define TEST_VARIADIC_MACRO_APPLY(macro, args) TEST_VARIADIC_MACRO_APPLY_I(macro, args)
+#define TEST_VARIADIC_MACRO_APPLY_I(macro, args) macro args
+
+#define TEST_VARIADIC_MACRO_STRIP_PARENS(x) TEST_VARIADIC_MACRO_EVAL((TEST_VARIADIC_MACRO_STRIP_PARENS_I x), x)
+#define TEST_VARIADIC_MACRO_STRIP_PARENS_I(...) 1,1
+
+#define TEST_VARIADIC_MACRO_EVAL(test, x) TEST_VARIADIC_MACRO_EVAL_I(test, x)
+#define TEST_VARIADIC_MACRO_EVAL_I(test, x) TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS(TEST_VARIADIC_MACRO_TEST_ARITY test, x)
+
+#define TEST_VARIADIC_MACRO_TEST_ARITY(...) TEST_VARIADIC_MACRO_APPLY(TEST_VARIADIC_MACRO_TEST_ARITY_I, (__VA_ARGS__, 2, 1))
+#define TEST_VARIADIC_MACRO_TEST_ARITY_I(a,b,c,...) c
+
+#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS(cond, x) TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_I(cond, x)
+#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_I(cond, x) TEST_VARIADIC_MACRO_CAT(TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_, cond)(x)
+
+#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_1(x) x
+#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_2(x) TEST_VARIADIC_MACRO_APPLY(TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_2_I, x)
+#define TEST_VARIADIC_MACRO_MAYBE_STRIP_PARENS_2_I(...) __VA_ARGS__
+
+namespace boost_no_cxx11_variadic_macros {
+
+void quiet_warning(int){}
+
+template<TEST_VARIADIC_MACRO_STRIP_PARENS((typename T,int))> struct test_variadic_macro_class {};
+
+int test()
+{
+
+ int x = TEST_VARIADIC_MACRO_STRIP_PARENS(3);
+ quiet_warning(x);
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_variadic_templates.ipp b/src/boost/libs/config/test/boost_no_variadic_templates.ipp
new file mode 100644
index 000000000..570e8f2e1
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_variadic_templates.ipp
@@ -0,0 +1,21 @@
+// Copyright (C) 2007 Douglas Gregor
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_NO_CXX11_VARIADIC_TEMPLATES
+// TITLE: C++0x variadic templates unavailable
+// DESCRIPTION: The compiler does not support C++0x variadic templates
+
+namespace boost_no_cxx11_variadic_templates {
+
+template<typename... Elements> struct tuple {};
+
+int test()
+{
+ return 0;
+}
+
+}
diff --git a/src/boost/libs/config/test/boost_no_void_returns.ipp b/src/boost/libs/config/test/boost_no_void_returns.ipp
new file mode 100644
index 000000000..920c44bfa
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_void_returns.ipp
@@ -0,0 +1,34 @@
+// (C) Copyright John Maddock 2001.
+// 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_VOID_RETURNS
+// TITLE: no void returns
+// DESCRIPTION: The compiler does not allow a void function
+// to return the result of calling another void
+// function.
+//
+// void f() {}
+// void g() { return f(); }
+
+
+namespace boost_no_void_returns{
+
+void f() {}
+
+void g() { return f(); }
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
+
+
diff --git a/src/boost/libs/config/test/boost_no_wchar_t.ipp b/src/boost/libs/config/test/boost_no_wchar_t.ipp
new file mode 100644
index 000000000..8a9825845
--- /dev/null
+++ b/src/boost/libs/config/test/boost_no_wchar_t.ipp
@@ -0,0 +1,45 @@
+// (C) Copyright John Maddock 2001.
+// 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_INTRINSIC_WCHAR_T
+// TITLE: intrinsic wchar_t
+// DESCRIPTION: The C++ implementation does not provide wchar_t,
+// or it is really a synonym for another integral type.
+// Use this symbol to decide whether it is appropriate
+// to explicitly specialize a template on wchar_t if there
+// is already a specialization for other integer types.
+
+#ifndef BOOST_NO_CWCHAR
+#include <wchar.h>
+#endif
+
+namespace boost_no_intrinsic_wchar_t{
+
+template <class T>
+struct is_int{ int i; };
+
+template <> struct is_int<unsigned char>{ int i; };
+template <> struct is_int<signed char>{ int i; };
+template <> struct is_int<char>{ int i; };
+template <> struct is_int<unsigned short>{ int i; };
+template <> struct is_int<short>{ int i; };
+template <> struct is_int<unsigned int>{ int i; };
+template <> struct is_int<int>{ int i; };
+template <> struct is_int<unsigned long>{ int i; };
+template <> struct is_int<long>{ int i; };
+template <> struct is_int<wchar_t>{ int i; };
+
+int test()
+{
+ return 0;
+}
+
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/cmd_line_check.cpp b/src/boost/libs/config/test/cmd_line_check.cpp
new file mode 100644
index 000000000..eb8029986
--- /dev/null
+++ b/src/boost/libs/config/test/cmd_line_check.cpp
@@ -0,0 +1,15 @@
+// Copyright 2014 John Maddock.
+//
+// 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
+
+#ifndef __clang__
+# error "This test is for Clang only"
+#endif
+
+int main()
+{
+ return 0;
+}
diff --git a/src/boost/libs/config/test/config_build_check.cpp b/src/boost/libs/config/test/config_build_check.cpp
new file mode 100644
index 000000000..480e93efb
--- /dev/null
+++ b/src/boost/libs/config/test/config_build_check.cpp
@@ -0,0 +1,20 @@
+// Copyright John Maddock 2014.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+// We include this as it contains some workarounds we may need (like a declaration for ::gets to get clang building):
+#include <boost/config.hpp>
+
+# include "../test/boost_has_int128.ipp"
+# include "../test/boost_no_constexpr.ipp"
+# include "../test/boost_no_cxx11_user_lit.ipp"
+
+int main( int, char *[] )
+{
+ return boost_has_int128::test() || boost_no_cxx11_constexpr::test() || boost_no_cxx11_user_defined_literals::test();
+}
+
diff --git a/src/boost/libs/config/test/config_info.cpp b/src/boost/libs/config/test/config_info.cpp
new file mode 100644
index 000000000..3a0c19eea
--- /dev/null
+++ b/src/boost/libs/config/test/config_info.cpp
@@ -0,0 +1,1350 @@
+// Boost config.hpp configuration test program file -----------------------//
+
+// (C) Copyright John Maddock 2001 - 2003.
+// (C) Copyright Jens Maurer 2001.
+// (C) Copyright Peter Dimov 2001.
+// (C) Copyright Darin Adler 2001.
+// (C) Copyright Beman Dawes 2002.
+// 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.
+//
+// Revision $Id$
+//
+
+#include <boost/config.hpp>
+#include <boost/version.hpp>
+#include <iostream>
+#include <iomanip>
+#include <string.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#ifdef BOOST_HAS_UNISTD_H
+#include <unistd.h>
+#endif
+
+#if defined(__MINGW32__)
+# include <_mingw.h>
+#endif
+
+static unsigned int indent = 4;
+static unsigned int width = 40;
+
+using std::cout;
+using std::istream;
+
+void print_macro(const char* name, const char* value)
+{
+ // if name == value+1 then then macro is not defined,
+ // in which case we don't print anything:
+ if(0 != strcmp(name, value+1))
+ {
+ for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
+ std::cout << std::setw(width);
+ cout.setf(istream::left, istream::adjustfield);
+ std::cout << name;
+ if(value[1])
+ {
+ // macro has a value:
+ std::cout << value << "\n";
+ }
+ else
+ {
+ // macro is defined but has no value:
+ std::cout << " [no value]\n";
+ }
+ }
+}
+
+#define PRINT_MACRO(X) print_macro(#X, BOOST_STRINGIZE(=X))
+
+template <class T>
+void print_expression(const char* expression, T val)
+{
+ for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
+ std::cout << std::setw(width);
+ std::cout.setf(istream::left, istream::adjustfield);
+ std::cout << expression << "=" << val << std::endl;
+}
+
+#define PRINT_EXPRESSION(E) print_expression(#E, E);
+
+template <class T>
+void print_byte_order(const char* what, T /* t */ )
+{
+ T val = 0;
+ unsigned i;
+ for(i = 1; i < sizeof(T); ++i)
+ {
+ val |= (CHAR_BIT * static_cast<T>(i)) << (CHAR_BIT * static_cast<T>(i));
+ }
+ const char* p = reinterpret_cast<const char*>(&val);
+
+ for(i = 0; i < indent; ++i) std::cout.put(' ');
+ std::cout << std::setw(width);
+ std::cout.setf(istream::left, istream::adjustfield);
+ std::cout << what << "=";
+ for(i = 0; i < sizeof(T); ++i)
+ {
+ std::cout << (int)p[i] << " ";
+ }
+ std::cout << std::endl;
+}
+
+#define PRINT_ORDER(T) print_byte_order(BOOST_STRINGIZE(byte order for type T), T())
+
+template <class T>
+void print_sign(const char* what, T t)
+{
+ t = static_cast<T>(-1); // cast suppresses warnings
+ for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
+ std::cout << "Type " << what << " is " << ((t > 0) ? "unsigned" : "signed") << std::endl;
+}
+
+#define PRINT_SIGN(T) print_sign(#T, T())
+
+
+void print_compiler_macros()
+{
+ std::cout << BOOST_COMPILER << "\n";
+ // Borland options:
+ PRINT_MACRO(__BORLANDC__);
+ PRINT_MACRO(__CDECL__);
+ PRINT_MACRO(_CHAR_UNSIGNED);
+ PRINT_MACRO(__CODEGUARD__);
+ PRINT_MACRO(__CONSOLE__);
+ PRINT_MACRO(_CPPUNWIND);
+ PRINT_MACRO(__cplusplus);
+ PRINT_MACRO(__FLAT__);
+ PRINT_MACRO(__FUNC__);
+ PRINT_MACRO(_M_IX86);
+ PRINT_MACRO(__MSDOS__);
+ PRINT_MACRO(__MT__ );
+ PRINT_MACRO(__PASCAL__);
+ PRINT_MACRO(__STDC__);
+ PRINT_MACRO(__TLS__);
+ PRINT_MACRO(_WCHAR_T);
+ PRINT_MACRO(_Windows);
+ PRINT_MACRO(__WIN32__);
+ PRINT_MACRO(_WIN32);
+ PRINT_MACRO(_WIN64);
+ PRINT_MACRO(_WIN32_WCE);
+ PRINT_MACRO(WIN32);
+ PRINT_MACRO(_RTLDLL);
+ PRINT_MACRO(__DEBUG);
+
+// Internal MSVC 7 error workaround (Peter Dimov)
+
+#ifndef _NATIVE_WCHAR_T_DEFINED
+ PRINT_MACRO(_WCHAR_T_DEFINED);
+#endif
+ // MSVC macros:
+ PRINT_MACRO(_ALIGNED_NEW_SUPPORTED);
+ PRINT_MACRO(__ATOM__);
+ PRINT_MACRO(__AVX__);
+ PRINT_MACRO(__AVX2__);
+ PRINT_MACRO(_CHAR_UNSIGNED);
+ PRINT_MACRO(_CLR_VER);
+ PRINT_MACRO(_CONTROL_FLOW_GUARD);
+ PRINT_MACRO(__cplusplus_cli);
+ PRINT_MACRO(__cplusplus_winrt);
+ PRINT_MACRO(_CPPRTTI);
+ PRINT_MACRO(_CPPUNWIND);
+ PRINT_MACRO(_DLL);
+ PRINT_MACRO(_INLINE_VARIABLES_SUPPORTED);
+ PRINT_MACRO(_ISO_VOLATILE);
+ PRINT_MACRO(_M_AMD64);
+ PRINT_MACRO(_M_ARM);
+ PRINT_MACRO(_M_ARM_ARMV7VE);
+ PRINT_MACRO(_M_ARM_FP);
+ PRINT_MACRO(_M_ARM64);
+ PRINT_MACRO(_M_CEE);
+ PRINT_MACRO(_M_CEE_PURE);
+ PRINT_MACRO(_M_CEE_SAFE);
+ PRINT_MACRO(_M_FP_EXCEPT);
+ PRINT_MACRO(_M_FP_FAST);
+ PRINT_MACRO(_M_FP_PRECISE);
+ PRINT_MACRO(_M_FP_STRICT);
+ PRINT_MACRO(_M_IX86);
+ PRINT_MACRO(_M_IX86_FP);
+ PRINT_MACRO(_M_X64);
+ PRINT_MACRO(_M_ALPHA);
+ PRINT_MACRO(_M_MPPC);
+ PRINT_MACRO(_M_MRX000);
+ PRINT_MACRO(_M_PPC);
+ PRINT_MACRO(_MANAGED);
+ PRINT_MACRO(_MSC_BUILD);
+ PRINT_MACRO(_MFC_VER);
+ PRINT_MACRO(_MSC_EXTENSIONS);
+ PRINT_MACRO(_MSC_VER);
+ PRINT_MACRO(_MSC_FULL_VER);
+ PRINT_MACRO(_MSVC_LANG);
+ PRINT_MACRO(_MSVC_WARNING_LEVEL);
+ PRINT_MACRO(__MSVC_RUNTIME_CHECKS);
+ PRINT_MACRO(_MT);
+ PRINT_MACRO(_NATIVE_WCHAR_T_DEFINED);
+ PRINT_MACRO(_NOEXCEPT_TYPES_SUPPORTED);
+ PRINT_MACRO(_OPENMP);
+ PRINT_MACRO(_PREFAST_);
+ // GNUC options:
+ PRINT_MACRO(__GNUC__);
+ PRINT_MACRO(__GNUC_MINOR__);
+ PRINT_MACRO(__GNUC_PATCHLEVEL__);
+ PRINT_MACRO(__STDC_VERSION__);
+ PRINT_MACRO(__GNUG__);
+ PRINT_MACRO(__STRICT_ANSI__);
+ PRINT_MACRO(__GXX_EXPERIMENTAL_CXX0X__);
+ PRINT_MACRO(__VERSION__);
+ PRINT_MACRO(__OPTIMIZE__);
+ PRINT_MACRO(__CHAR_UNSIGNED__);
+ PRINT_MACRO(__REGISTER_PREFIX__);
+ PRINT_MACRO(__USER_LABEL_PREFIX__);
+ PRINT_MACRO(__GNUPRO__);
+ PRINT_MACRO(__EXCEPTIONS);
+ PRINT_MACRO(__FreeBSD__);
+ PRINT_MACRO(__FreeBSD_cc_version);
+ PRINT_MACRO(__ELF__);
+ PRINT_MACRO(__GNUPRO__);
+ PRINT_MACRO(unix);
+ PRINT_MACRO(bsd);
+ PRINT_MACRO(vax);
+ PRINT_MACRO(mc68000);
+ PRINT_MACRO(m68k);
+ PRINT_MACRO(M68020);
+ PRINT_MACRO(_AM29K);
+ PRINT_MACRO(ns32000);
+ PRINT_MACRO(sun);
+ PRINT_MACRO(pyr);
+ PRINT_MACRO(sequent);
+ PRINT_MACRO(__i386__);
+ PRINT_MACRO(__sparc);
+ PRINT_MACRO(__sparc__);
+ PRINT_MACRO(__powerpc__);
+ PRINT_MACRO(__hppa);
+ PRINT_MACRO(__CYGWIN__);
+ PRINT_MACRO(__MINGW32__);
+ PRINT_MACRO(__GXX_RTTI);
+ PRINT_MACRO(__alpha__);
+ PRINT_MACRO(__amd64__);
+ PRINT_MACRO(__arm__);
+ PRINT_MACRO(__aarch64__);
+ PRINT_MACRO(__bfin);
+ PRINT_MACRO(__convex__);
+ PRINT_MACRO(__epiphany__);
+ PRINT_MACRO(__hppa__);
+ PRINT_MACRO(__ia64__);
+ PRINT_MACRO(__IA64);
+ PRINT_MACRO(__IA64__);
+ PRINT_MACRO(__m68k__);
+ PRINT_MACRO(__mips__);
+ PRINT_MACRO(__powerpc);
+ PRINT_MACRO(__powerpc__);
+ PRINT_MACRO(__powerpc64__);
+ PRINT_MACRO(__POWERPC__);
+ PRINT_MACRO(__ppc__);
+ PRINT_MACRO(__ppc64__);
+ PRINT_MACRO(__PPC__);
+ PRINT_MACRO(__PPC64__);
+ PRINT_MACRO(_ARCH_PPC);
+ PRINT_MACRO(_ARCH_PPC64);
+ PRINT_MACRO(__sh__);
+ PRINT_MACRO(__370__);
+ PRINT_MACRO(__THW_370__);
+ // HP aCC:
+ PRINT_MACRO(__HP_aCC);
+ PRINT_MACRO(_HPACC_);
+ PRINT_MACRO(__LP64__);
+ PRINT_MACRO(__RISC2_0__);
+ PRINT_MACRO(__STDCPP__);
+ PRINT_MACRO(__hppa);
+ PRINT_MACRO(__hpux);
+ PRINT_MACRO(__hp9000s800);
+ PRINT_MACRO(__hp9000s700);
+ PRINT_MACRO(_PA_RISC1_1);
+ PRINT_MACRO(__HPUX_SOURCE);
+ PRINT_MACRO(_INCLUDE__STDC_A1_SOURCE);
+ // SGI IRIX:
+ PRINT_MACRO(__sgi);
+ PRINT_MACRO(_COMPILER_VERSION);
+ // Sunpro:
+ PRINT_MACRO(__SUNPRO_CC);
+ PRINT_MACRO(__SUNPRO_CC_COMPAT);
+ PRINT_MACRO(__BUILTIN_VA_ARG_INCR);
+ PRINT_MACRO(__sun);
+ PRINT_MACRO(__SVR4);
+ PRINT_MACRO(__unix);
+ PRINT_MACRO(__sparcv9);
+ PRINT_MACRO(__i386);
+ PRINT_MACRO(i386);
+ // Metrowerks
+ PRINT_MACRO(__MWERKS__);
+ PRINT_MACRO(__MSL__);
+ PRINT_MACRO(__MSL_CPP__);
+ PRINT_MACRO(__A5__);
+ PRINT_MACRO(__embedded_cplusplus);
+ PRINT_MACRO(__fourbyteints__);
+ PRINT_MACRO(__IEEEdoubles__);
+ PRINT_MACRO(__MC68K__);
+ PRINT_MACRO(__MC68020__);
+ PRINT_MACRO(__MC68881__);
+ PRINT_MACRO(__MIPS__);
+ PRINT_MACRO(__MIPS_ISA2__);
+ PRINT_MACRO(__MIPS_ISA3__);
+ PRINT_MACRO(__MIPS_ISA4__);
+ PRINT_MACRO(__MWBROWSER__);
+ PRINT_MACRO(__profile__);
+ PRINT_MACRO(__powerc);
+ PRINT_MACRO(_powerc);
+ PRINT_MACRO(__POWERPC__);
+ PRINT_MACRO(macintosh);
+ PRINT_MACRO(__MACH__);
+ PRINT_MACRO(__APPLE__);
+ PRINT_MACRO(__APPLE_CC__);
+ // MPW (MrCpp and SCpp)
+ PRINT_MACRO(__MRC__);
+ PRINT_MACRO(__SC__);
+ PRINT_MACRO(__FPCE__);
+ PRINT_MACRO(__FPCE_IEEE__);
+ PRINT_MACRO(MPW_CPLUS);
+ PRINT_MACRO(MPW_C);
+ PRINT_MACRO(__MC601);
+ PRINT_MACRO(__POWERPC);
+ PRINT_MACRO(__useAppleExts__);
+ PRINT_MACRO(powerc);
+ PRINT_MACRO(MC68000);
+ PRINT_MACRO(THINK_PLUS);
+ PRINT_MACRO(mc68881);
+ PRINT_MACRO(__FAR_CODE__);
+ PRINT_MACRO(__FAR_DATA__);
+ PRINT_MACRO(__CFM68K__);
+ // EDG
+ PRINT_MACRO(__EDG__);
+ PRINT_MACRO(__EDG_VERSION__);
+ PRINT_MACRO(c_plusplus); // indication for strict mode
+ PRINT_MACRO(_BOOL);
+ PRINT_MACRO(_EXPLICIT);
+ PRINT_MACRO(__SIGNED_CHARS__);
+ PRINT_MACRO(_TYPENAME);
+ PRINT_MACRO(_WCHAR_T);
+ PRINT_MACRO(__ARRAY_OPERATORS);
+ PRINT_MACRO(__EDG_ABI_COMPATIBILITY_VERSION);
+ PRINT_MACRO(__EDG_IMPLICIT_USING_STD);
+ PRINT_MACRO(__EDG_RUNTIME_USES_NAMESPACES);
+ PRINT_MACRO(__BOOL_DEFINED);
+ PRINT_MACRO(__RTTI);
+ PRINT_MACRO(__PLACEMENT_DELETE);
+ PRINT_MACRO(__NO_LONG_LONG);
+
+ // Intel options:
+ PRINT_MACRO(__INTEL__);
+ PRINT_MACRO(__ICC);
+ PRINT_MACRO(__ICL);
+ PRINT_MACRO(__ECC);
+ PRINT_MACRO(__INTEL_COMPILER);
+ PRINT_MACRO(__INITIAL_POINTER_SIZE);
+ PRINT_MACRO(_INTEGRAL_MAX_BITS);
+ PRINT_MACRO(__INTEL_COMPILER_BUILD_DATE);
+ PRINT_MACRO(__INTEL_MS_COMPAT_LEVEL);
+ PRINT_MACRO(__LONG_DOUBLE_SIZE__);
+ PRINT_MACRO(_M_X64);
+ PRINT_MACRO(_OPENMP);
+ PRINT_MACRO(_OPENMPT);
+ PRINT_MACRO(_PGO_INSTRUMENT);
+ PRINT_MACRO(__QMSPP_);
+ PRINT_MACRO(__INTEL_RTTI__);
+ PRINT_MACRO(__INTEL_CXX11_MODE__);
+
+ // Cray options:
+ PRINT_MACRO(_CRAYC);
+ PRINT_MACRO(_RELEASE);
+ PRINT_MACRO(cray);
+ PRINT_MACRO(CRAY);
+ PRINT_MACRO(CRAY1);
+ PRINT_MACRO(_CRAY1);
+ PRINT_MACRO(_CRAYMPP);
+ PRINT_MACRO(_CRAYT3E);
+ PRINT_MACRO(_CRAYIEEE);
+ PRINT_MACRO(_ADDR32);
+ PRINT_MACRO(_ADDR64);
+ PRINT_MACRO(_LD64);
+ PRINT_MACRO(_FASTMD);
+ PRINT_MACRO(_MAXVL);
+
+ // clang options:
+ PRINT_MACRO(__clang__);
+ PRINT_MACRO(__clang_major__);
+ PRINT_MACRO(__clang_minor__);
+ PRINT_MACRO(__clang_version__);
+ PRINT_MACRO(__clang_patchlevel__);
+
+ // misc compilers not covered so far:
+ PRINT_MACRO(__USLC__);
+ PRINT_MACRO(__DECCXX);
+ PRINT_MACRO(__IBMCPP__);
+ PRINT_MACRO(_REENTRANT);
+ PRINT_MACRO(_PTHREADS);
+ PRINT_MACRO(__STDC_HOSTED__);
+ PRINT_MACRO(__COMO__);
+ PRINT_MACRO(__COMO_VERSION__);
+ PRINT_MACRO(__DM__);
+ PRINT_MACRO(__osf__);
+ PRINT_MACRO(__OSF__);
+ PRINT_MACRO(__QNXNTO__);
+ PRINT_MACRO(__QNX__);
+ PRINT_MACRO(_NTO_VERSION);
+ PRINT_MACRO(__OPEN64__);
+ PRINT_MACRO(__open64);
+ PRINT_MACRO(__NVCC__);
+ PRINT_MACRO(__CUDACC__);
+ PRINT_MACRO(__CUDACC_RDC__);
+ PRINT_MACRO(__CUDACC_VER_MAJOR__);
+ PRINT_MACRO(__CUDACC_VER_MINOR__);
+ PRINT_MACRO(__CUDACC_VER_BUILD__);
+ PRINT_MACRO(__CUDACC_VER__);
+
+ // Android:
+ PRINT_MACRO(ANDROID);
+ PRINT_MACRO(__ANDROID__);
+}
+
+void print_stdlib_macros()
+{
+ std::cout << BOOST_STDLIB << std::endl;
+ #ifdef _RWSTD_VER
+ // Rogue Wave 2.x config options:
+ PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES);
+ PRINT_MACRO(_RWSTD_ALLOCATOR);
+ PRINT_MACRO(_RWSTD_BAD_ALLOC_DEFINED);
+ PRINT_MACRO(_RWSTD_BAD_EXCEPTION_DEFINED);
+ PRINT_MACRO(_RWSTD_BOUNDS_CHECKING);
+ PRINT_MACRO(_RWSTD_COMPILE_INSTANTIATE);
+ PRINT_MACRO(_RWSTD_DEFAULT_PRECISION);
+ PRINT_MACRO(_RWSTD_EXCEPTION_DEFINED);
+ PRINT_MACRO(_RWSTD_EXCEPTION_HANDLER_IN_STD);
+ PRINT_MACRO(_RWSTD_EXCEPTION_PREDEFINED);
+ PRINT_MACRO(_RWSTD_FLT_ROUNDS_IS_CONSTANT);
+ PRINT_MACRO(_RWSTD_LOCALIZED_ERRORS);
+ PRINT_MACRO(_RWSTD_MESSAGE);
+ PRINT_MACRO(_RWSTD_MUTEXATTR_DEFAULT);
+ PRINT_MACRO(_RWSTD_NO_ANSI_SPRINTF);
+ PRINT_MACRO(_RWSTD_NO_ARG_MATCH);
+ PRINT_MACRO(_RWSTD_NO_BAD_CAST);
+ PRINT_MACRO(_RWSTD_NO_BASE_CLASS_MATCH);
+ PRINT_MACRO(_RWSTD_NO_BOOL);
+ PRINT_MACRO(_RWSTD_NO_BUILTIN_CTOR);
+ PRINT_MACRO(_RWSTD_NO_CATOPEN_CATGETS);
+ PRINT_MACRO(_RWSTD_NO_CLASS_PARTIAL_SPEC);
+ PRINT_MACRO(_RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES);
+ PRINT_MACRO(_RWSTD_NO_COMPLICATED_EXCEPTIONS);
+ PRINT_MACRO(_RWSTD_NO_COMPLICATED_TYPEDEF);
+ PRINT_MACRO(_RWSTD_NO_CONST_INST);
+ PRINT_MACRO(_RWSTD_NO_CTOR_RETURN);
+ PRINT_MACRO(_RWSTD_NO_DEFAULT_FOR_TPARAM);
+ PRINT_MACRO(_RWSTD_NO_DEFAULT_TEMPLATE_ARGS);
+ PRINT_MACRO(_RWSTD_NO_DESTROY_BUILTIN);
+ PRINT_MACRO(_RWSTD_NO_DESTROY_NONBUILTIN);
+ PRINT_MACRO(_RWSTD_NO_EMBEDDED_TYPEDEF);
+ PRINT_MACRO(_RWSTD_NO_EX_SPEC);
+ PRINT_MACRO(_RWSTD_NO_EXCEPTIONS);
+ PRINT_MACRO(_RWSTD_NO_EXPLICIT);
+ PRINT_MACRO(_RWSTD_NO_EXPLICIT_ARG);
+ PRINT_MACRO(_RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION);
+ PRINT_MACRO(_RWSTD_NO_EXPLICIT_INSTANTIATION);
+ PRINT_MACRO(_RWSTD_NO_EXTENSION);
+ PRINT_MACRO(_RWSTD_NO_FORWARD_SPECIALIZATIONS);
+ PRINT_MACRO(_RWSTD_NO_FPOS_T);
+ PRINT_MACRO(_RWSTD_NO_FRIEND_TEMPLATES);
+ PRINT_MACRO(_RWSTD_NO_FUNC_PARTIAL_SPEC);
+ PRINT_MACRO(_RWSTD_NO_GETTIMEOFDAY);
+ PRINT_MACRO(_RWSTD_NO_GLOBAL_TZ);
+ PRINT_MACRO(_RWSTD_NO_INHERITED_TYPEDEFS);
+ PRINT_MACRO(_RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG);
+ PRINT_MACRO(_RWSTD_NO_INT_TYPEDEF);
+ PRINT_MACRO(_RWSTD_NO_LDIV);
+ PRINT_MACRO(_RWSTD_NO_LEADING_UNDERSCORE);
+ PRINT_MACRO(_RWSTD_NO_LOCALE);
+ PRINT_MACRO(_RWSTD_NO_LONG_NAME);
+ PRINT_MACRO(_RWSTD_NO_LONGDOUBLE);
+ PRINT_MACRO(_RWSTD_NO_MBSTATE_T);
+ PRINT_MACRO(_RWSTD_NO_MEM_CLASS_TEMPLATES);
+ PRINT_MACRO(_RWSTD_NO_MEMBER_TEMPLATES);
+ PRINT_MACRO(_RWSTD_NO_MEMBER_TYPE_TPARAM);
+ PRINT_MACRO(_RWSTD_NO_MEMBER_WO_DEF_CTOR);
+ PRINT_MACRO(_RWSTD_NO_MEMMOVE);
+ PRINT_MACRO(_RWSTD_NO_MULTI_DIM_ARRAY);
+ PRINT_MACRO(_RWSTD_NO_MUTABLE);
+ PRINT_MACRO(_RWSTD_NO_NAME_INJECTION);
+ PRINT_MACRO(_RWSTD_NO_NAMESPACE);
+ PRINT_MACRO(_RWSTD_NO_NESTING_TEMPLATES);
+ PRINT_MACRO(_RWSTD_NO_NEW_BRACKETS);
+ PRINT_MACRO(_RWSTD_NO_NEW_DECL);
+ PRINT_MACRO(_RWSTD_NO_NEW_HEADER);
+ PRINT_MACRO(_RWSTD_NO_NEW_TEMPLATE_SYNTAX);
+ PRINT_MACRO(_RWSTD_NO_NONCLASS_ARROW_RETURN);
+ PRINT_MACRO(_RWSTD_NO_NONTYPE_ARGS);
+ PRINT_MACRO(_RWSTD_NO_ONLY_NEEDED_INSTANTIATION);
+ PRINT_MACRO(_RWSTD_NO_OVERLOAD_C_POW);
+ PRINT_MACRO(_RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION);
+ PRINT_MACRO(_RWSTD_NO_OVERLOAD_WCHAR);
+ PRINT_MACRO(_RWSTD_NO_PART_SPEC_OVERLOAD);
+ PRINT_MACRO(_RWSTD_NO_RET_TEMPLATE);
+ PRINT_MACRO(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES);
+ PRINT_MACRO(_RWSTD_NO_STATIC_CAST);
+ PRINT_MACRO(_RWSTD_NO_STATIC_DEF);
+ PRINT_MACRO(_RWSTD_NO_STATIC_DEF2);
+ PRINT_MACRO(_RWSTD_NO_STATIC_DEF3);
+ PRINT_MACRO(_RWSTD_NO_STATIC_MEM_DEF);
+ PRINT_MACRO(_RWSTD_NO_STI_SIMPLE);
+ PRINT_MACRO(_RWSTD_NO_STI_TEMPLATE);
+ PRINT_MACRO(_RWSTD_NO_STREAM_LONG_DOUBLE);
+ PRINT_MACRO(_RWSTD_NO_STRFTIME_CAPC);
+ PRINT_MACRO(_RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE);
+ PRINT_MACRO(_RWSTD_NO_SWPRINTF);
+ PRINT_MACRO(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE);
+ PRINT_MACRO(_RWSTD_NO_TEMPLATE_TEMPLATE);
+ PRINT_MACRO(_RWSTD_NO_THREADS);
+ PRINT_MACRO(_RWSTD_NO_THROW_SPEC_ON_NEW);
+ PRINT_MACRO(_RWSTD_NO_THROW_WITH_SHARED);
+ PRINT_MACRO(_RWSTD_NO_TYPEDEF_INST);
+ PRINT_MACRO(_RWSTD_NO_TYPEDEF_OVERLOAD);
+ PRINT_MACRO(_RWSTD_NO_TYPENAME);
+ PRINT_MACRO(_RWSTD_NO_UNDEFINED_FRIEND);
+ PRINT_MACRO(_RWSTD_NO_UNINITIALIZED_STATIC_DEF);
+ PRINT_MACRO(_RWSTD_NO_WCHAR_H);
+ PRINT_MACRO(_RWSTD_NO_WCTYPE_H);
+ PRINT_MACRO(_RWSTD_NO_WIDE_CHAR);
+ PRINT_MACRO(_RWSTD_NO_WINT_TYPE);
+ PRINT_MACRO(_RWSTD_NO_WSTR);
+ PRINT_MACRO(_RWSTD_NOT_ALL_WSTR_CFUNCTIONS);
+ PRINT_MACRO(_RWSTD_POSIX_D10_THREADS);
+ PRINT_MACRO(_RWSTD_POSIX_THREADS);
+ PRINT_MACRO(_RWSTD_REQUIRES_IEEEFP);
+ PRINT_MACRO(_RWSTD_SOLARIS_THREADS);
+ PRINT_MACRO(_RWSTD_STRUCT_TM_TZ);
+ PRINT_MACRO(_RWSTD_WIDE_STRING_NULL_PROBLEM);
+ #elif defined(__STD_RWCOMPILER_H__)
+ // Rogue Wave 1.x std lib:
+ PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES);
+ PRINT_MACRO(RWSTD_ALLOCATOR);
+ PRINT_MACRO(RWSTD_BAD_ALLOC_DEFINED);
+ PRINT_MACRO(RWSTD_BAD_EXCEPTION_DEFINED);
+ PRINT_MACRO(RWSTD_BOUNDS_CHECKING);
+ PRINT_MACRO(RWSTD_COMPILE_INSTANTIATE);
+ PRINT_MACRO(RWSTD_DEFAULT_PRECISION);
+ PRINT_MACRO(RWSTD_EXCEPTION_DEFINED);
+ PRINT_MACRO(RWSTD_EXCEPTION_HANDLER_IN_STD);
+ PRINT_MACRO(RWSTD_EXCEPTION_PREDEFINED);
+ PRINT_MACRO(RWSTD_FLT_ROUNDS_IS_CONSTANT);
+ PRINT_MACRO(RWSTD_LOCALIZED_ERRORS);
+ PRINT_MACRO(RWSTD_MESSAGE);
+ PRINT_MACRO(RWSTD_MUTEXATTR_DEFAULT);
+ PRINT_MACRO(RWSTD_NO_ANSI_SPRINTF);
+ PRINT_MACRO(RWSTD_NO_ARG_MATCH);
+ PRINT_MACRO(RWSTD_NO_BAD_CAST);
+ PRINT_MACRO(RWSTD_NO_BASE_CLASS_MATCH);
+ PRINT_MACRO(RWSTD_NO_BOOL);
+ PRINT_MACRO(RWSTD_NO_BUILTIN_CTOR);
+ PRINT_MACRO(RWSTD_NO_CATOPEN_CATGETS);
+ PRINT_MACRO(RWSTD_NO_CLASS_PARTIAL_SPEC);
+ PRINT_MACRO(RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES);
+ PRINT_MACRO(RWSTD_NO_COMPLICATED_EXCEPTIONS);
+ PRINT_MACRO(RWSTD_NO_COMPLICATED_TYPEDEF);
+ PRINT_MACRO(RWSTD_NO_CONST_INST);
+ PRINT_MACRO(RWSTD_NO_CTOR_RETURN);
+ PRINT_MACRO(RWSTD_NO_DEFAULT_FOR_TPARAM);
+ PRINT_MACRO(RWSTD_NO_DEFAULT_TEMPLATE_ARGS);
+ PRINT_MACRO(RWSTD_NO_DESTROY_BUILTIN);
+ PRINT_MACRO(RWSTD_NO_DESTROY_NONBUILTIN);
+ PRINT_MACRO(RWSTD_NO_EMBEDDED_TYPEDEF);
+ PRINT_MACRO(RWSTD_NO_EX_SPEC);
+ PRINT_MACRO(RWSTD_NO_EXCEPTIONS);
+ PRINT_MACRO(RWSTD_NO_EXPLICIT);
+ PRINT_MACRO(RWSTD_NO_EXPLICIT_ARG);
+ PRINT_MACRO(RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION);
+ PRINT_MACRO(RWSTD_NO_EXPLICIT_INSTANTIATION);
+ PRINT_MACRO(RWSTD_NO_EXTENSION);
+ PRINT_MACRO(RWSTD_NO_FORWARD_SPECIALIZATIONS);
+ PRINT_MACRO(RWSTD_NO_FPOS_T);
+ PRINT_MACRO(RWSTD_NO_FRIEND_TEMPLATES);
+ PRINT_MACRO(RWSTD_NO_FUNC_PARTIAL_SPEC);
+ PRINT_MACRO(RWSTD_NO_GETTIMEOFDAY);
+ PRINT_MACRO(RWSTD_NO_GLOBAL_TZ);
+ PRINT_MACRO(RWSTD_NO_INHERITED_TYPEDEFS);
+ PRINT_MACRO(RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG);
+ PRINT_MACRO(RWSTD_NO_INT_TYPEDEF);
+ PRINT_MACRO(RWSTD_NO_LDIV);
+ PRINT_MACRO(RWSTD_NO_LEADING_UNDERSCORE);
+ PRINT_MACRO(RWSTD_NO_LOCALE);
+ PRINT_MACRO(RWSTD_NO_LONG_NAME);
+ PRINT_MACRO(RWSTD_NO_LONGDOUBLE);
+ PRINT_MACRO(RWSTD_NO_MBSTATE_T);
+ PRINT_MACRO(RWSTD_NO_MEM_CLASS_TEMPLATES);
+ PRINT_MACRO(RWSTD_NO_MEMBER_TEMPLATES);
+ PRINT_MACRO(RWSTD_NO_MEMBER_TYPE_TPARAM);
+ PRINT_MACRO(RWSTD_NO_MEMBER_WO_DEF_CTOR);
+ PRINT_MACRO(RWSTD_NO_MEMMOVE);
+ PRINT_MACRO(RWSTD_NO_MULTI_DIM_ARRAY);
+ PRINT_MACRO(RWSTD_NO_MUTABLE);
+ PRINT_MACRO(RWSTD_NO_NAME_INJECTION);
+ PRINT_MACRO(RWSTD_NO_NAMESPACE);
+ PRINT_MACRO(RWSTD_NO_NESTING_TEMPLATES);
+ PRINT_MACRO(RWSTD_NO_NEW_BRACKETS);
+ PRINT_MACRO(RWSTD_NO_NEW_DECL);
+ PRINT_MACRO(RWSTD_NO_NEW_HEADER);
+ PRINT_MACRO(RWSTD_NO_NEW_TEMPLATE_SYNTAX);
+ PRINT_MACRO(RWSTD_NO_NONCLASS_ARROW_RETURN);
+ PRINT_MACRO(RWSTD_NO_NONTYPE_ARGS);
+ PRINT_MACRO(RWSTD_NO_ONLY_NEEDED_INSTANTIATION);
+ PRINT_MACRO(RWSTD_NO_OVERLOAD_C_POW);
+ PRINT_MACRO(RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION);
+ PRINT_MACRO(RWSTD_NO_OVERLOAD_WCHAR);
+ PRINT_MACRO(RWSTD_NO_PART_SPEC_OVERLOAD);
+ PRINT_MACRO(RWSTD_NO_RET_TEMPLATE);
+ PRINT_MACRO(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES);
+ PRINT_MACRO(RWSTD_NO_STATIC_CAST);
+ PRINT_MACRO(RWSTD_NO_STATIC_DEF);
+ PRINT_MACRO(RWSTD_NO_STATIC_DEF2);
+ PRINT_MACRO(RWSTD_NO_STATIC_DEF3);
+ PRINT_MACRO(RWSTD_NO_STATIC_MEM_DEF);
+ PRINT_MACRO(RWSTD_NO_STI_SIMPLE);
+ PRINT_MACRO(RWSTD_NO_STI_TEMPLATE);
+ PRINT_MACRO(RWSTD_NO_STREAM_LONG_DOUBLE);
+ PRINT_MACRO(RWSTD_NO_STRFTIME_CAPC);
+ PRINT_MACRO(RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE);
+ PRINT_MACRO(RWSTD_NO_SWPRINTF);
+ PRINT_MACRO(RWSTD_NO_TEMPLATE_ON_RETURN_TYPE);
+ PRINT_MACRO(RWSTD_NO_TEMPLATE_TEMPLATE);
+ PRINT_MACRO(RWSTD_NO_THREADS);
+ PRINT_MACRO(RWSTD_NO_THROW_SPEC_ON_NEW);
+ PRINT_MACRO(RWSTD_NO_THROW_WITH_SHARED);
+ PRINT_MACRO(RWSTD_NO_TYPEDEF_INST);
+ PRINT_MACRO(RWSTD_NO_TYPEDEF_OVERLOAD);
+ PRINT_MACRO(RWSTD_NO_TYPENAME);
+ PRINT_MACRO(RWSTD_NO_UNDEFINED_FRIEND);
+ PRINT_MACRO(RWSTD_NO_UNINITIALIZED_STATIC_DEF);
+ PRINT_MACRO(RWSTD_NO_WCHAR_H);
+ PRINT_MACRO(RWSTD_NO_WCTYPE_H);
+ PRINT_MACRO(RWSTD_NO_WIDE_CHAR);
+ PRINT_MACRO(RWSTD_NO_WINT_TYPE);
+ PRINT_MACRO(RWSTD_NO_WSTR);
+ PRINT_MACRO(RWSTD_NOT_ALL_WSTR_CFUNCTIONS);
+ PRINT_MACRO(RWSTD_POSIX_D10_THREADS);
+ PRINT_MACRO(RWSTD_POSIX_THREADS);
+ PRINT_MACRO(RWSTD_REQUIRES_IEEEFP);
+ PRINT_MACRO(RWSTD_SOLARIS_THREADS);
+ PRINT_MACRO(RWSTD_STRUCT_TM_TZ);
+ PRINT_MACRO(RWSTD_WIDE_STRING_NULL_PROBLEM);
+ #endif
+ // Dinkumware options:
+ PRINT_MACRO(_CPPLIB_VER);
+ PRINT_MACRO(_MSVC_STL_VERSION); // VS2017 15.5+
+ PRINT_MACRO(_MSVC_STL_UPDATE); // VS2017 15.5+
+ PRINT_MACRO(_GLOBAL_USING);
+ PRINT_MACRO(_HAS_EXCEPTIONS);
+ PRINT_MACRO(_HAS_MEMBER_TEMPLATES_REBIND);
+ PRINT_MACRO(_HAS_TEMPLATE_PARTIAL_ORDERING);
+ // https://blogs.msdn.microsoft.com/vcblog/2016/08/12/stl-fixes-in-vs-2015-update-3/
+ PRINT_MACRO(_HAS_CXX17);
+ PRINT_MACRO(_HAS_AUTO_PTR_ETC);
+ PRINT_MACRO(_HAS_OLD_IOSTREAMS_MEMBERS);
+ PRINT_MACRO(_HAS_FUNCTION_ASSIGN);
+ PRINT_MACRO(_HAS_TR1_NAMESPACE);
+ PRINT_MACRO(_HAS_IDENTITY_STRUCT);
+ // VS2017 15.5+
+ PRINT_MACRO(_HAS_STATIC_RTTI);
+ PRINT_MACRO(_HAS_UNEXPECTED);
+ PRINT_MACRO(_HAS_STD_BYTE);
+ PRINT_MACRO(_HAS_FUNCTION_ALLOCATOR_SUPPORT);
+ PRINT_MACRO(_HAS_TR2_SYS_NAMESPACE);
+ PRINT_MACRO(_ENFORCE_MATCHING_ALLOCATORS);
+ PRINT_MACRO(_HAS_HAS_UNIQUE_OBJECT_REPRESENTATIONS);
+ PRINT_MACRO(_HAS_INLINE_VARIABLES);
+ PRINT_MACRO(_HAS_ALIGNED_NEW);
+ PRINT_MACRO(_HAS_NOEXCEPT_FUNCTION_TYPES);
+ PRINT_MACRO(_ITERATOR_DEBUG_LEVEL);
+ PRINT_MACRO(_HAS_ITERATOR_DEBUGGING);
+ PRINT_MACRO(_ITERATOR_DEBUG_ARRAY_OVERLOADS);
+ // Libc++:
+ PRINT_MACRO(_LIBCPP_VERSION);
+ // STLPort and generic SGI STL options:
+ PRINT_MACRO(__SGI_STL_NO_ARROW_OPERATOR);
+ PRINT_MACRO(__SGI_STL_OWN_IOSTREAMS);
+ PRINT_MACRO(__SGI_STL_PORT);
+ PRINT_MACRO(__STL_AUTOMATIC_TYPE_TRAITS);
+ PRINT_MACRO(__STL_BASE_MATCH_BUG);
+ PRINT_MACRO(__STL_BASE_TYPEDEF_BUG);
+ PRINT_MACRO(__STL_BASE_TYPEDEF_OUTSIDE_BUG);
+ PRINT_MACRO(__STL_BROKEN_USING_DIRECTIVE);
+ PRINT_MACRO(__STL_CONST_CONSTRUCTOR_BUG);
+ PRINT_MACRO(__STL_DEBUG);
+ PRINT_MACRO(__STL_DEBUG_ALLOC);
+ PRINT_MACRO(__STL_DEFAULT_CONSTRUCTOR_BUG);
+ PRINT_MACRO(__STL_DEFAULT_TYPE_PARAM);
+ PRINT_MACRO(__STL_DONT_REDEFINE_STD);
+ PRINT_MACRO(__STL_DONT_USE_BOOL_TYPEDEF);
+ PRINT_MACRO(__STL_HAS_NO_EXCEPTIONS);
+ PRINT_MACRO(__STL_HAS_NO_NAMESPACES);
+ PRINT_MACRO(__STL_HAS_NO_NEW_C_HEADERS);
+ PRINT_MACRO(__STL_HAS_NO_NEW_IOSTREAMS);
+ PRINT_MACRO(__STL_IMPORT_VENDOR_CSTD);
+ PRINT_MACRO(__STL_LIMITED_DEFAULT_TEMPLATES);
+ PRINT_MACRO(__STL_LINK_TIME_INSTANTIATION);
+ PRINT_MACRO(__STL_LONG_LONG);
+ PRINT_MACRO(__STL_LOOP_INLINE_PROBLEMS);
+ PRINT_MACRO(__STL_MEMBER_POINTER_PARAM_BUG);
+ PRINT_MACRO(__STL_NEED_EXPLICIT);
+ PRINT_MACRO(__STL_NEED_MUTABLE);
+ PRINT_MACRO(__STL_NEED_TYPENAME);
+ PRINT_MACRO(__STL_NESTED_TYPE_PARAM_BUG);
+ PRINT_MACRO(__STL_NO_BAD_ALLOC);
+ PRINT_MACRO(__STL_NO_BOOL);
+ PRINT_MACRO(__STL_NO_CLASS_PARTIAL_SPECIALIZATION);
+ PRINT_MACRO(__STL_NO_CSTD_FUNCTION_IMPORTS);
+ PRINT_MACRO(__STL_NO_DEFAULT_NON_TYPE_PARAM);
+ PRINT_MACRO(__STL_NO_EXCEPTION_HEADER);
+ PRINT_MACRO(__STL_NO_EXCEPTION_SPEC);
+ PRINT_MACRO(__STL_NO_EXCEPTIONS);
+ PRINT_MACRO(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS);
+ PRINT_MACRO(__STL_NO_FRIEND_TEMPLATES);
+ PRINT_MACRO(__STL_NO_FUNCTION_TMPL_PARTIAL_ORDER);
+ PRINT_MACRO(__STL_NO_IOSTREAMS);
+ PRINT_MACRO(__STL_NO_LONG_DOUBLE);
+ PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_CLASSES);
+ PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_KEYWORD);
+ PRINT_MACRO(__STL_NO_MEMBER_TEMPLATES);
+ PRINT_MACRO(__STL_NO_METHOD_SPECIALIZATION);
+ PRINT_MACRO(__STL_NO_NAMESPACES);
+ PRINT_MACRO(__STL_NO_NEW_IOSTREAMS);
+ PRINT_MACRO(__STL_NO_NEW_NEW_HEADER);
+ PRINT_MACRO(__STL_NO_NEW_STYLE_CASTS);
+ PRINT_MACRO(__STL_NO_PARTIAL_SPECIALIZATION_SYNTAX);
+ PRINT_MACRO(__STL_NO_QUALIFIED_FRIENDS);
+ PRINT_MACRO(__STL_NO_RELOPS_NAMESPACE);
+ PRINT_MACRO(__STL_NO_SGI_IOSTREAMS);
+ PRINT_MACRO(__STL_NO_STATIC_TEMPLATE_DATA);
+ PRINT_MACRO(__STL_NO_TEMPLATE_CONVERSIONS);
+ PRINT_MACRO(__STL_NO_WCHAR_T);
+ PRINT_MACRO(__STL_NON_TYPE_TMPL_PARAM_BUG);
+ PRINT_MACRO(__STL_NONTEMPL_BASE_MATCH_BUG);
+ PRINT_MACRO(__STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS);
+ PRINT_MACRO(__STL_RAND48);
+ PRINT_MACRO(__STL_STATIC_ARRAY_BUG);
+ PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG);
+ PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG);
+ PRINT_MACRO(__STL_THROW_RETURN_BUG);
+ PRINT_MACRO(__STL_TRIVIAL_CONSTRUCTOR_BUG);
+ PRINT_MACRO(__STL_TRIVIAL_DESTRUCTOR_BUG);
+ PRINT_MACRO(__STL_UNINITIALIZABLE_PRIVATE);
+ PRINT_MACRO(__STL_USE_ABBREVS);
+ PRINT_MACRO(__STL_USE_DEFALLOC);
+ PRINT_MACRO(__STL_USE_MALLOC);
+ PRINT_MACRO(__STL_USE_NEW_C_HEADERS);
+ PRINT_MACRO(__STL_USE_NEW_IOSTREAMS);
+ PRINT_MACRO(__STL_USE_NEWALLOC);
+ PRINT_MACRO(__STL_USE_OWN_NAMESPACE);
+ PRINT_MACRO(__STL_USE_SGI_ALLOCATORS);
+ PRINT_MACRO(__STL_WCHAR_T_IS_USHORT);
+ PRINT_MACRO(__STL_WEAK_ATTRIBUTE);
+ PRINT_MACRO(__STL_YVALS_H);
+ PRINT_MACRO(_NOTHREADS);
+ PRINT_MACRO(_PTHREADS);
+#if defined(__SGI_STL_PORT) && (__SGI_STL_PORT > 0x0400)
+ PRINT_MACRO(_STLP_AUTOMATIC_TYPE_TRAITS);
+ PRINT_MACRO(_STLP_BASE_MATCH_BUG);
+ PRINT_MACRO(_STLP_BASE_TYPEDEF_BUG);
+ PRINT_MACRO(_STLP_BASE_TYPEDEF_OUTSIDE_BUG);
+ PRINT_MACRO(_STLP_BROKEN_USING_DIRECTIVE);
+ PRINT_MACRO(_STLP_CONST_CONSTRUCTOR_BUG);
+ PRINT_MACRO(_STLP_DEBUG);
+ PRINT_MACRO(_STLP_DEBUG_ALLOC);
+ PRINT_MACRO(_STLP_DEFAULT_CONSTRUCTOR_BUG);
+ PRINT_MACRO(_STLP_DEFAULT_TYPE_PARAM);
+ PRINT_MACRO(_STLP_DONT_REDEFINE_STD);
+ PRINT_MACRO(_STLP_DONT_USE_BOOL_TYPEDEF);
+ PRINT_MACRO(_STLP_HAS_NO_EXCEPTIONS);
+ PRINT_MACRO(_STLP_HAS_NO_NAMESPACES);
+ PRINT_MACRO(_STLP_HAS_NO_NEW_C_HEADERS);
+ PRINT_MACRO(_STLP_HAS_NO_NEW_IOSTREAMS);
+ PRINT_MACRO(_STLP_IMPORT_VENDOR_CSTD);
+ PRINT_MACRO(_STLP_LIMITED_DEFAULT_TEMPLATES);
+ PRINT_MACRO(_STLP_LINK_TIME_INSTANTIATION);
+ PRINT_MACRO(_STLP_LONG_LONG);
+ PRINT_MACRO(_STLP_LOOP_INLINE_PROBLEMS);
+ PRINT_MACRO(_STLP_MEMBER_POINTER_PARAM_BUG);
+ PRINT_MACRO(_STLP_NEED_EXPLICIT);
+ PRINT_MACRO(_STLP_NEED_MUTABLE);
+ PRINT_MACRO(_STLP_NEED_TYPENAME);
+ PRINT_MACRO(_STLP_NESTED_TYPE_PARAM_BUG);
+ PRINT_MACRO(_STLP_NO_ARROW_OPERATOR);
+ PRINT_MACRO(_STLP_NO_BAD_ALLOC);
+ PRINT_MACRO(_STLP_NO_BOOL);
+ PRINT_MACRO(_STLP_NO_CLASS_PARTIAL_SPECIALIZATION);
+ PRINT_MACRO(_STLP_NO_CSTD_FUNCTION_IMPORTS);
+ PRINT_MACRO(_STLP_NO_DEFAULT_NON_TYPE_PARAM);
+ PRINT_MACRO(_STLP_NO_EXCEPTION_HEADER);
+ PRINT_MACRO(_STLP_NO_EXCEPTION_SPEC);
+ PRINT_MACRO(_STLP_NO_EXCEPTIONS);
+ PRINT_MACRO(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS);
+ PRINT_MACRO(_STLP_NO_FRIEND_TEMPLATES);
+ PRINT_MACRO(_STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER);
+ PRINT_MACRO(_STLP_NO_IOSTREAMS);
+ PRINT_MACRO(_STLP_NO_LONG_DOUBLE);
+ PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_CLASSES);
+ PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_KEYWORD);
+ PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATES);
+ PRINT_MACRO(_STLP_NO_METHOD_SPECIALIZATION);
+ PRINT_MACRO(_STLP_NO_NAMESPACES);
+ PRINT_MACRO(_STLP_NO_NEW_IOSTREAMS);
+ PRINT_MACRO(_STLP_NO_NEW_NEW_HEADER);
+ PRINT_MACRO(_STLP_NO_NEW_STYLE_CASTS);
+ PRINT_MACRO(_STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX);
+ PRINT_MACRO(_STLP_NO_QUALIFIED_FRIENDS);
+ PRINT_MACRO(_STLP_NO_RELOPS_NAMESPACE);
+ PRINT_MACRO(_STLP_NO_SGI_IOSTREAMS);
+ PRINT_MACRO(_STLP_NO_STATIC_TEMPLATE_DATA);
+ PRINT_MACRO(_STLP_NO_TEMPLATE_CONVERSIONS);
+ PRINT_MACRO(_STLP_NO_WCHAR_T);
+ PRINT_MACRO(_STLP_NON_TYPE_TMPL_PARAM_BUG);
+ PRINT_MACRO(_STLP_NONTEMPL_BASE_MATCH_BUG);
+ PRINT_MACRO(_STLP_OWN_IOSTREAMS);
+ PRINT_MACRO(_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS);
+ PRINT_MACRO(_STLP_RAND48);
+ PRINT_MACRO(_STLP_STATIC_ARRAY_BUG);
+ PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG);
+ PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG);
+ PRINT_MACRO(_STLP_THROW_RETURN_BUG);
+ PRINT_MACRO(_STLP_TRIVIAL_CONSTRUCTOR_BUG);
+ PRINT_MACRO(_STLP_TRIVIAL_DESTRUCTOR_BUG);
+ PRINT_MACRO(_STLP_UNINITIALIZABLE_PRIVATE);
+ PRINT_MACRO(_STLP_USE_ABBREVS);
+ PRINT_MACRO(_STLP_USE_DEFALLOC);
+ PRINT_MACRO(_STLP_USE_MALLOC);
+ PRINT_MACRO(_STLP_USE_NEW_C_HEADERS);
+ PRINT_MACRO(_STLP_USE_NEWALLOC);
+ PRINT_MACRO(_STLP_USE_OWN_NAMESPACE);
+ PRINT_MACRO(_STLP_USE_SGI_ALLOCATORS);
+ PRINT_MACRO(_STLP_WCHAR_T_IS_USHORT);
+ PRINT_MACRO(_STLP_WEAK_ATTRIBUTE);
+ PRINT_MACRO(_STLP_YVALS_H);
+#endif
+ PRINT_MACRO(__GLIBCPP__);
+ PRINT_MACRO(_GLIBCPP_USE_WCHAR_T);
+ PRINT_MACRO(_GLIBCPP_VERSION);
+ PRINT_MACRO(__GLIBCXX__);
+ PRINT_MACRO(_GLIBCXX_USE_WCHAR_T);
+ PRINT_MACRO(_GLIBCXX_VERSION);
+ PRINT_MACRO(_GLIBCXX_USE_LONG_LONG);
+ PRINT_MACRO(_GLIBCXX_USE_NLS);
+ PRINT_MACRO(_GLIBCXX_USE_C99_MATH);
+ PRINT_MACRO(_GLIBCXX_USE_C99);
+ PRINT_MACRO(_GLIBCXX_CONCEPT_CHECKS);
+ PRINT_MACRO(_GLIBCXX_USE_LFS);
+ PRINT_MACRO(_GLIBCXX_SYMVER);
+ PRINT_MACRO(_GLIBCXX_MEM_LIMITS);
+ PRINT_MACRO(_GLIBCXX_HOSTED);
+ PRINT_MACRO(_GLIBCXX_SJLJ_EXCEPTIONS);
+ PRINT_MACRO(_GLIBCXX_RELEASE);
+ PRINT_MACRO(_GLIBCXX_USE_FLOAT128);
+
+ // Modena C++ standard library
+ PRINT_MACRO(MSIPL_ANSI_HEADER);
+ PRINT_MACRO(MSIPL_BOOL_BUILTIN);
+ PRINT_MACRO(MSIPL_DEF_EXPLICIT);
+ PRINT_MACRO(MSIPL_DEF_TEMPARG);
+ PRINT_MACRO(MSIPL_EXPINST_ALLOWED);
+ PRINT_MACRO(MSIPL_EXPLICIT_FUNC_TEMPLATE_ARG);
+ PRINT_MACRO(MISPL_EXPLICIT_TEMPLATE_ARGUMENT);
+ PRINT_MACRO(MSIPL_FUNC_TEMPLATE_DEFARG);
+ PRINT_MACRO(MSIPL_MEMBER_TEMPLATE);
+ PRINT_MACRO(MSIPL_MULTITHREAD);
+ PRINT_MACRO(MSIPL_NON_TYPE_TEMPARG);
+ PRINT_MACRO(MSIPL_PARTIAL_TEMPL);
+ PRINT_MACRO(MSIPL_STATIC_CONST_INIT);
+ PRINT_MACRO(MSIPL_TEMPL_NEWSPEC);
+ PRINT_MACRO(MSIPL_TYPENAME);
+ PRINT_MACRO(MSIPL_USING_NAMESPACE);
+ PRINT_MACRO(MSIPL_WCHART);
+}
+
+void print_platform_macros()
+{
+ std::cout << "Detected Platform: " << BOOST_PLATFORM << std::endl;
+ // signedness:
+ PRINT_SIGN(char);
+ PRINT_SIGN(wchar_t);
+ // byte ordering:
+ PRINT_ORDER(short);
+ PRINT_ORDER(int);
+ PRINT_ORDER(long);
+ // sizes:
+ PRINT_EXPRESSION(sizeof(wchar_t));
+ PRINT_EXPRESSION(sizeof(short));
+ PRINT_EXPRESSION(sizeof(int));
+ PRINT_EXPRESSION(sizeof(long));
+ PRINT_EXPRESSION(sizeof(size_t));
+ PRINT_EXPRESSION(sizeof(ptrdiff_t));
+ PRINT_EXPRESSION(sizeof(void*));
+ PRINT_EXPRESSION(sizeof(void(*)(void)));
+ PRINT_EXPRESSION(sizeof(float));
+ PRINT_EXPRESSION(sizeof(double));
+ PRINT_EXPRESSION(sizeof(long double));
+ // limits:
+ PRINT_MACRO(CHAR_BIT);
+ PRINT_MACRO(CHAR_MAX);
+ PRINT_MACRO(WCHAR_MAX);
+ PRINT_MACRO(SHRT_MAX);
+ PRINT_MACRO(INT_MAX);
+ PRINT_MACRO(LONG_MAX);
+ PRINT_MACRO(LLONG_MAX);
+ PRINT_MACRO(LONG_LONG_MAX);
+ PRINT_MACRO(LONGLONG_MAX);
+ PRINT_MACRO(ULLONG_MAX); // <boost/cstdint.hpp> uses these, so we need to know them
+ PRINT_MACRO(ULONG_LONG_MAX);
+ PRINT_MACRO(ULONGLONG_MAX);
+ // general C99:
+ PRINT_MACRO(__STDC_IEC_559__);
+ PRINT_MACRO(__STDC_IEC_559_COMPLEX__);
+ PRINT_MACRO(__STDC_ISO_10646__);
+ // GNU:
+ PRINT_MACRO(__GLIBC__);
+ PRINT_MACRO(__GLIBC_MINOR__);
+ PRINT_MACRO(__GNU_LIBRARY__);
+ PRINT_MACRO(_BSD_SOURCE);
+ PRINT_MACRO(_GNU_SOURCE);
+ PRINT_MACRO(_ISOC99_SOURCE);
+ PRINT_MACRO(_ISOC9X_SOURCE);
+ PRINT_MACRO(_LARGEFILE_SOURCE);
+ PRINT_MACRO(_LARGEFILE64_SOURCE);
+ PRINT_MACRO(_SVID_SOURCE);
+ PRINT_MACRO(_THREAD_SAFE);
+ PRINT_MACRO(_XOPEN_SOURCE_EXTENDED);
+ PRINT_MACRO(XPG);
+ PRINT_MACRO(__MINGW32_MAJOR_VERSION);
+ PRINT_MACRO(__MINGW32_MINOR_VERSION);
+ // POSIX:
+ PRINT_MACRO(_POSIX_ADVISORY_INFO);
+ PRINT_MACRO(_POSIX_ASYNCHRONOUS_IO);
+ PRINT_MACRO(_POSIX_BARRIERS);
+ PRINT_MACRO(_POSIX_C_SOURCE);
+ PRINT_MACRO(_POSIX_CHOWN_RESTRICTED);
+ PRINT_MACRO(_POSIX_CLOCK_SELECTION);
+ PRINT_MACRO(_POSIX_CPUTIME);
+ PRINT_MACRO(_POSIX_FSYNC);
+ PRINT_MACRO(_POSIX_JOB_CONTROL);
+ PRINT_MACRO(_POSIX_MAPPED_FILES);
+ PRINT_MACRO(_POSIX_MEMLOCK);
+ PRINT_MACRO(_POSIX_MEMLOCK_RANGE);
+ PRINT_MACRO(_POSIX_MEMORY_PROTECTION);
+ PRINT_MACRO(_POSIX_MESSAGE_PASSING);
+ PRINT_MACRO(_POSIX_MONOTONIC_CLOCK);
+ PRINT_MACRO(_POSIX_NO_TRUNC);
+ PRINT_MACRO(_POSIX_PRIORITIZED_IO);
+ PRINT_MACRO(_POSIX_PRIORITY_SCHEDULING);
+ PRINT_MACRO(_POSIX_RAW_SOCKETS);
+ PRINT_MACRO(_POSIX_READER_WRITER_LOCKS);
+ PRINT_MACRO(_POSIX_REALTIME_SIGNALS);
+ PRINT_MACRO(_POSIX_REGEXP);
+ PRINT_MACRO(_POSIX_SAVED_IDS);
+ PRINT_MACRO(_POSIX_SEMAPHORES);
+ PRINT_MACRO(_POSIX_SHARED_MEMORY_OBJECTS);
+ PRINT_MACRO(_POSIX_SHELL);
+ PRINT_MACRO(_POSIX_SOURCE);
+ PRINT_MACRO(_POSIX_SPAWN);
+ PRINT_MACRO(_POSIX_SPIN_LOCKS);
+ PRINT_MACRO(_POSIX_SPORADIC_SERVER);
+ PRINT_MACRO(_POSIX_SYNCHRONIZED_IO);
+ PRINT_MACRO(_POSIX_THREAD_ATTR_STACKADDR);
+ PRINT_MACRO(_POSIX_THREAD_ATTR_STACKSIZE);
+ PRINT_MACRO(_POSIX_THREAD_CPUTIME);
+ PRINT_MACRO(_POSIX_THREAD_PRIO_INHERIT);
+ PRINT_MACRO(_POSIX_THREAD_PRIO_PROTECT);
+ PRINT_MACRO(_POSIX_THREAD_PRIORITY_SCHEDULING);
+ PRINT_MACRO(_POSIX_THREAD_PROCESS_SHARED);
+ PRINT_MACRO(_POSIX_THREAD_SAFE_FUNCTIONS);
+ PRINT_MACRO(_POSIX_THREAD_SPORADIC_SERVER);
+ PRINT_MACRO(_POSIX_THREADS);
+ PRINT_MACRO(_POSIX_TIMEOUTS);
+ PRINT_MACRO(_POSIX_TIMERS);
+ PRINT_MACRO(_POSIX_TRACE);
+ PRINT_MACRO(_POSIX_TRACE_EVENT_FILTER);
+ PRINT_MACRO(_POSIX_TRACE_INHERIT);
+ PRINT_MACRO(_POSIX_TRACE_LOG);
+ PRINT_MACRO(_POSIX_TYPED_MEMORY_OBJECTS);
+ PRINT_MACRO(_POSIX_VDISABLE);
+ PRINT_MACRO(_POSIX_VERSION);
+ PRINT_MACRO(_POSIX2_C_BIND);
+ PRINT_MACRO(_POSIX2_C_DEV);
+ PRINT_MACRO(_POSIX2_CHAR_TERM);
+ PRINT_MACRO(_POSIX2_FORT_DEV);
+ PRINT_MACRO(_POSIX2_FORT_RUN);
+ PRINT_MACRO(_POSIX2_LOCALEDEF);
+ PRINT_MACRO(_POSIX2_PBS);
+ PRINT_MACRO(_POSIX2_PBS_ACCOUNTING);
+ PRINT_MACRO(_POSIX2_PBS_CHECKPOINT);
+ PRINT_MACRO(_POSIX2_PBS_LOCATE);
+ PRINT_MACRO(_POSIX2_PBS_MESSAGE);
+ PRINT_MACRO(_POSIX2_PBS_TRACK);
+ PRINT_MACRO(_POSIX2_SW_DEV);
+ PRINT_MACRO(_POSIX2_UPE);
+ PRINT_MACRO(_POSIX2_VERSION);
+ PRINT_MACRO(_V6_ILP32_OFF32);
+ PRINT_MACRO(_V6_ILP32_OFFBIG);
+ PRINT_MACRO(_V6_LP64_OFF64);
+ PRINT_MACRO(_V6_LPBIG_OFFBIG);
+ PRINT_MACRO(_XBS5_ILP32_OFF32);
+ PRINT_MACRO(_XBS5_ILP32_OFFBIG);
+ PRINT_MACRO(_XBS5_LP64_OFF64);
+ PRINT_MACRO(_XBS5_LPBIG_OFFBIG);
+ PRINT_MACRO(_XOPEN_CRYPT);
+ PRINT_MACRO(_XOPEN_ENH_I18N);
+ PRINT_MACRO(_XOPEN_LEGACY);
+ PRINT_MACRO(_XOPEN_REALTIME);
+ PRINT_MACRO(_XOPEN_REALTIME_THREADS);
+ PRINT_MACRO(_XOPEN_SHM);
+ PRINT_MACRO(_XOPEN_SOURCE);
+ PRINT_MACRO(_XOPEN_STREAMS);
+ PRINT_MACRO(_XOPEN_UNIX);
+ PRINT_MACRO(_XOPEN_VERSION);
+ // Misc:
+ PRINT_MACRO(__USE_BSD);
+ PRINT_MACRO(_FILE_OFFSET_BITS);
+}
+
+void print_boost_macros()
+{
+ std::cout << "Boost version " << BOOST_STRINGIZE(BOOST_VERSION) << std::endl;
+ // config setup macros first:
+ PRINT_MACRO(BOOST_USER_CONFIG);
+ PRINT_MACRO(BOOST_COMPILER_CONFIG);
+ PRINT_MACRO(BOOST_STDLIB_CONFIG);
+ PRINT_MACRO(BOOST_PLATFORM_CONFIG);
+ PRINT_MACRO(BOOST_NO_CONFIG);
+ PRINT_MACRO(BOOST_NO_USER_CONFIG);
+ PRINT_MACRO(BOOST_NO_COMPILER_CONFIG);
+ PRINT_MACRO(BOOST_NO_STDLIB_CONFIG);
+ PRINT_MACRO(BOOST_NO_PLATFORM_CONFIG);
+ // then defect and feature macros:
+ PRINT_MACRO(BOOST_DISABLE_THREADS);
+ PRINT_MACRO(BOOST_DISABLE_WIN32);
+ PRINT_MACRO(BOOST_HAS_THREADS);
+ PRINT_MACRO(BOOST_WINDOWS);
+
+ // BEGIN GENERATED BLOCK DO NOT EDIT THIS!!!!!!
+ PRINT_MACRO(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG);
+ PRINT_MACRO(BOOST_DEDUCED_TYPENAME);
+ PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL);
+ PRINT_MACRO(BOOST_HAS_BETHREADS);
+ PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME);
+ PRINT_MACRO(BOOST_HAS_DIRENT_H);
+ PRINT_MACRO(BOOST_HAS_EXPM1);
+ PRINT_MACRO(BOOST_HAS_FLOAT128);
+ PRINT_MACRO(BOOST_HAS_FTIME);
+ PRINT_MACRO(BOOST_HAS_GETSYSTEMTIMEASFILETIME);
+ PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY);
+ PRINT_MACRO(BOOST_HAS_HASH);
+ PRINT_MACRO(BOOST_HAS_INT128);
+ PRINT_MACRO(BOOST_HAS_LOG1P);
+ PRINT_MACRO(BOOST_HAS_LONG_LONG);
+ PRINT_MACRO(BOOST_HAS_MACRO_USE_FACET);
+ PRINT_MACRO(BOOST_HAS_MS_INT64);
+ PRINT_MACRO(BOOST_HAS_NANOSLEEP);
+ PRINT_MACRO(BOOST_HAS_NL_TYPES_H);
+ PRINT_MACRO(BOOST_HAS_NRVO);
+ PRINT_MACRO(BOOST_HAS_PARTIAL_STD_ALLOCATOR);
+ PRINT_MACRO(BOOST_HAS_PRAGMA_DETECT_MISMATCH);
+ PRINT_MACRO(BOOST_HAS_PTHREADS);
+ PRINT_MACRO(BOOST_HAS_PTHREAD_DELAY_NP);
+ PRINT_MACRO(BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE);
+ PRINT_MACRO(BOOST_HAS_PTHREAD_YIELD);
+ PRINT_MACRO(BOOST_HAS_RVALUE_REFS);
+ PRINT_MACRO(BOOST_HAS_SCHED_YIELD);
+ PRINT_MACRO(BOOST_HAS_SGI_TYPE_TRAITS);
+ PRINT_MACRO(BOOST_HAS_SIGACTION);
+ PRINT_MACRO(BOOST_HAS_SLIST);
+ PRINT_MACRO(BOOST_HAS_STATIC_ASSERT);
+ PRINT_MACRO(BOOST_HAS_STDINT_H);
+ PRINT_MACRO(BOOST_HAS_STLP_USE_FACET);
+ PRINT_MACRO(BOOST_HAS_TWO_ARG_USE_FACET);
+ PRINT_MACRO(BOOST_HAS_UNISTD_H);
+ PRINT_MACRO(BOOST_HAS_VARIADIC_TMPL);
+ PRINT_MACRO(BOOST_HAS_WINTHREADS);
+ PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES);
+ PRINT_MACRO(BOOST_MSVC_STD_ITERATOR);
+ PRINT_MACRO(BOOST_NO_ADL_BARRIER);
+ PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP);
+ PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS);
+ PRINT_MACRO(BOOST_NO_AUTO_PTR);
+ PRINT_MACRO(BOOST_NO_COMPLETE_VALUE_INITIALIZATION);
+ PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS);
+ PRINT_MACRO(BOOST_NO_CV_SPECIALIZATIONS);
+ PRINT_MACRO(BOOST_NO_CV_VOID_SPECIALIZATIONS);
+ PRINT_MACRO(BOOST_NO_CWCHAR);
+ PRINT_MACRO(BOOST_NO_CWCTYPE);
+ PRINT_MACRO(BOOST_NO_CXX11_ADDRESSOF);
+ PRINT_MACRO(BOOST_NO_CXX11_ALIGNAS);
+ PRINT_MACRO(BOOST_NO_CXX11_ALLOCATOR);
+ PRINT_MACRO(BOOST_NO_CXX11_ATOMIC_SMART_PTR);
+ PRINT_MACRO(BOOST_NO_CXX11_AUTO_DECLARATIONS);
+ PRINT_MACRO(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS);
+ PRINT_MACRO(BOOST_NO_CXX11_CHAR16_T);
+ PRINT_MACRO(BOOST_NO_CXX11_CHAR32_T);
+ PRINT_MACRO(BOOST_NO_CXX11_CONSTEXPR);
+ PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE);
+ PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE_N3276);
+ PRINT_MACRO(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS);
+ PRINT_MACRO(BOOST_NO_CXX11_DEFAULTED_MOVES);
+ PRINT_MACRO(BOOST_NO_CXX11_DELETED_FUNCTIONS);
+ PRINT_MACRO(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS);
+ PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE);
+ PRINT_MACRO(BOOST_NO_CXX11_FINAL);
+ PRINT_MACRO(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS);
+ PRINT_MACRO(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_ARRAY);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_ATOMIC);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_CHRONO);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_CODECVT);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_EXCEPTION);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_FORWARD_LIST);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_FUNCTIONAL);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_FUTURE);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_INITIALIZER_LIST);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_MUTEX);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_RANDOM);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_RATIO);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_REGEX);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_SYSTEM_ERROR);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_THREAD);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_TUPLE);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_TYPEINDEX);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_TYPE_TRAITS);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_UNORDERED_MAP);
+ PRINT_MACRO(BOOST_NO_CXX11_HDR_UNORDERED_SET);
+ PRINT_MACRO(BOOST_NO_CXX11_INLINE_NAMESPACES);
+ PRINT_MACRO(BOOST_NO_CXX11_LAMBDAS);
+ PRINT_MACRO(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS);
+ PRINT_MACRO(BOOST_NO_CXX11_NOEXCEPT);
+ PRINT_MACRO(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS);
+ PRINT_MACRO(BOOST_NO_CXX11_NULLPTR);
+ PRINT_MACRO(BOOST_NO_CXX11_NUMERIC_LIMITS);
+ PRINT_MACRO(BOOST_NO_CXX11_POINTER_TRAITS);
+ PRINT_MACRO(BOOST_NO_CXX11_RANGE_BASED_FOR);
+ PRINT_MACRO(BOOST_NO_CXX11_RAW_LITERALS);
+ PRINT_MACRO(BOOST_NO_CXX11_REF_QUALIFIERS);
+ PRINT_MACRO(BOOST_NO_CXX11_RVALUE_REFERENCES);
+ PRINT_MACRO(BOOST_NO_CXX11_SCOPED_ENUMS);
+ PRINT_MACRO(BOOST_NO_CXX11_SFINAE_EXPR);
+ PRINT_MACRO(BOOST_NO_CXX11_SMART_PTR);
+ PRINT_MACRO(BOOST_NO_CXX11_STATIC_ASSERT);
+ PRINT_MACRO(BOOST_NO_CXX11_STD_ALIGN);
+ PRINT_MACRO(BOOST_NO_CXX11_TEMPLATE_ALIASES);
+ PRINT_MACRO(BOOST_NO_CXX11_THREAD_LOCAL);
+ PRINT_MACRO(BOOST_NO_CXX11_TRAILING_RESULT_TYPES);
+ PRINT_MACRO(BOOST_NO_CXX11_UNICODE_LITERALS);
+ PRINT_MACRO(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX);
+ PRINT_MACRO(BOOST_NO_CXX11_USER_DEFINED_LITERALS);
+ PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_MACROS);
+ PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_TEMPLATES);
+ PRINT_MACRO(BOOST_NO_CXX14_AGGREGATE_NSDMI);
+ PRINT_MACRO(BOOST_NO_CXX14_BINARY_LITERALS);
+ PRINT_MACRO(BOOST_NO_CXX14_CONSTEXPR);
+ PRINT_MACRO(BOOST_NO_CXX14_DECLTYPE_AUTO);
+ PRINT_MACRO(BOOST_NO_CXX14_DIGIT_SEPARATORS);
+ PRINT_MACRO(BOOST_NO_CXX14_GENERIC_LAMBDAS);
+ PRINT_MACRO(BOOST_NO_CXX14_HDR_SHARED_MUTEX);
+ PRINT_MACRO(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES);
+ PRINT_MACRO(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION);
+ PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE);
+ PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES);
+ PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS);
+ PRINT_MACRO(BOOST_NO_CXX17_HDR_OPTIONAL);
+ PRINT_MACRO(BOOST_NO_CXX17_HDR_STRING_VIEW);
+ PRINT_MACRO(BOOST_NO_CXX17_HDR_VARIANT);
+ PRINT_MACRO(BOOST_NO_CXX17_IF_CONSTEXPR);
+ PRINT_MACRO(BOOST_NO_CXX17_INLINE_VARIABLES);
+ PRINT_MACRO(BOOST_NO_CXX17_ITERATOR_TRAITS);
+ PRINT_MACRO(BOOST_NO_CXX17_STD_APPLY);
+ PRINT_MACRO(BOOST_NO_CXX17_STD_INVOKE);
+ PRINT_MACRO(BOOST_NO_CXX17_STRUCTURED_BINDINGS);
+ 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);
+ PRINT_MACRO(BOOST_NO_EXCEPTION_STD_NAMESPACE);
+ PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS);
+ PRINT_MACRO(BOOST_NO_FENV_H);
+ PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING);
+ PRINT_MACRO(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS);
+ PRINT_MACRO(BOOST_NO_INCLASS_MEMBER_INITIALIZATION);
+ PRINT_MACRO(BOOST_NO_INTEGRAL_INT64_T);
+ PRINT_MACRO(BOOST_NO_INTRINSIC_WCHAR_T);
+ PRINT_MACRO(BOOST_NO_IOSFWD);
+ PRINT_MACRO(BOOST_NO_IOSTREAM);
+ PRINT_MACRO(BOOST_NO_IS_ABSTRACT);
+ PRINT_MACRO(BOOST_NO_LIMITS);
+ PRINT_MACRO(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS);
+ PRINT_MACRO(BOOST_NO_LONG_LONG);
+ PRINT_MACRO(BOOST_NO_LONG_LONG_NUMERIC_LIMITS);
+ PRINT_MACRO(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS);
+ PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATES);
+ PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_FRIENDS);
+ PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD);
+ PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS);
+ PRINT_MACRO(BOOST_NO_NESTED_FRIENDSHIP);
+ PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE);
+ PRINT_MACRO(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS);
+ PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST);
+ PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS);
+ PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE);
+ PRINT_MACRO(BOOST_NO_RESTRICT_REFERENCES);
+ PRINT_MACRO(BOOST_NO_RTTI);
+ PRINT_MACRO(BOOST_NO_SFINAE);
+ PRINT_MACRO(BOOST_NO_SFINAE_EXPR);
+ PRINT_MACRO(BOOST_NO_STDC_NAMESPACE);
+ PRINT_MACRO(BOOST_NO_STD_ALLOCATOR);
+ PRINT_MACRO(BOOST_NO_STD_DISTANCE);
+ PRINT_MACRO(BOOST_NO_STD_ITERATOR);
+ PRINT_MACRO(BOOST_NO_STD_ITERATOR_TRAITS);
+ PRINT_MACRO(BOOST_NO_STD_LOCALE);
+ PRINT_MACRO(BOOST_NO_STD_MESSAGES);
+ PRINT_MACRO(BOOST_NO_STD_MIN_MAX);
+ PRINT_MACRO(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN);
+ PRINT_MACRO(BOOST_NO_STD_TYPEINFO);
+ PRINT_MACRO(BOOST_NO_STD_USE_FACET);
+ PRINT_MACRO(BOOST_NO_STD_WSTREAMBUF);
+ PRINT_MACRO(BOOST_NO_STD_WSTRING);
+ PRINT_MACRO(BOOST_NO_STRINGSTREAM);
+ PRINT_MACRO(BOOST_NO_SWPRINTF);
+ PRINT_MACRO(BOOST_NO_TEMPLATED_IOSTREAMS);
+ PRINT_MACRO(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS);
+ PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION);
+ PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES);
+ PRINT_MACRO(BOOST_NO_TWO_PHASE_NAME_LOOKUP);
+ PRINT_MACRO(BOOST_NO_TYPEID);
+ PRINT_MACRO(BOOST_NO_TYPENAME_WITH_CTOR);
+ PRINT_MACRO(BOOST_NO_UNREACHABLE_RETURN_DETECTION);
+ PRINT_MACRO(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE);
+ PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
+ PRINT_MACRO(BOOST_NO_VOID_RETURNS);
+
+
+ // END GENERATED BLOCK
+
+ PRINT_MACRO(BOOST_INTEL);
+ PRINT_MACRO(BOOST_MSVC);
+ PRINT_MACRO(BOOST_GCC);
+ PRINT_MACRO(BOOST_LIBSTDCXX_VERSION);
+ PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE);
+ PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0));
+ PRINT_MACRO(BOOST_CONSTEXPR);
+ PRINT_MACRO(BOOST_CONSTEXPR_OR_CONST);
+ PRINT_MACRO(BOOST_STATIC_CONSTEXPR);
+ PRINT_MACRO(BOOST_NOEXCEPT);
+ PRINT_MACRO(BOOST_FORCEINLINE);
+ PRINT_MACRO(BOOST_NOINLINE);
+ PRINT_MACRO(BOOST_FALLTHROUGH);
+ PRINT_MACRO(BOOST_MAY_ALIAS);
+ PRINT_MACRO(BOOST_NO_MAY_ALIAS);
+ PRINT_MACRO(BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS);
+ PRINT_MACRO(BOOST_ATTRIBUTE_UNUSED);
+ PRINT_MACRO(BOOST_UNLIKELY);
+ PRINT_MACRO(BOOST_NORETURN);
+}
+
+void print_sd6_macros()
+{
+ // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0096r5.html
+
+ // C++20:
+ PRINT_MACRO(__cpp_aggregate_paren_init);
+ PRINT_MACRO(__cpp_char8_t);
+ PRINT_MACRO(__cpp_char8_type);
+ PRINT_MACRO(__cpp_conditional_explicit);
+ PRINT_MACRO(__cpp_coroutines);
+ PRINT_MACRO(__cpp_impl_destroying_delete);
+ PRINT_MACRO(__cpp_impl_three_way_comparison);
+ PRINT_MACRO(__cpp_nontype_template_parameter_class);
+
+ // C++17:
+ PRINT_MACRO(__cpp_hex_float);
+ PRINT_MACRO(__cpp_inline_variables);
+ PRINT_MACRO(__cpp_aligned_new);
+ PRINT_MACRO(__cpp_guaranteed_copy_elision);
+ PRINT_MACRO(__cpp_noexcept_function_type);
+ PRINT_MACRO(__cpp_fold_expressions);
+ PRINT_MACRO(__cpp_capture_star_this);
+ PRINT_MACRO(__cpp_constexpr);
+ PRINT_MACRO(__cpp_if_constexpr);
+ PRINT_MACRO(__cpp_range_based_for);
+ PRINT_MACRO(__cpp_static_assert);
+ PRINT_MACRO(__cpp_deduction_guides);
+ PRINT_MACRO(__cpp_nontype_template_parameter_auto);
+ PRINT_MACRO(__cpp_namespace_attributes);
+ PRINT_MACRO(__cpp_enumerator_attributes);
+ PRINT_MACRO(__cpp_inheriting_constructors);
+ PRINT_MACRO(__cpp_variadic_using);
+ PRINT_MACRO(__cpp_structured_bindings);
+ PRINT_MACRO(__cpp_aggregate_bases);
+ PRINT_MACRO(__cpp_nontype_template_args);
+ PRINT_MACRO(__cpp_template_template_args);
+
+ // C++14:
+ PRINT_MACRO(__cpp_binary_literals);
+ PRINT_MACRO(__cpp_init_captures);
+ PRINT_MACRO(__cpp_generic_lambdas);
+ PRINT_MACRO(__cpp_sized_deallocation);
+ PRINT_MACRO(__cpp_decltype_auto);
+ PRINT_MACRO(__cpp_return_type_deduction);
+ PRINT_MACRO(__cpp_aggregate_nsdmi);
+ PRINT_MACRO(__cpp_variable_templates);
+
+ // C++11:
+ PRINT_MACRO(__cpp_unicode_characters);
+ PRINT_MACRO(__cpp_raw_strings);
+ PRINT_MACRO(__cpp_unicode_literals);
+ PRINT_MACRO(__cpp_user_defined_literals);
+ PRINT_MACRO(__cpp_threadsafe_static_init);
+ PRINT_MACRO(__cpp_lambdas);
+ PRINT_MACRO(__cpp_decltype);
+ PRINT_MACRO(__cpp_attributes);
+ PRINT_MACRO(__cpp_rvalue_references);
+ PRINT_MACRO(__cpp_variadic_templates);
+ PRINT_MACRO(__cpp_initializer_lists);
+ PRINT_MACRO(__cpp_delegating_constructors);
+ PRINT_MACRO(__cpp_nsdmi);
+ PRINT_MACRO(__cpp_ref_qualifiers);
+ PRINT_MACRO(__cpp_alias_templates);
+
+ // C++98:
+ PRINT_MACRO(__cpp_rtti);
+ PRINT_MACRO(__cpp_exceptions);
+}
+
+void print_separator()
+{
+ std::cout <<
+"\n\n*********************************************************************\n\n";
+}
+
+int main()
+{
+
+ // boost compiler workaround defines
+ print_compiler_macros();
+ print_separator();
+ print_stdlib_macros();
+ print_separator();
+ print_platform_macros();
+ print_separator();
+ print_boost_macros();
+ print_separator();
+ print_sd6_macros();
+
+ return 0;
+}
diff --git a/src/boost/libs/config/test/config_test.cpp b/src/boost/libs/config/test/config_test.cpp
new file mode 100644
index 000000000..f5c1137e9
--- /dev/null
+++ b/src/boost/libs/config/test/config_test.cpp
@@ -0,0 +1,2021 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// 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 config setup
+// This file should compile, if it does not then
+// one or more macros need to be defined.
+// see boost_*.ipp for more details
+
+// Do not edit this file, it was generated automatically by
+
+#include <boost/config.hpp>
+#include <iostream>
+#include "test.hpp"
+
+int error_count = 0;
+
+#ifndef BOOST_NO_ADL_BARRIER
+#include "boost_no_adl_barrier.ipp"
+#else
+namespace boost_no_adl_barrier = empty_boost;
+#endif
+#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+#include "boost_no_arg_dep_lookup.ipp"
+#else
+namespace boost_no_argument_dependent_lookup = empty_boost;
+#endif
+#ifndef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
+#include "boost_no_array_type_spec.ipp"
+#else
+namespace boost_no_array_type_specializations = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_AUTO_DECLARATIONS
+#include "boost_no_auto_declarations.ipp"
+#else
+namespace boost_no_cxx11_auto_declarations = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#include "boost_no_auto_multidecl.ipp"
+#else
+namespace boost_no_cxx11_auto_multideclarations = empty_boost;
+#endif
+#ifndef BOOST_NO_AUTO_PTR
+#include "boost_no_auto_ptr.ipp"
+#else
+namespace boost_no_auto_ptr = empty_boost;
+#endif
+#ifndef BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
+#include "boost_no_bcb_partial_spec.ipp"
+#else
+namespace boost_bcb_partial_specialization_bug = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_CHAR16_T
+#include "boost_no_char16_t.ipp"
+#else
+namespace boost_no_cxx11_char16_t = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_CHAR32_T
+#include "boost_no_char32_t.ipp"
+#else
+namespace boost_no_cxx11_char32_t = empty_boost;
+#endif
+#ifndef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#include "boost_no_com_value_init.ipp"
+#else
+namespace boost_no_complete_value_initialization = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_CONSTEXPR
+#include "boost_no_constexpr.ipp"
+#else
+namespace boost_no_cxx11_constexpr = empty_boost;
+#endif
+#ifndef BOOST_NO_CTYPE_FUNCTIONS
+#include "boost_no_ctype_functions.ipp"
+#else
+namespace boost_no_ctype_functions = empty_boost;
+#endif
+#ifndef BOOST_NO_CV_SPECIALIZATIONS
+#include "boost_no_cv_spec.ipp"
+#else
+namespace boost_no_cv_specializations = empty_boost;
+#endif
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
+#include "boost_no_cv_void_spec.ipp"
+#else
+namespace boost_no_cv_void_specializations = empty_boost;
+#endif
+#ifndef BOOST_NO_CWCHAR
+#include "boost_no_cwchar.ipp"
+#else
+namespace boost_no_cwchar = empty_boost;
+#endif
+#ifndef BOOST_NO_CWCTYPE
+#include "boost_no_cwctype.ipp"
+#else
+namespace boost_no_cwctype = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_ADDRESSOF
+#include "boost_no_cxx11_addressof.ipp"
+#else
+namespace boost_no_cxx11_addressof = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_ALIGNAS
+#include "boost_no_cxx11_alignas.ipp"
+#else
+namespace boost_no_cxx11_alignas = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_ALLOCATOR
+#include "boost_no_cxx11_allocator.ipp"
+#else
+namespace boost_no_cxx11_allocator = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_ATOMIC_SMART_PTR
+#include "boost_no_cxx11_atomic_sp.ipp"
+#else
+namespace boost_no_cxx11_atomic_smart_ptr = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_DEFAULTED_MOVES
+#include "boost_no_cxx11_defaulted_moves.ipp"
+#else
+namespace boost_no_cxx11_defaulted_moves = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_EXCEPTION
+#include "boost_no_cxx11_exception.ipp"
+#else
+namespace boost_no_cxx11_hdr_exception = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_FINAL
+#include "boost_no_cxx11_final.ipp"
+#else
+namespace boost_no_cxx11_final = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_ARRAY
+#include "boost_no_cxx11_hdr_array.ipp"
+#else
+namespace boost_no_cxx11_hdr_array = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_ATOMIC
+#include "boost_no_cxx11_hdr_atomic.ipp"
+#else
+namespace boost_no_cxx11_hdr_atomic = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_CHRONO
+#include "boost_no_cxx11_hdr_chrono.ipp"
+#else
+namespace boost_no_cxx11_hdr_chrono = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_CODECVT
+#include "boost_no_cxx11_hdr_codecvt.ipp"
+#else
+namespace boost_no_cxx11_hdr_codecvt = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#include "boost_no_cxx11_hdr_condition_variable.ipp"
+#else
+namespace boost_no_cxx11_hdr_condition_variable = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_FORWARD_LIST
+#include "boost_no_cxx11_hdr_forward_list.ipp"
+#else
+namespace boost_no_cxx11_hdr_forward_list = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_FUTURE
+#include "boost_no_cxx11_hdr_future.ipp"
+#else
+namespace boost_no_cxx11_hdr_future = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#include "boost_no_cxx11_hdr_initializer_list.ipp"
+#else
+namespace boost_no_cxx11_hdr_initializer_list = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_MUTEX
+#include "boost_no_cxx11_hdr_mutex.ipp"
+#else
+namespace boost_no_cxx11_hdr_mutex = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_RANDOM
+#include "boost_no_cxx11_hdr_random.ipp"
+#else
+namespace boost_no_cxx11_hdr_random = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_RATIO
+#include "boost_no_cxx11_hdr_ratio.ipp"
+#else
+namespace boost_no_cxx11_hdr_ratio = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_REGEX
+#include "boost_no_cxx11_hdr_regex.ipp"
+#else
+namespace boost_no_cxx11_hdr_regex = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#include "boost_no_cxx11_hdr_system_error.ipp"
+#else
+namespace boost_no_cxx11_hdr_system_error = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_THREAD
+#include "boost_no_cxx11_hdr_thread.ipp"
+#else
+namespace boost_no_cxx11_hdr_thread = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_TUPLE
+#include "boost_no_cxx11_hdr_tuple.ipp"
+#else
+namespace boost_no_cxx11_hdr_tuple = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_TYPE_TRAITS
+#include "boost_no_cxx11_hdr_type_traits.ipp"
+#else
+namespace boost_no_cxx11_hdr_type_traits = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_TYPEINDEX
+#include "boost_no_cxx11_hdr_typeindex.ipp"
+#else
+namespace boost_no_cxx11_hdr_typeindex = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_UNORDERED_MAP
+#include "boost_no_cxx11_hdr_unordered_map.ipp"
+#else
+namespace boost_no_cxx11_hdr_unordered_map = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_UNORDERED_SET
+#include "boost_no_cxx11_hdr_unordered_set.ipp"
+#else
+namespace boost_no_cxx11_hdr_unordered_set = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_INLINE_NAMESPACES
+#include "boost_no_cxx11_inline_namespaces.ipp"
+#else
+namespace boost_no_cxx11_inline_namespaces = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
+#include "boost_no_cxx11_non_pub_def_fun.ipp"
+#else
+namespace boost_no_cxx11_non_public_defaulted_functions = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_NUMERIC_LIMITS
+#include "boost_no_cxx11_numeric_limits.ipp"
+#else
+namespace boost_no_cxx11_numeric_limits = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_POINTER_TRAITS
+#include "boost_no_cxx11_pointer_traits.ipp"
+#else
+namespace boost_no_cxx11_pointer_traits = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
+#include "boost_no_cxx11_ref_qualifiers.ipp"
+#else
+namespace boost_no_cxx11_ref_qualifiers = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_SFINAE_EXPR
+#include "boost_no_cxx11_sfinae_expr.ipp"
+#else
+namespace boost_no_cxx11_sfinae_expr = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_SMART_PTR
+#include "boost_no_cxx11_smart_ptr.ipp"
+#else
+namespace boost_no_cxx11_smart_ptr = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_STD_ALIGN
+#include "boost_no_cxx11_std_align.ipp"
+#else
+namespace boost_no_cxx11_std_align = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_THREAD_LOCAL
+#include "boost_no_cxx11_thread_local.ipp"
+#else
+namespace boost_no_cxx11_thread_local = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
+#include "boost_no_cxx11_trailing_result_types.ipp"
+#else
+namespace boost_no_cxx11_trailing_result_types = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#include "boost_no_cxx11_user_lit.ipp"
+#else
+namespace boost_no_cxx11_user_defined_literals = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_BINARY_LITERALS
+#include "boost_no_cxx14_binary_literals.ipp"
+#else
+namespace boost_no_cxx14_binary_literals = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_CONSTEXPR
+#include "boost_no_cxx14_constexpr.ipp"
+#else
+namespace boost_no_cxx14_constexpr = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_DECLTYPE_AUTO
+#include "boost_no_cxx14_decltype_auto.ipp"
+#else
+namespace boost_no_cxx14_decltype_auto = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_DIGIT_SEPARATORS
+#include "boost_no_cxx14_digit_separator.ipp"
+#else
+namespace boost_no_cxx14_digit_separators = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_GENERIC_LAMBDAS
+#include "boost_no_cxx14_generic_lambda.ipp"
+#else
+namespace boost_no_cxx14_generic_lambdas = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
+#include "boost_no_cxx14_hdr_shared_mutex.ipp"
+#else
+namespace boost_no_cxx14_hdr_shared_mutex = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
+#include "boost_no_cxx14_lambda_capture.ipp"
+#else
+namespace boost_no_cxx14_initialized_lambda_captures = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_AGGREGATE_NSDMI
+#include "boost_no_cxx14_member_init.ipp"
+#else
+namespace boost_no_cxx14_aggregate_nsdmi = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
+#include "boost_no_cxx14_return_type_ded.ipp"
+#else
+namespace boost_no_cxx14_return_type_deduction = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_STD_EXCHANGE
+#include "boost_no_cxx14_std_exchange.ipp"
+#else
+namespace boost_no_cxx14_std_exchange = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_VARIABLE_TEMPLATES
+#include "boost_no_cxx14_var_templ.ipp"
+#else
+namespace boost_no_cxx14_variable_templates = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_FOLD_EXPRESSIONS
+#include "boost_no_cxx17_fold_expressions.ipp"
+#else
+namespace boost_no_cxx17_fold_expressions = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_HDR_OPTIONAL
+#include "boost_no_cxx17_hdr_optional.ipp"
+#else
+namespace boost_no_cxx17_hdr_optional = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_HDR_STRING_VIEW
+#include "boost_no_cxx17_hdr_string_view.ipp"
+#else
+namespace boost_no_cxx17_hdr_string_view = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_HDR_VARIANT
+#include "boost_no_cxx17_hdr_variant.ipp"
+#else
+namespace boost_no_cxx17_hdr_variant = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_IF_CONSTEXPR
+#include "boost_no_cxx17_if_constexpr.ipp"
+#else
+namespace boost_no_cxx17_if_constexpr = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_INLINE_VARIABLES
+#include "boost_no_cxx17_inline_variables.ipp"
+#else
+namespace boost_no_cxx17_inline_variables = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_ITERATOR_TRAITS
+#include "boost_no_cxx17_iterator_traits.ipp"
+#else
+namespace boost_no_cxx17_iterator_traits = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_STD_APPLY
+#include "boost_no_cxx17_std_apply.ipp"
+#else
+namespace boost_no_cxx17_std_apply = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_STD_INVOKE
+#include "boost_no_cxx17_std_invoke.ipp"
+#else
+namespace boost_no_cxx17_std_invoke = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_STRUCTURED_BINDINGS
+#include "boost_no_cxx17_structured_bindings.ipp"
+#else
+namespace boost_no_cxx17_structured_bindings = 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
+namespace boost_no_cxx11_hdr_functional = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_DECLTYPE
+#include "boost_no_decltype.ipp"
+#else
+namespace boost_no_cxx11_decltype = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_DECLTYPE_N3276
+#include "boost_no_decltype_n3276.ipp"
+#else
+namespace boost_no_cxx11_decltype_n3276 = empty_boost;
+#endif
+#ifndef BOOST_DEDUCED_TYPENAME
+#include "boost_no_ded_typename.ipp"
+#else
+namespace boost_deduced_typename = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#include "boost_no_defaulted_functions.ipp"
+#else
+namespace boost_no_cxx11_defaulted_functions = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
+#include "boost_no_deleted_functions.ipp"
+#else
+namespace boost_no_cxx11_deleted_functions = empty_boost;
+#endif
+#ifndef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+#include "boost_no_dep_nested_class.ipp"
+#else
+namespace boost_no_dependent_nested_derivations = empty_boost;
+#endif
+#ifndef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+#include "boost_no_dep_val_param.ipp"
+#else
+namespace boost_no_dependent_types_in_template_value_parameters = empty_boost;
+#endif
+#ifndef BOOST_NO_EXCEPTION_STD_NAMESPACE
+#include "boost_no_excep_std.ipp"
+#else
+namespace boost_no_exception_std_namespace = empty_boost;
+#endif
+#ifndef BOOST_NO_EXCEPTIONS
+#include "boost_no_exceptions.ipp"
+#else
+namespace boost_no_exceptions = empty_boost;
+#endif
+#ifndef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+#include "boost_no_exp_func_tem_arg.ipp"
+#else
+namespace boost_no_explicit_function_template_arguments = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#include "boost_no_explicit_cvt_ops.ipp"
+#else
+namespace boost_no_cxx11_explicit_conversion_operators = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_EXTERN_TEMPLATE
+#include "boost_no_extern_template.ipp"
+#else
+namespace boost_no_cxx11_extern_template = empty_boost;
+#endif
+#ifndef BOOST_NO_FENV_H
+#include "boost_no_fenv_h.ipp"
+#else
+namespace boost_no_fenv_h = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
+#include "boost_no_fixed_len_variadic_templates.ipp"
+#else
+namespace boost_no_cxx11_fixed_length_variadic_template_expansion_packs = empty_boost;
+#endif
+#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#include "boost_no_func_tmp_order.ipp"
+#else
+namespace boost_no_function_template_ordering = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#include "boost_no_function_template_default_args.ipp"
+#else
+namespace boost_no_cxx11_function_template_default_args = empty_boost;
+#endif
+#ifndef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
+#include "boost_no_function_type_spec.ipp"
+#else
+namespace boost_no_function_type_specializations = empty_boost;
+#endif
+#ifndef BOOST_NO_MS_INT64_NUMERIC_LIMITS
+#include "boost_no_i64_limits.ipp"
+#else
+namespace boost_no_ms_int64_numeric_limits = empty_boost;
+#endif
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#include "boost_no_inline_memb_init.ipp"
+#else
+namespace boost_no_inclass_member_initialization = empty_boost;
+#endif
+#ifndef BOOST_NO_INTEGRAL_INT64_T
+#include "boost_no_integral_int64_t.ipp"
+#else
+namespace boost_no_integral_int64_t = empty_boost;
+#endif
+#ifndef BOOST_NO_IOSFWD
+#include "boost_no_iosfwd.ipp"
+#else
+namespace boost_no_iosfwd = empty_boost;
+#endif
+#ifndef BOOST_NO_IOSTREAM
+#include "boost_no_iostream.ipp"
+#else
+namespace boost_no_iostream = empty_boost;
+#endif
+#ifndef BOOST_NO_IS_ABSTRACT
+#include "boost_no_is_abstract.ipp"
+#else
+namespace boost_no_is_abstract = empty_boost;
+#endif
+#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+#include "boost_no_iter_construct.ipp"
+#else
+namespace boost_no_templated_iterator_constructors = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_LAMBDAS
+#include "boost_no_lambdas.ipp"
+#else
+namespace boost_no_cxx11_lambdas = empty_boost;
+#endif
+#ifndef BOOST_NO_LIMITS
+#include "boost_no_limits.ipp"
+#else
+namespace boost_no_limits = empty_boost;
+#endif
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#include "boost_no_limits_const_exp.ipp"
+#else
+namespace boost_no_limits_compile_time_constants = empty_boost;
+#endif
+#ifndef BOOST_NO_LONG_LONG_NUMERIC_LIMITS
+#include "boost_no_ll_limits.ipp"
+#else
+namespace boost_no_long_long_numeric_limits = empty_boost;
+#endif
+#ifndef BOOST_NO_LONG_LONG
+#include "boost_no_long_long.ipp"
+#else
+namespace boost_no_long_long = empty_boost;
+#endif
+#ifndef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
+#include "boost_no_mem_func_spec.ipp"
+#else
+namespace boost_no_member_function_specializations = empty_boost;
+#endif
+#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
+#include "boost_no_mem_tem_keyword.ipp"
+#else
+namespace boost_no_member_template_keyword = empty_boost;
+#endif
+#ifndef BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
+#include "boost_no_mem_tem_pnts.ipp"
+#else
+namespace boost_no_pointer_to_member_template_parameters = empty_boost;
+#endif
+#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#include "boost_no_mem_templ_frnds.ipp"
+#else
+namespace boost_no_member_template_friends = empty_boost;
+#endif
+#ifndef BOOST_NO_MEMBER_TEMPLATES
+#include "boost_no_mem_templates.ipp"
+#else
+namespace boost_no_member_templates = empty_boost;
+#endif
+#ifndef BOOST_NO_NESTED_FRIENDSHIP
+#include "boost_no_nested_friendship.ipp"
+#else
+namespace boost_no_nested_friendship = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_NOEXCEPT
+#include "boost_no_noexcept.ipp"
+#else
+namespace boost_no_cxx11_noexcept = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_NULLPTR
+#include "boost_no_nullptr.ipp"
+#else
+namespace boost_no_cxx11_nullptr = empty_boost;
+#endif
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE
+#include "boost_no_ops_in_namespace.ipp"
+#else
+namespace boost_no_operators_in_namespace = empty_boost;
+#endif
+#ifndef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+#include "boost_no_part_spec_def_args.ipp"
+#else
+namespace boost_no_partial_specialization_implicit_default_args = empty_boost;
+#endif
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#include "boost_no_partial_spec.ipp"
+#else
+namespace boost_no_template_partial_specialization = empty_boost;
+#endif
+#ifndef BOOST_NO_PRIVATE_IN_AGGREGATE
+#include "boost_no_priv_aggregate.ipp"
+#else
+namespace boost_no_private_in_aggregate = empty_boost;
+#endif
+#ifndef BOOST_NO_POINTER_TO_MEMBER_CONST
+#include "boost_no_ptr_mem_const.ipp"
+#else
+namespace boost_no_pointer_to_member_const = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_RANGE_BASED_FOR
+#include "boost_no_range_based_for.ipp"
+#else
+namespace boost_no_cxx11_range_based_for = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_RAW_LITERALS
+#include "boost_no_raw_literals.ipp"
+#else
+namespace boost_no_cxx11_raw_literals = empty_boost;
+#endif
+#ifndef BOOST_NO_RESTRICT_REFERENCES
+#include "boost_no_restrict_references.ipp"
+#else
+namespace boost_no_restrict_references = empty_boost;
+#endif
+#ifndef BOOST_NO_UNREACHABLE_RETURN_DETECTION
+#include "boost_no_ret_det.ipp"
+#else
+namespace boost_no_unreachable_return_detection = empty_boost;
+#endif
+#ifndef BOOST_NO_RTTI
+#include "boost_no_rtti.ipp"
+#else
+namespace boost_no_rtti = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#include "boost_no_rvalue_references.ipp"
+#else
+namespace boost_no_cxx11_rvalue_references = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_SCOPED_ENUMS
+#include "boost_no_scoped_enums.ipp"
+#else
+namespace boost_no_cxx11_scoped_enums = empty_boost;
+#endif
+#ifndef BOOST_NO_SFINAE
+#include "boost_no_sfinae.ipp"
+#else
+namespace boost_no_sfinae = empty_boost;
+#endif
+#ifndef BOOST_NO_SFINAE_EXPR
+#include "boost_no_sfinae_expr.ipp"
+#else
+namespace boost_no_sfinae_expr = empty_boost;
+#endif
+#ifndef BOOST_NO_STRINGSTREAM
+#include "boost_no_sstream.ipp"
+#else
+namespace boost_no_stringstream = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_STATIC_ASSERT
+#include "boost_no_static_assert.ipp"
+#else
+namespace boost_no_cxx11_static_assert = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_ALLOCATOR
+#include "boost_no_std_allocator.ipp"
+#else
+namespace boost_no_std_allocator = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_DISTANCE
+#include "boost_no_std_distance.ipp"
+#else
+namespace boost_no_std_distance = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_ITERATOR_TRAITS
+#include "boost_no_std_iter_traits.ipp"
+#else
+namespace boost_no_std_iterator_traits = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_ITERATOR
+#include "boost_no_std_iterator.ipp"
+#else
+namespace boost_no_std_iterator = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_LOCALE
+#include "boost_no_std_locale.ipp"
+#else
+namespace boost_no_std_locale = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_MESSAGES
+#include "boost_no_std_messages.ipp"
+#else
+namespace boost_no_std_messages = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_MIN_MAX
+#include "boost_no_std_min_max.ipp"
+#else
+namespace boost_no_std_min_max = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
+#include "boost_no_std_oi_assign.ipp"
+#else
+namespace boost_no_std_output_iterator_assign = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_TYPEINFO
+#include "boost_no_std_typeinfo.ipp"
+#else
+namespace boost_no_std_typeinfo = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_USE_FACET
+#include "boost_no_std_use_facet.ipp"
+#else
+namespace boost_no_std_use_facet = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_WSTREAMBUF
+#include "boost_no_std_wstreambuf.ipp"
+#else
+namespace boost_no_std_wstreambuf = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_WSTRING
+#include "boost_no_std_wstring.ipp"
+#else
+namespace boost_no_std_wstring = empty_boost;
+#endif
+#ifndef BOOST_NO_STDC_NAMESPACE
+#include "boost_no_stdc_namespace.ipp"
+#else
+namespace boost_no_stdc_namespace = empty_boost;
+#endif
+#ifndef BOOST_NO_SWPRINTF
+#include "boost_no_swprintf.ipp"
+#else
+namespace boost_no_swprintf = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#include "boost_no_tem_local_classes.ipp"
+#else
+namespace boost_no_cxx11_local_class_template_parameters = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_TEMPLATE_ALIASES
+#include "boost_no_template_aliases.ipp"
+#else
+namespace boost_no_cxx11_template_aliases = empty_boost;
+#endif
+#ifndef BOOST_NO_TEMPLATED_IOSTREAMS
+#include "boost_no_template_streams.ipp"
+#else
+namespace boost_no_templated_iostreams = empty_boost;
+#endif
+#ifndef BOOST_NO_TEMPLATE_TEMPLATES
+#include "boost_no_template_template.ipp"
+#else
+namespace boost_no_template_templates = empty_boost;
+#endif
+#ifndef BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#include "boost_no_two_phase_lookup.ipp"
+#else
+namespace boost_no_two_phase_name_lookup = empty_boost;
+#endif
+#ifndef BOOST_NO_TYPEID
+#include "boost_no_typeid.ipp"
+#else
+namespace boost_no_typeid = empty_boost;
+#endif
+#ifndef BOOST_NO_TYPENAME_WITH_CTOR
+#include "boost_no_typename_with_ctor.ipp"
+#else
+namespace boost_no_typename_with_ctor = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_UNICODE_LITERALS
+#include "boost_no_unicode_literals.ipp"
+#else
+namespace boost_no_cxx11_unicode_literals = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#include "boost_no_unified_init.ipp"
+#else
+namespace boost_no_cxx11_unified_initialization_syntax = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_UNRESTRICTED_UNION
+#include "boost_no_cxx11_unrestricted_union.ipp"
+#else
+namespace boost_no_cxx11_unrestricted_union = empty_boost;
+#endif
+#ifndef BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#include "boost_no_using_breaks_adl.ipp"
+#else
+namespace boost_function_scope_using_declaration_breaks_adl = empty_boost;
+#endif
+#ifndef BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+#include "boost_no_using_decl_overld.ipp"
+#else
+namespace boost_no_using_declaration_overloads_from_typename_base = empty_boost;
+#endif
+#ifndef BOOST_NO_USING_TEMPLATE
+#include "boost_no_using_template.ipp"
+#else
+namespace boost_no_using_template = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_VARIADIC_MACROS
+#include "boost_no_variadic_macros.ipp"
+#else
+namespace boost_no_cxx11_variadic_macros = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#include "boost_no_variadic_templates.ipp"
+#else
+namespace boost_no_cxx11_variadic_templates = empty_boost;
+#endif
+#ifndef BOOST_NO_VOID_RETURNS
+#include "boost_no_void_returns.ipp"
+#else
+namespace boost_no_void_returns = empty_boost;
+#endif
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+#include "boost_no_wchar_t.ipp"
+#else
+namespace boost_no_intrinsic_wchar_t = empty_boost;
+#endif
+
+#ifdef BOOST_HAS_TWO_ARG_USE_FACET
+#include "boost_has_2arg_use_facet.ipp"
+#else
+namespace boost_has_two_arg_use_facet = empty_boost;
+#endif
+#ifdef BOOST_HAS_BETHREADS
+#include "boost_has_bethreads.ipp"
+#else
+namespace boost_has_bethreads = empty_boost;
+#endif
+#ifdef BOOST_HAS_CLOCK_GETTIME
+#include "boost_has_clock_gettime.ipp"
+#else
+namespace boost_has_clock_gettime = empty_boost;
+#endif
+#ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH
+#include "boost_has_detect_mismatch.ipp"
+#else
+namespace boost_has_pragma_detect_mismatch = empty_boost;
+#endif
+#ifdef BOOST_HAS_DIRENT_H
+#include "boost_has_dirent_h.ipp"
+#else
+namespace boost_has_dirent_h = empty_boost;
+#endif
+#ifdef BOOST_HAS_EXPM1
+#include "boost_has_expm1.ipp"
+#else
+namespace boost_has_expm1 = empty_boost;
+#endif
+#ifdef BOOST_HAS_FLOAT128
+#include "boost_has_float128.ipp"
+#else
+namespace boost_has_float128 = empty_boost;
+#endif
+#ifdef BOOST_HAS_FTIME
+#include "boost_has_ftime.ipp"
+#else
+namespace boost_has_ftime = empty_boost;
+#endif
+#ifdef BOOST_HAS_GETSYSTEMTIMEASFILETIME
+#include "boost_has_getsystemtimeasfiletime.ipp"
+#else
+namespace boost_has_getsystemtimeasfiletime = empty_boost;
+#endif
+#ifdef BOOST_HAS_GETTIMEOFDAY
+#include "boost_has_gettimeofday.ipp"
+#else
+namespace boost_has_gettimeofday = empty_boost;
+#endif
+#ifdef BOOST_HAS_HASH
+#include "boost_has_hash.ipp"
+#else
+namespace boost_has_hash = empty_boost;
+#endif
+#ifdef BOOST_HAS_INT128
+#include "boost_has_int128.ipp"
+#else
+namespace boost_has_int128 = empty_boost;
+#endif
+#ifdef BOOST_HAS_LOG1P
+#include "boost_has_log1p.ipp"
+#else
+namespace boost_has_log1p = empty_boost;
+#endif
+#ifdef BOOST_HAS_LONG_LONG
+#include "boost_has_long_long.ipp"
+#else
+namespace boost_has_long_long = empty_boost;
+#endif
+#ifdef BOOST_HAS_MACRO_USE_FACET
+#include "boost_has_macro_use_facet.ipp"
+#else
+namespace boost_has_macro_use_facet = empty_boost;
+#endif
+#ifdef BOOST_HAS_MS_INT64
+#include "boost_has_ms_int64.ipp"
+#else
+namespace boost_has_ms_int64 = empty_boost;
+#endif
+#ifdef BOOST_HAS_NANOSLEEP
+#include "boost_has_nanosleep.ipp"
+#else
+namespace boost_has_nanosleep = empty_boost;
+#endif
+#ifdef BOOST_HAS_NL_TYPES_H
+#include "boost_has_nl_types_h.ipp"
+#else
+namespace boost_has_nl_types_h = empty_boost;
+#endif
+#ifdef BOOST_HAS_NRVO
+#include "boost_has_nrvo.ipp"
+#else
+namespace boost_has_nrvo = empty_boost;
+#endif
+#ifdef BOOST_HAS_PARTIAL_STD_ALLOCATOR
+#include "boost_has_part_alloc.ipp"
+#else
+namespace boost_has_partial_std_allocator = empty_boost;
+#endif
+#ifdef BOOST_HAS_PTHREAD_DELAY_NP
+#include "boost_has_pthread_delay_np.ipp"
+#else
+namespace boost_has_pthread_delay_np = empty_boost;
+#endif
+#ifdef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#include "boost_has_pthread_ma_st.ipp"
+#else
+namespace boost_has_pthread_mutexattr_settype = empty_boost;
+#endif
+#ifdef BOOST_HAS_PTHREAD_YIELD
+#include "boost_has_pthread_yield.ipp"
+#else
+namespace boost_has_pthread_yield = empty_boost;
+#endif
+#ifdef BOOST_HAS_PTHREADS
+#include "boost_has_pthreads.ipp"
+#else
+namespace boost_has_pthreads = empty_boost;
+#endif
+#ifdef BOOST_HAS_RVALUE_REFS
+#include "boost_has_rvalue_refs.ipp"
+#else
+namespace boost_has_rvalue_refs = empty_boost;
+#endif
+#ifdef BOOST_HAS_SCHED_YIELD
+#include "boost_has_sched_yield.ipp"
+#else
+namespace boost_has_sched_yield = empty_boost;
+#endif
+#ifdef BOOST_HAS_SGI_TYPE_TRAITS
+#include "boost_has_sgi_type_traits.ipp"
+#else
+namespace boost_has_sgi_type_traits = empty_boost;
+#endif
+#ifdef BOOST_HAS_SIGACTION
+#include "boost_has_sigaction.ipp"
+#else
+namespace boost_has_sigaction = empty_boost;
+#endif
+#ifdef BOOST_HAS_SLIST
+#include "boost_has_slist.ipp"
+#else
+namespace boost_has_slist = empty_boost;
+#endif
+#ifdef BOOST_HAS_STATIC_ASSERT
+#include "boost_has_static_assert.ipp"
+#else
+namespace boost_has_static_assert = empty_boost;
+#endif
+#ifdef BOOST_HAS_STDINT_H
+#include "boost_has_stdint_h.ipp"
+#else
+namespace boost_has_stdint_h = empty_boost;
+#endif
+#ifdef BOOST_HAS_STLP_USE_FACET
+#include "boost_has_stlp_use_facet.ipp"
+#else
+namespace boost_has_stlp_use_facet = empty_boost;
+#endif
+#ifdef BOOST_HAS_UNISTD_H
+#include "boost_has_unistd_h.ipp"
+#else
+namespace boost_has_unistd_h = empty_boost;
+#endif
+#ifdef BOOST_HAS_VARIADIC_TMPL
+#include "boost_has_variadic_tmpl.ipp"
+#else
+namespace boost_has_variadic_tmpl = empty_boost;
+#endif
+#ifdef BOOST_MSVC6_MEMBER_TEMPLATES
+#include "boost_has_vc6_mem_templ.ipp"
+#else
+namespace boost_msvc6_member_templates = empty_boost;
+#endif
+#ifdef BOOST_MSVC_STD_ITERATOR
+#include "boost_has_vc_iterator.ipp"
+#else
+namespace boost_msvc_std_iterator = empty_boost;
+#endif
+#ifdef BOOST_HAS_WINTHREADS
+#include "boost_has_winthreads.ipp"
+#else
+namespace boost_has_winthreads = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ if(0 != boost_has_two_arg_use_facet::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_TWO_ARG_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_bethreads::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_BETHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_clock_gettime::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_CLOCK_GETTIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_pragma_detect_mismatch::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_PRAGMA_DETECT_MISMATCH at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_dirent_h::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_DIRENT_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_expm1::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_EXPM1 at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_float128::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_FLOAT128 at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_ftime::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_FTIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_getsystemtimeasfiletime::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_GETSYSTEMTIMEASFILETIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_gettimeofday::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_GETTIMEOFDAY at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_hash::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_HASH at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_int128::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_INT128 at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_log1p::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_LOG1P at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_long_long::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_LONG_LONG at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_macro_use_facet::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_MACRO_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_ms_int64::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_MS_INT64 at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_nanosleep::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_NANOSLEEP at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_nl_types_h::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_NL_TYPES_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_nrvo::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_NRVO at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_partial_std_allocator::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_PARTIAL_STD_ALLOCATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_pthread_delay_np::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_PTHREAD_DELAY_NP at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_pthread_mutexattr_settype::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_pthread_yield::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_PTHREAD_YIELD at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_pthreads::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_PTHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_rvalue_refs::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_RVALUE_REFS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_sched_yield::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_SCHED_YIELD at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_sgi_type_traits::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_SGI_TYPE_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_sigaction::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_SIGACTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_slist::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_SLIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_static_assert::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_STATIC_ASSERT at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_stdint_h::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_STDINT_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_stlp_use_facet::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_STLP_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_unistd_h::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_UNISTD_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_variadic_tmpl::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_VARIADIC_TMPL at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_msvc6_member_templates::test())
+ {
+ std::cerr << "Failed test for BOOST_MSVC6_MEMBER_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_msvc_std_iterator::test())
+ {
+ std::cerr << "Failed test for BOOST_MSVC_STD_ITERATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_winthreads::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_WINTHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_adl_barrier::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_ADL_BARRIER at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_argument_dependent_lookup::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_array_type_specializations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_auto_declarations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_AUTO_DECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_auto_multideclarations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_auto_ptr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_AUTO_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_bcb_partial_specialization_bug::test())
+ {
+ std::cerr << "Failed test for BOOST_BCB_PARTIAL_SPECIALIZATION_BUG at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_char16_t::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_CHAR16_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_char32_t::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_CHAR32_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_complete_value_initialization::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_COMPLETE_VALUE_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_constexpr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_ctype_functions::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CTYPE_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cv_specializations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CV_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cv_void_specializations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CV_VOID_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cwchar::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CWCHAR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cwctype::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CWCTYPE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_addressof::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_ADDRESSOF at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_alignas::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_ALIGNAS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_allocator::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_ALLOCATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_atomic_smart_ptr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_ATOMIC_SMART_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_defaulted_moves::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_DEFAULTED_MOVES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_exception::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_EXCEPTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_final::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_FINAL at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_array::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_ARRAY at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_atomic::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_ATOMIC at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_chrono::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_CHRONO at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_codecvt::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_CODECVT at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_condition_variable::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_CONDITION_VARIABLE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_forward_list::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_FORWARD_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_future::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_FUTURE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_initializer_list::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_INITIALIZER_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_mutex::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_MUTEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_random::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_RANDOM at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_ratio::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_RATIO at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_regex::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_REGEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_system_error::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_SYSTEM_ERROR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_thread::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_THREAD at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_tuple::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_TUPLE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_type_traits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_TYPE_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_typeindex::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_TYPEINDEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_unordered_map::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_UNORDERED_MAP at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_unordered_set::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_UNORDERED_SET at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_inline_namespaces::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_INLINE_NAMESPACES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_non_public_defaulted_functions::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_numeric_limits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_pointer_traits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_POINTER_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_ref_qualifiers::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_REF_QUALIFIERS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_sfinae_expr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_SFINAE_EXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_smart_ptr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_SMART_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_std_align::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_STD_ALIGN at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_thread_local::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_THREAD_LOCAL at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_trailing_result_types::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_TRAILING_RESULT_TYPES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_user_defined_literals::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_USER_DEFINED_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_binary_literals::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_BINARY_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_constexpr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_decltype_auto::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_DECLTYPE_AUTO at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_digit_separators::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_DIGIT_SEPARATORS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_generic_lambdas::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_GENERIC_LAMBDAS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_hdr_shared_mutex::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_HDR_SHARED_MUTEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_initialized_lambda_captures::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_aggregate_nsdmi::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_AGGREGATE_NSDMI at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_return_type_deduction::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_std_exchange::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_STD_EXCHANGE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_variable_templates::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_VARIABLE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_fold_expressions::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_FOLD_EXPRESSIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_hdr_optional::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_HDR_OPTIONAL at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_hdr_string_view::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_HDR_STRING_VIEW at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_hdr_variant::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_HDR_VARIANT at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_if_constexpr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_IF_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_inline_variables::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_INLINE_VARIABLES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_iterator_traits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_ITERATOR_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_std_apply::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_STD_APPLY at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_std_invoke::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_STD_INVOKE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_structured_bindings::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_STRUCTURED_BINDINGS 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;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_decltype::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_DECLTYPE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_decltype_n3276::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_DECLTYPE_N3276 at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_deduced_typename::test())
+ {
+ std::cerr << "Failed test for BOOST_DEDUCED_TYPENAME at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_defaulted_functions::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_DEFAULTED_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_deleted_functions::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_DELETED_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_dependent_nested_derivations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_DEPENDENT_NESTED_DERIVATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_dependent_types_in_template_value_parameters::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_exception_std_namespace::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_EXCEPTION_STD_NAMESPACE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_exceptions::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_EXCEPTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_explicit_function_template_arguments::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_explicit_conversion_operators::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_extern_template::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_EXTERN_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_fenv_h::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_FENV_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_fixed_length_variadic_template_expansion_packs::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_function_template_ordering::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_FUNCTION_TEMPLATE_ORDERING at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_function_template_default_args::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_function_type_specializations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_ms_int64_numeric_limits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_MS_INT64_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_inclass_member_initialization::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_INCLASS_MEMBER_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_integral_int64_t::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_INTEGRAL_INT64_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_iosfwd::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_IOSFWD at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_iostream::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_IOSTREAM at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_is_abstract::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_IS_ABSTRACT at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_templated_iterator_constructors::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_lambdas::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_LAMBDAS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_limits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_limits_compile_time_constants::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_long_long_numeric_limits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_LONG_LONG_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_long_long::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_LONG_LONG at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_member_function_specializations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_member_template_keyword::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_MEMBER_TEMPLATE_KEYWORD at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_pointer_to_member_template_parameters::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_member_template_friends::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_MEMBER_TEMPLATE_FRIENDS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_member_templates::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_MEMBER_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_nested_friendship::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_NESTED_FRIENDSHIP at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_noexcept::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_NOEXCEPT at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_nullptr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_NULLPTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_operators_in_namespace::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_OPERATORS_IN_NAMESPACE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_partial_specialization_implicit_default_args::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_template_partial_specialization::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_private_in_aggregate::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_PRIVATE_IN_AGGREGATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_pointer_to_member_const::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_POINTER_TO_MEMBER_CONST at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_range_based_for::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_RANGE_BASED_FOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_raw_literals::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_RAW_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_restrict_references::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_RESTRICT_REFERENCES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_unreachable_return_detection::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_UNREACHABLE_RETURN_DETECTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_rtti::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_RTTI at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_rvalue_references::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_RVALUE_REFERENCES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_scoped_enums::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_SCOPED_ENUMS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_sfinae::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_SFINAE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_sfinae_expr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_SFINAE_EXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_stringstream::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STRINGSTREAM at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_static_assert::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_STATIC_ASSERT at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_allocator::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_ALLOCATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_distance::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_DISTANCE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_iterator_traits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_ITERATOR_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_iterator::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_ITERATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_locale::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_LOCALE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_messages::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_MESSAGES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_min_max::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_MIN_MAX at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_output_iterator_assign::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_typeinfo::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_TYPEINFO at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_use_facet::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_wstreambuf::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_WSTREAMBUF at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_wstring::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_WSTRING at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_stdc_namespace::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STDC_NAMESPACE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_swprintf::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_SWPRINTF at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_local_class_template_parameters::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_template_aliases::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_TEMPLATE_ALIASES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_templated_iostreams::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TEMPLATED_IOSTREAMS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_template_templates::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TEMPLATE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_two_phase_name_lookup::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TWO_PHASE_NAME_LOOKUP at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_typeid::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TYPEID at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_typename_with_ctor::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TYPENAME_WITH_CTOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_unicode_literals::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_UNICODE_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_unified_initialization_syntax::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_unrestricted_union::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_UNRESTRICTED_UNION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_function_scope_using_declaration_breaks_adl::test())
+ {
+ std::cerr << "Failed test for BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_using_declaration_overloads_from_typename_base::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_using_template::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_USING_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_variadic_macros::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_VARIADIC_MACROS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_variadic_templates::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_VARIADIC_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_void_returns::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_VOID_RETURNS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_intrinsic_wchar_t::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_INTRINSIC_WCHAR_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ return error_count;
+}
+
diff --git a/src/boost/libs/config/test/config_test.cu b/src/boost/libs/config/test/config_test.cu
new file mode 100644
index 000000000..c7e4e8a60
--- /dev/null
+++ b/src/boost/libs/config/test/config_test.cu
@@ -0,0 +1,1971 @@
+// This file was automatically generated on Wed Apr 18 20:03:40 2018
+// 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 config setup
+// This file should compile, if it does not then
+// one or more macros need to be defined.
+// see boost_*.ipp for more details
+
+// Do not edit this file, it was generated automatically by
+
+#include <boost/config.hpp>
+#include <iostream>
+#include "test.hpp"
+
+int error_count = 0;
+
+#ifndef BOOST_NO_ADL_BARRIER
+#include "boost_no_adl_barrier.ipp"
+#else
+namespace boost_no_adl_barrier = empty_boost;
+#endif
+#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+#include "boost_no_arg_dep_lookup.ipp"
+#else
+namespace boost_no_argument_dependent_lookup = empty_boost;
+#endif
+#ifndef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
+#include "boost_no_array_type_spec.ipp"
+#else
+namespace boost_no_array_type_specializations = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_AUTO_DECLARATIONS
+#include "boost_no_auto_declarations.ipp"
+#else
+namespace boost_no_cxx11_auto_declarations = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#include "boost_no_auto_multidecl.ipp"
+#else
+namespace boost_no_cxx11_auto_multideclarations = empty_boost;
+#endif
+#ifndef BOOST_NO_AUTO_PTR
+#include "boost_no_auto_ptr.ipp"
+#else
+namespace boost_no_auto_ptr = empty_boost;
+#endif
+#ifndef BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
+#include "boost_no_bcb_partial_spec.ipp"
+#else
+namespace boost_bcb_partial_specialization_bug = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_CHAR16_T
+#include "boost_no_char16_t.ipp"
+#else
+namespace boost_no_cxx11_char16_t = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_CHAR32_T
+#include "boost_no_char32_t.ipp"
+#else
+namespace boost_no_cxx11_char32_t = empty_boost;
+#endif
+#ifndef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#include "boost_no_com_value_init.ipp"
+#else
+namespace boost_no_complete_value_initialization = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_CONSTEXPR
+#include "boost_no_constexpr.ipp"
+#else
+namespace boost_no_cxx11_constexpr = empty_boost;
+#endif
+#ifndef BOOST_NO_CTYPE_FUNCTIONS
+#include "boost_no_ctype_functions.ipp"
+#else
+namespace boost_no_ctype_functions = empty_boost;
+#endif
+#ifndef BOOST_NO_CV_SPECIALIZATIONS
+#include "boost_no_cv_spec.ipp"
+#else
+namespace boost_no_cv_specializations = empty_boost;
+#endif
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
+#include "boost_no_cv_void_spec.ipp"
+#else
+namespace boost_no_cv_void_specializations = empty_boost;
+#endif
+#ifndef BOOST_NO_CWCHAR
+#include "boost_no_cwchar.ipp"
+#else
+namespace boost_no_cwchar = empty_boost;
+#endif
+#ifndef BOOST_NO_CWCTYPE
+#include "boost_no_cwctype.ipp"
+#else
+namespace boost_no_cwctype = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_ADDRESSOF
+#include "boost_no_cxx11_addressof.ipp"
+#else
+namespace boost_no_cxx11_addressof = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_ALIGNAS
+#include "boost_no_cxx11_alignas.ipp"
+#else
+namespace boost_no_cxx11_alignas = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_ALLOCATOR
+#include "boost_no_cxx11_allocator.ipp"
+#else
+namespace boost_no_cxx11_allocator = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_ATOMIC_SMART_PTR
+#include "boost_no_cxx11_atomic_sp.ipp"
+#else
+namespace boost_no_cxx11_atomic_smart_ptr = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_DEFAULTED_MOVES
+#include "boost_no_cxx11_defaulted_moves.ipp"
+#else
+namespace boost_no_cxx11_defaulted_moves = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_FINAL
+#include "boost_no_cxx11_final.ipp"
+#else
+namespace boost_no_cxx11_final = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_ARRAY
+#include "boost_no_cxx11_hdr_array.ipp"
+#else
+namespace boost_no_cxx11_hdr_array = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_ATOMIC
+#include "boost_no_cxx11_hdr_atomic.ipp"
+#else
+namespace boost_no_cxx11_hdr_atomic = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_CHRONO
+#include "boost_no_cxx11_hdr_chrono.ipp"
+#else
+namespace boost_no_cxx11_hdr_chrono = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_CODECVT
+#include "boost_no_cxx11_hdr_codecvt.ipp"
+#else
+namespace boost_no_cxx11_hdr_codecvt = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#include "boost_no_cxx11_hdr_condition_variable.ipp"
+#else
+namespace boost_no_cxx11_hdr_condition_variable = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_FORWARD_LIST
+#include "boost_no_cxx11_hdr_forward_list.ipp"
+#else
+namespace boost_no_cxx11_hdr_forward_list = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_FUTURE
+#include "boost_no_cxx11_hdr_future.ipp"
+#else
+namespace boost_no_cxx11_hdr_future = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#include "boost_no_cxx11_hdr_initializer_list.ipp"
+#else
+namespace boost_no_cxx11_hdr_initializer_list = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_MUTEX
+#include "boost_no_cxx11_hdr_mutex.ipp"
+#else
+namespace boost_no_cxx11_hdr_mutex = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_RANDOM
+#include "boost_no_cxx11_hdr_random.ipp"
+#else
+namespace boost_no_cxx11_hdr_random = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_RATIO
+#include "boost_no_cxx11_hdr_ratio.ipp"
+#else
+namespace boost_no_cxx11_hdr_ratio = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_REGEX
+#include "boost_no_cxx11_hdr_regex.ipp"
+#else
+namespace boost_no_cxx11_hdr_regex = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#include "boost_no_cxx11_hdr_system_error.ipp"
+#else
+namespace boost_no_cxx11_hdr_system_error = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_THREAD
+#include "boost_no_cxx11_hdr_thread.ipp"
+#else
+namespace boost_no_cxx11_hdr_thread = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_TUPLE
+#include "boost_no_cxx11_hdr_tuple.ipp"
+#else
+namespace boost_no_cxx11_hdr_tuple = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_TYPE_TRAITS
+#include "boost_no_cxx11_hdr_type_traits.ipp"
+#else
+namespace boost_no_cxx11_hdr_type_traits = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_TYPEINDEX
+#include "boost_no_cxx11_hdr_typeindex.ipp"
+#else
+namespace boost_no_cxx11_hdr_typeindex = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_UNORDERED_MAP
+#include "boost_no_cxx11_hdr_unordered_map.ipp"
+#else
+namespace boost_no_cxx11_hdr_unordered_map = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_HDR_UNORDERED_SET
+#include "boost_no_cxx11_hdr_unordered_set.ipp"
+#else
+namespace boost_no_cxx11_hdr_unordered_set = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_INLINE_NAMESPACES
+#include "boost_no_cxx11_inline_namespaces.ipp"
+#else
+namespace boost_no_cxx11_inline_namespaces = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
+#include "boost_no_cxx11_non_pub_def_fun.ipp"
+#else
+namespace boost_no_cxx11_non_public_defaulted_functions = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_NUMERIC_LIMITS
+#include "boost_no_cxx11_numeric_limits.ipp"
+#else
+namespace boost_no_cxx11_numeric_limits = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_POINTER_TRAITS
+#include "boost_no_cxx11_pointer_traits.ipp"
+#else
+namespace boost_no_cxx11_pointer_traits = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
+#include "boost_no_cxx11_ref_qualifiers.ipp"
+#else
+namespace boost_no_cxx11_ref_qualifiers = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_SFINAE_EXPR
+#include "boost_no_cxx11_sfinae_expr.ipp"
+#else
+namespace boost_no_cxx11_sfinae_expr = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_SMART_PTR
+#include "boost_no_cxx11_smart_ptr.ipp"
+#else
+namespace boost_no_cxx11_smart_ptr = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_STD_ALIGN
+#include "boost_no_cxx11_std_align.ipp"
+#else
+namespace boost_no_cxx11_std_align = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_THREAD_LOCAL
+#include "boost_no_cxx11_thread_local.ipp"
+#else
+namespace boost_no_cxx11_thread_local = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
+#include "boost_no_cxx11_trailing_result_types.ipp"
+#else
+namespace boost_no_cxx11_trailing_result_types = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#include "boost_no_cxx11_user_lit.ipp"
+#else
+namespace boost_no_cxx11_user_defined_literals = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_BINARY_LITERALS
+#include "boost_no_cxx14_binary_literals.ipp"
+#else
+namespace boost_no_cxx14_binary_literals = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_CONSTEXPR
+#include "boost_no_cxx14_constexpr.ipp"
+#else
+namespace boost_no_cxx14_constexpr = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_DECLTYPE_AUTO
+#include "boost_no_cxx14_decltype_auto.ipp"
+#else
+namespace boost_no_cxx14_decltype_auto = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_DIGIT_SEPARATORS
+#include "boost_no_cxx14_digit_separator.ipp"
+#else
+namespace boost_no_cxx14_digit_separators = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_GENERIC_LAMBDAS
+#include "boost_no_cxx14_generic_lambda.ipp"
+#else
+namespace boost_no_cxx14_generic_lambdas = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
+#include "boost_no_cxx14_hdr_shared_mutex.ipp"
+#else
+namespace boost_no_cxx14_hdr_shared_mutex = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
+#include "boost_no_cxx14_lambda_capture.ipp"
+#else
+namespace boost_no_cxx14_initialized_lambda_captures = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_AGGREGATE_NSDMI
+#include "boost_no_cxx14_member_init.ipp"
+#else
+namespace boost_no_cxx14_aggregate_nsdmi = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
+#include "boost_no_cxx14_return_type_ded.ipp"
+#else
+namespace boost_no_cxx14_return_type_deduction = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_STD_EXCHANGE
+#include "boost_no_cxx14_std_exchange.ipp"
+#else
+namespace boost_no_cxx14_std_exchange = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX14_VARIABLE_TEMPLATES
+#include "boost_no_cxx14_var_templ.ipp"
+#else
+namespace boost_no_cxx14_variable_templates = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_FOLD_EXPRESSIONS
+#include "boost_no_cxx17_fold_expressions.ipp"
+#else
+namespace boost_no_cxx17_fold_expressions = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_IF_CONSTEXPR
+#include "boost_no_cxx17_if_constexpr.ipp"
+#else
+namespace boost_no_cxx17_if_constexpr = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_INLINE_VARIABLES
+#include "boost_no_cxx17_inline_variables.ipp"
+#else
+namespace boost_no_cxx17_inline_variables = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_ITERATOR_TRAITS
+#include "boost_no_cxx17_iterator_traits.ipp"
+#else
+namespace boost_no_cxx17_iterator_traits = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_STD_APPLY
+#include "boost_no_cxx17_std_apply.ipp"
+#else
+namespace boost_no_cxx17_std_apply = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_STD_INVOKE
+#include "boost_no_cxx17_std_invoke.ipp"
+#else
+namespace boost_no_cxx17_std_invoke = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX17_STRUCTURED_BINDINGS
+#include "boost_no_cxx17_structured_bindings.ipp"
+#else
+namespace boost_no_cxx17_structured_bindings = 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
+namespace boost_no_cxx11_hdr_functional = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_DECLTYPE
+#include "boost_no_decltype.ipp"
+#else
+namespace boost_no_cxx11_decltype = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_DECLTYPE_N3276
+#include "boost_no_decltype_n3276.ipp"
+#else
+namespace boost_no_cxx11_decltype_n3276 = empty_boost;
+#endif
+#ifndef BOOST_DEDUCED_TYPENAME
+#include "boost_no_ded_typename.ipp"
+#else
+namespace boost_deduced_typename = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#include "boost_no_defaulted_functions.ipp"
+#else
+namespace boost_no_cxx11_defaulted_functions = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
+#include "boost_no_deleted_functions.ipp"
+#else
+namespace boost_no_cxx11_deleted_functions = empty_boost;
+#endif
+#ifndef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+#include "boost_no_dep_nested_class.ipp"
+#else
+namespace boost_no_dependent_nested_derivations = empty_boost;
+#endif
+#ifndef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+#include "boost_no_dep_val_param.ipp"
+#else
+namespace boost_no_dependent_types_in_template_value_parameters = empty_boost;
+#endif
+#ifndef BOOST_NO_EXCEPTION_STD_NAMESPACE
+#include "boost_no_excep_std.ipp"
+#else
+namespace boost_no_exception_std_namespace = empty_boost;
+#endif
+#ifndef BOOST_NO_EXCEPTIONS
+#include "boost_no_exceptions.ipp"
+#else
+namespace boost_no_exceptions = empty_boost;
+#endif
+#ifndef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+#include "boost_no_exp_func_tem_arg.ipp"
+#else
+namespace boost_no_explicit_function_template_arguments = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#include "boost_no_explicit_cvt_ops.ipp"
+#else
+namespace boost_no_cxx11_explicit_conversion_operators = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_EXTERN_TEMPLATE
+#include "boost_no_extern_template.ipp"
+#else
+namespace boost_no_cxx11_extern_template = empty_boost;
+#endif
+#ifndef BOOST_NO_FENV_H
+#include "boost_no_fenv_h.ipp"
+#else
+namespace boost_no_fenv_h = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
+#include "boost_no_fixed_len_variadic_templates.ipp"
+#else
+namespace boost_no_cxx11_fixed_length_variadic_template_expansion_packs = empty_boost;
+#endif
+#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#include "boost_no_func_tmp_order.ipp"
+#else
+namespace boost_no_function_template_ordering = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#include "boost_no_function_template_default_args.ipp"
+#else
+namespace boost_no_cxx11_function_template_default_args = empty_boost;
+#endif
+#ifndef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
+#include "boost_no_function_type_spec.ipp"
+#else
+namespace boost_no_function_type_specializations = empty_boost;
+#endif
+#ifndef BOOST_NO_MS_INT64_NUMERIC_LIMITS
+#include "boost_no_i64_limits.ipp"
+#else
+namespace boost_no_ms_int64_numeric_limits = empty_boost;
+#endif
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#include "boost_no_inline_memb_init.ipp"
+#else
+namespace boost_no_inclass_member_initialization = empty_boost;
+#endif
+#ifndef BOOST_NO_INTEGRAL_INT64_T
+#include "boost_no_integral_int64_t.ipp"
+#else
+namespace boost_no_integral_int64_t = empty_boost;
+#endif
+#ifndef BOOST_NO_IOSFWD
+#include "boost_no_iosfwd.ipp"
+#else
+namespace boost_no_iosfwd = empty_boost;
+#endif
+#ifndef BOOST_NO_IOSTREAM
+#include "boost_no_iostream.ipp"
+#else
+namespace boost_no_iostream = empty_boost;
+#endif
+#ifndef BOOST_NO_IS_ABSTRACT
+#include "boost_no_is_abstract.ipp"
+#else
+namespace boost_no_is_abstract = empty_boost;
+#endif
+#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+#include "boost_no_iter_construct.ipp"
+#else
+namespace boost_no_templated_iterator_constructors = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_LAMBDAS
+#include "boost_no_lambdas.ipp"
+#else
+namespace boost_no_cxx11_lambdas = empty_boost;
+#endif
+#ifndef BOOST_NO_LIMITS
+#include "boost_no_limits.ipp"
+#else
+namespace boost_no_limits = empty_boost;
+#endif
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#include "boost_no_limits_const_exp.ipp"
+#else
+namespace boost_no_limits_compile_time_constants = empty_boost;
+#endif
+#ifndef BOOST_NO_LONG_LONG_NUMERIC_LIMITS
+#include "boost_no_ll_limits.ipp"
+#else
+namespace boost_no_long_long_numeric_limits = empty_boost;
+#endif
+#ifndef BOOST_NO_LONG_LONG
+#include "boost_no_long_long.ipp"
+#else
+namespace boost_no_long_long = empty_boost;
+#endif
+#ifndef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
+#include "boost_no_mem_func_spec.ipp"
+#else
+namespace boost_no_member_function_specializations = empty_boost;
+#endif
+#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
+#include "boost_no_mem_tem_keyword.ipp"
+#else
+namespace boost_no_member_template_keyword = empty_boost;
+#endif
+#ifndef BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
+#include "boost_no_mem_tem_pnts.ipp"
+#else
+namespace boost_no_pointer_to_member_template_parameters = empty_boost;
+#endif
+#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#include "boost_no_mem_templ_frnds.ipp"
+#else
+namespace boost_no_member_template_friends = empty_boost;
+#endif
+#ifndef BOOST_NO_MEMBER_TEMPLATES
+#include "boost_no_mem_templates.ipp"
+#else
+namespace boost_no_member_templates = empty_boost;
+#endif
+#ifndef BOOST_NO_NESTED_FRIENDSHIP
+#include "boost_no_nested_friendship.ipp"
+#else
+namespace boost_no_nested_friendship = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_NOEXCEPT
+#include "boost_no_noexcept.ipp"
+#else
+namespace boost_no_cxx11_noexcept = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_NULLPTR
+#include "boost_no_nullptr.ipp"
+#else
+namespace boost_no_cxx11_nullptr = empty_boost;
+#endif
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE
+#include "boost_no_ops_in_namespace.ipp"
+#else
+namespace boost_no_operators_in_namespace = empty_boost;
+#endif
+#ifndef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+#include "boost_no_part_spec_def_args.ipp"
+#else
+namespace boost_no_partial_specialization_implicit_default_args = empty_boost;
+#endif
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#include "boost_no_partial_spec.ipp"
+#else
+namespace boost_no_template_partial_specialization = empty_boost;
+#endif
+#ifndef BOOST_NO_PRIVATE_IN_AGGREGATE
+#include "boost_no_priv_aggregate.ipp"
+#else
+namespace boost_no_private_in_aggregate = empty_boost;
+#endif
+#ifndef BOOST_NO_POINTER_TO_MEMBER_CONST
+#include "boost_no_ptr_mem_const.ipp"
+#else
+namespace boost_no_pointer_to_member_const = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_RANGE_BASED_FOR
+#include "boost_no_range_based_for.ipp"
+#else
+namespace boost_no_cxx11_range_based_for = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_RAW_LITERALS
+#include "boost_no_raw_literals.ipp"
+#else
+namespace boost_no_cxx11_raw_literals = empty_boost;
+#endif
+#ifndef BOOST_NO_RESTRICT_REFERENCES
+#include "boost_no_restrict_references.ipp"
+#else
+namespace boost_no_restrict_references = empty_boost;
+#endif
+#ifndef BOOST_NO_UNREACHABLE_RETURN_DETECTION
+#include "boost_no_ret_det.ipp"
+#else
+namespace boost_no_unreachable_return_detection = empty_boost;
+#endif
+#ifndef BOOST_NO_RTTI
+#include "boost_no_rtti.ipp"
+#else
+namespace boost_no_rtti = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#include "boost_no_rvalue_references.ipp"
+#else
+namespace boost_no_cxx11_rvalue_references = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_SCOPED_ENUMS
+#include "boost_no_scoped_enums.ipp"
+#else
+namespace boost_no_cxx11_scoped_enums = empty_boost;
+#endif
+#ifndef BOOST_NO_SFINAE
+#include "boost_no_sfinae.ipp"
+#else
+namespace boost_no_sfinae = empty_boost;
+#endif
+#ifndef BOOST_NO_SFINAE_EXPR
+#include "boost_no_sfinae_expr.ipp"
+#else
+namespace boost_no_sfinae_expr = empty_boost;
+#endif
+#ifndef BOOST_NO_STRINGSTREAM
+#include "boost_no_sstream.ipp"
+#else
+namespace boost_no_stringstream = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_STATIC_ASSERT
+#include "boost_no_static_assert.ipp"
+#else
+namespace boost_no_cxx11_static_assert = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_ALLOCATOR
+#include "boost_no_std_allocator.ipp"
+#else
+namespace boost_no_std_allocator = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_DISTANCE
+#include "boost_no_std_distance.ipp"
+#else
+namespace boost_no_std_distance = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_ITERATOR_TRAITS
+#include "boost_no_std_iter_traits.ipp"
+#else
+namespace boost_no_std_iterator_traits = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_ITERATOR
+#include "boost_no_std_iterator.ipp"
+#else
+namespace boost_no_std_iterator = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_LOCALE
+#include "boost_no_std_locale.ipp"
+#else
+namespace boost_no_std_locale = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_MESSAGES
+#include "boost_no_std_messages.ipp"
+#else
+namespace boost_no_std_messages = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_MIN_MAX
+#include "boost_no_std_min_max.ipp"
+#else
+namespace boost_no_std_min_max = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
+#include "boost_no_std_oi_assign.ipp"
+#else
+namespace boost_no_std_output_iterator_assign = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_TYPEINFO
+#include "boost_no_std_typeinfo.ipp"
+#else
+namespace boost_no_std_typeinfo = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_USE_FACET
+#include "boost_no_std_use_facet.ipp"
+#else
+namespace boost_no_std_use_facet = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_WSTREAMBUF
+#include "boost_no_std_wstreambuf.ipp"
+#else
+namespace boost_no_std_wstreambuf = empty_boost;
+#endif
+#ifndef BOOST_NO_STD_WSTRING
+#include "boost_no_std_wstring.ipp"
+#else
+namespace boost_no_std_wstring = empty_boost;
+#endif
+#ifndef BOOST_NO_STDC_NAMESPACE
+#include "boost_no_stdc_namespace.ipp"
+#else
+namespace boost_no_stdc_namespace = empty_boost;
+#endif
+#ifndef BOOST_NO_SWPRINTF
+#include "boost_no_swprintf.ipp"
+#else
+namespace boost_no_swprintf = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#include "boost_no_tem_local_classes.ipp"
+#else
+namespace boost_no_cxx11_local_class_template_parameters = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_TEMPLATE_ALIASES
+#include "boost_no_template_aliases.ipp"
+#else
+namespace boost_no_cxx11_template_aliases = empty_boost;
+#endif
+#ifndef BOOST_NO_TEMPLATED_IOSTREAMS
+#include "boost_no_template_streams.ipp"
+#else
+namespace boost_no_templated_iostreams = empty_boost;
+#endif
+#ifndef BOOST_NO_TEMPLATE_TEMPLATES
+#include "boost_no_template_template.ipp"
+#else
+namespace boost_no_template_templates = empty_boost;
+#endif
+#ifndef BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#include "boost_no_two_phase_lookup.ipp"
+#else
+namespace boost_no_two_phase_name_lookup = empty_boost;
+#endif
+#ifndef BOOST_NO_TYPEID
+#include "boost_no_typeid.ipp"
+#else
+namespace boost_no_typeid = empty_boost;
+#endif
+#ifndef BOOST_NO_TYPENAME_WITH_CTOR
+#include "boost_no_typename_with_ctor.ipp"
+#else
+namespace boost_no_typename_with_ctor = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_UNICODE_LITERALS
+#include "boost_no_unicode_literals.ipp"
+#else
+namespace boost_no_cxx11_unicode_literals = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#include "boost_no_unified_init.ipp"
+#else
+namespace boost_no_cxx11_unified_initialization_syntax = empty_boost;
+#endif
+#ifndef BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#include "boost_no_using_breaks_adl.ipp"
+#else
+namespace boost_function_scope_using_declaration_breaks_adl = empty_boost;
+#endif
+#ifndef BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+#include "boost_no_using_decl_overld.ipp"
+#else
+namespace boost_no_using_declaration_overloads_from_typename_base = empty_boost;
+#endif
+#ifndef BOOST_NO_USING_TEMPLATE
+#include "boost_no_using_template.ipp"
+#else
+namespace boost_no_using_template = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_VARIADIC_MACROS
+#include "boost_no_variadic_macros.ipp"
+#else
+namespace boost_no_cxx11_variadic_macros = empty_boost;
+#endif
+#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#include "boost_no_variadic_templates.ipp"
+#else
+namespace boost_no_cxx11_variadic_templates = empty_boost;
+#endif
+#ifndef BOOST_NO_VOID_RETURNS
+#include "boost_no_void_returns.ipp"
+#else
+namespace boost_no_void_returns = empty_boost;
+#endif
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+#include "boost_no_wchar_t.ipp"
+#else
+namespace boost_no_intrinsic_wchar_t = empty_boost;
+#endif
+
+#ifdef BOOST_HAS_TWO_ARG_USE_FACET
+#include "boost_has_2arg_use_facet.ipp"
+#else
+namespace boost_has_two_arg_use_facet = empty_boost;
+#endif
+#ifdef BOOST_HAS_BETHREADS
+#include "boost_has_bethreads.ipp"
+#else
+namespace boost_has_bethreads = empty_boost;
+#endif
+#ifdef BOOST_HAS_CLOCK_GETTIME
+#include "boost_has_clock_gettime.ipp"
+#else
+namespace boost_has_clock_gettime = empty_boost;
+#endif
+#ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH
+#include "boost_has_detect_mismatch.ipp"
+#else
+namespace boost_has_pragma_detect_mismatch = empty_boost;
+#endif
+#ifdef BOOST_HAS_DIRENT_H
+#include "boost_has_dirent_h.ipp"
+#else
+namespace boost_has_dirent_h = empty_boost;
+#endif
+#ifdef BOOST_HAS_EXPM1
+#include "boost_has_expm1.ipp"
+#else
+namespace boost_has_expm1 = empty_boost;
+#endif
+#ifdef BOOST_HAS_FLOAT128
+#include "boost_has_float128.ipp"
+#else
+namespace boost_has_float128 = empty_boost;
+#endif
+#ifdef BOOST_HAS_FTIME
+#include "boost_has_ftime.ipp"
+#else
+namespace boost_has_ftime = empty_boost;
+#endif
+#ifdef BOOST_HAS_GETSYSTEMTIMEASFILETIME
+#include "boost_has_getsystemtimeasfiletime.ipp"
+#else
+namespace boost_has_getsystemtimeasfiletime = empty_boost;
+#endif
+#ifdef BOOST_HAS_GETTIMEOFDAY
+#include "boost_has_gettimeofday.ipp"
+#else
+namespace boost_has_gettimeofday = empty_boost;
+#endif
+#ifdef BOOST_HAS_HASH
+#include "boost_has_hash.ipp"
+#else
+namespace boost_has_hash = empty_boost;
+#endif
+#ifdef BOOST_HAS_INT128
+#include "boost_has_int128.ipp"
+#else
+namespace boost_has_int128 = empty_boost;
+#endif
+#ifdef BOOST_HAS_LOG1P
+#include "boost_has_log1p.ipp"
+#else
+namespace boost_has_log1p = empty_boost;
+#endif
+#ifdef BOOST_HAS_LONG_LONG
+#include "boost_has_long_long.ipp"
+#else
+namespace boost_has_long_long = empty_boost;
+#endif
+#ifdef BOOST_HAS_MACRO_USE_FACET
+#include "boost_has_macro_use_facet.ipp"
+#else
+namespace boost_has_macro_use_facet = empty_boost;
+#endif
+#ifdef BOOST_HAS_MS_INT64
+#include "boost_has_ms_int64.ipp"
+#else
+namespace boost_has_ms_int64 = empty_boost;
+#endif
+#ifdef BOOST_HAS_NANOSLEEP
+#include "boost_has_nanosleep.ipp"
+#else
+namespace boost_has_nanosleep = empty_boost;
+#endif
+#ifdef BOOST_HAS_NL_TYPES_H
+#include "boost_has_nl_types_h.ipp"
+#else
+namespace boost_has_nl_types_h = empty_boost;
+#endif
+#ifdef BOOST_HAS_NRVO
+#include "boost_has_nrvo.ipp"
+#else
+namespace boost_has_nrvo = empty_boost;
+#endif
+#ifdef BOOST_HAS_PARTIAL_STD_ALLOCATOR
+#include "boost_has_part_alloc.ipp"
+#else
+namespace boost_has_partial_std_allocator = empty_boost;
+#endif
+#ifdef BOOST_HAS_PTHREAD_DELAY_NP
+#include "boost_has_pthread_delay_np.ipp"
+#else
+namespace boost_has_pthread_delay_np = empty_boost;
+#endif
+#ifdef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#include "boost_has_pthread_ma_st.ipp"
+#else
+namespace boost_has_pthread_mutexattr_settype = empty_boost;
+#endif
+#ifdef BOOST_HAS_PTHREAD_YIELD
+#include "boost_has_pthread_yield.ipp"
+#else
+namespace boost_has_pthread_yield = empty_boost;
+#endif
+#ifdef BOOST_HAS_PTHREADS
+#include "boost_has_pthreads.ipp"
+#else
+namespace boost_has_pthreads = empty_boost;
+#endif
+#ifdef BOOST_HAS_RVALUE_REFS
+#include "boost_has_rvalue_refs.ipp"
+#else
+namespace boost_has_rvalue_refs = empty_boost;
+#endif
+#ifdef BOOST_HAS_SCHED_YIELD
+#include "boost_has_sched_yield.ipp"
+#else
+namespace boost_has_sched_yield = empty_boost;
+#endif
+#ifdef BOOST_HAS_SGI_TYPE_TRAITS
+#include "boost_has_sgi_type_traits.ipp"
+#else
+namespace boost_has_sgi_type_traits = empty_boost;
+#endif
+#ifdef BOOST_HAS_SIGACTION
+#include "boost_has_sigaction.ipp"
+#else
+namespace boost_has_sigaction = empty_boost;
+#endif
+#ifdef BOOST_HAS_SLIST
+#include "boost_has_slist.ipp"
+#else
+namespace boost_has_slist = empty_boost;
+#endif
+#ifdef BOOST_HAS_STATIC_ASSERT
+#include "boost_has_static_assert.ipp"
+#else
+namespace boost_has_static_assert = empty_boost;
+#endif
+#ifdef BOOST_HAS_STDINT_H
+#include "boost_has_stdint_h.ipp"
+#else
+namespace boost_has_stdint_h = empty_boost;
+#endif
+#ifdef BOOST_HAS_STLP_USE_FACET
+#include "boost_has_stlp_use_facet.ipp"
+#else
+namespace boost_has_stlp_use_facet = empty_boost;
+#endif
+#ifdef BOOST_HAS_UNISTD_H
+#include "boost_has_unistd_h.ipp"
+#else
+namespace boost_has_unistd_h = empty_boost;
+#endif
+#ifdef BOOST_HAS_VARIADIC_TMPL
+#include "boost_has_variadic_tmpl.ipp"
+#else
+namespace boost_has_variadic_tmpl = empty_boost;
+#endif
+#ifdef BOOST_MSVC6_MEMBER_TEMPLATES
+#include "boost_has_vc6_mem_templ.ipp"
+#else
+namespace boost_msvc6_member_templates = empty_boost;
+#endif
+#ifdef BOOST_MSVC_STD_ITERATOR
+#include "boost_has_vc_iterator.ipp"
+#else
+namespace boost_msvc_std_iterator = empty_boost;
+#endif
+#ifdef BOOST_HAS_WINTHREADS
+#include "boost_has_winthreads.ipp"
+#else
+namespace boost_has_winthreads = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ if(0 != boost_has_two_arg_use_facet::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_TWO_ARG_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_bethreads::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_BETHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_clock_gettime::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_CLOCK_GETTIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_pragma_detect_mismatch::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_PRAGMA_DETECT_MISMATCH at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_dirent_h::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_DIRENT_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_expm1::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_EXPM1 at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_float128::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_FLOAT128 at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_ftime::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_FTIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_getsystemtimeasfiletime::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_GETSYSTEMTIMEASFILETIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_gettimeofday::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_GETTIMEOFDAY at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_hash::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_HASH at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_int128::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_INT128 at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_log1p::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_LOG1P at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_long_long::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_LONG_LONG at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_macro_use_facet::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_MACRO_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_ms_int64::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_MS_INT64 at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_nanosleep::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_NANOSLEEP at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_nl_types_h::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_NL_TYPES_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_nrvo::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_NRVO at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_partial_std_allocator::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_PARTIAL_STD_ALLOCATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_pthread_delay_np::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_PTHREAD_DELAY_NP at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_pthread_mutexattr_settype::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_pthread_yield::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_PTHREAD_YIELD at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_pthreads::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_PTHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_rvalue_refs::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_RVALUE_REFS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_sched_yield::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_SCHED_YIELD at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_sgi_type_traits::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_SGI_TYPE_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_sigaction::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_SIGACTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_slist::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_SLIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_static_assert::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_STATIC_ASSERT at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_stdint_h::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_STDINT_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_stlp_use_facet::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_STLP_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_unistd_h::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_UNISTD_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_variadic_tmpl::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_VARIADIC_TMPL at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_msvc6_member_templates::test())
+ {
+ std::cerr << "Failed test for BOOST_MSVC6_MEMBER_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_msvc_std_iterator::test())
+ {
+ std::cerr << "Failed test for BOOST_MSVC_STD_ITERATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_has_winthreads::test())
+ {
+ std::cerr << "Failed test for BOOST_HAS_WINTHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_adl_barrier::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_ADL_BARRIER at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_argument_dependent_lookup::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_array_type_specializations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_auto_declarations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_AUTO_DECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_auto_multideclarations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_auto_ptr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_AUTO_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_bcb_partial_specialization_bug::test())
+ {
+ std::cerr << "Failed test for BOOST_BCB_PARTIAL_SPECIALIZATION_BUG at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_char16_t::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_CHAR16_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_char32_t::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_CHAR32_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_complete_value_initialization::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_COMPLETE_VALUE_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_constexpr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_ctype_functions::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CTYPE_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cv_specializations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CV_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cv_void_specializations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CV_VOID_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cwchar::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CWCHAR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cwctype::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CWCTYPE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_addressof::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_ADDRESSOF at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_alignas::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_ALIGNAS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_allocator::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_ALLOCATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_atomic_smart_ptr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_ATOMIC_SMART_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_defaulted_moves::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_DEFAULTED_MOVES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_final::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_FINAL at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_array::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_ARRAY at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_atomic::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_ATOMIC at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_chrono::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_CHRONO at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_codecvt::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_CODECVT at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_condition_variable::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_CONDITION_VARIABLE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_forward_list::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_FORWARD_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_future::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_FUTURE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_initializer_list::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_INITIALIZER_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_mutex::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_MUTEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_random::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_RANDOM at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_ratio::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_RATIO at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_regex::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_REGEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_system_error::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_SYSTEM_ERROR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_thread::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_THREAD at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_tuple::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_TUPLE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_type_traits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_TYPE_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_typeindex::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_TYPEINDEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_unordered_map::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_UNORDERED_MAP at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_hdr_unordered_set::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_HDR_UNORDERED_SET at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_inline_namespaces::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_INLINE_NAMESPACES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_non_public_defaulted_functions::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_numeric_limits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_pointer_traits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_POINTER_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_ref_qualifiers::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_REF_QUALIFIERS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_sfinae_expr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_SFINAE_EXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_smart_ptr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_SMART_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_std_align::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_STD_ALIGN at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_thread_local::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_THREAD_LOCAL at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_trailing_result_types::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_TRAILING_RESULT_TYPES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_user_defined_literals::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_USER_DEFINED_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_binary_literals::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_BINARY_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_constexpr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_decltype_auto::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_DECLTYPE_AUTO at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_digit_separators::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_DIGIT_SEPARATORS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_generic_lambdas::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_GENERIC_LAMBDAS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_hdr_shared_mutex::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_HDR_SHARED_MUTEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_initialized_lambda_captures::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_aggregate_nsdmi::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_AGGREGATE_NSDMI at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_return_type_deduction::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_std_exchange::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_STD_EXCHANGE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx14_variable_templates::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX14_VARIABLE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_fold_expressions::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_FOLD_EXPRESSIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_if_constexpr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_IF_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_inline_variables::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_INLINE_VARIABLES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_iterator_traits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_ITERATOR_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_std_apply::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_STD_APPLY at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_std_invoke::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_STD_INVOKE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx17_structured_bindings::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX17_STRUCTURED_BINDINGS 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;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_decltype::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_DECLTYPE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_decltype_n3276::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_DECLTYPE_N3276 at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_deduced_typename::test())
+ {
+ std::cerr << "Failed test for BOOST_DEDUCED_TYPENAME at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_defaulted_functions::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_DEFAULTED_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_deleted_functions::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_DELETED_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_dependent_nested_derivations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_DEPENDENT_NESTED_DERIVATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_dependent_types_in_template_value_parameters::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_exception_std_namespace::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_EXCEPTION_STD_NAMESPACE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_exceptions::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_EXCEPTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_explicit_function_template_arguments::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_explicit_conversion_operators::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_extern_template::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_EXTERN_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_fenv_h::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_FENV_H at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_fixed_length_variadic_template_expansion_packs::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_function_template_ordering::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_FUNCTION_TEMPLATE_ORDERING at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_function_template_default_args::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_function_type_specializations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_ms_int64_numeric_limits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_MS_INT64_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_inclass_member_initialization::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_INCLASS_MEMBER_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_integral_int64_t::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_INTEGRAL_INT64_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_iosfwd::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_IOSFWD at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_iostream::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_IOSTREAM at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_is_abstract::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_IS_ABSTRACT at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_templated_iterator_constructors::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_lambdas::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_LAMBDAS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_limits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_limits_compile_time_constants::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_long_long_numeric_limits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_LONG_LONG_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_long_long::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_LONG_LONG at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_member_function_specializations::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_member_template_keyword::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_MEMBER_TEMPLATE_KEYWORD at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_pointer_to_member_template_parameters::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_member_template_friends::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_MEMBER_TEMPLATE_FRIENDS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_member_templates::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_MEMBER_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_nested_friendship::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_NESTED_FRIENDSHIP at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_noexcept::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_NOEXCEPT at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_nullptr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_NULLPTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_operators_in_namespace::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_OPERATORS_IN_NAMESPACE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_partial_specialization_implicit_default_args::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_template_partial_specialization::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_private_in_aggregate::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_PRIVATE_IN_AGGREGATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_pointer_to_member_const::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_POINTER_TO_MEMBER_CONST at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_range_based_for::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_RANGE_BASED_FOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_raw_literals::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_RAW_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_restrict_references::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_RESTRICT_REFERENCES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_unreachable_return_detection::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_UNREACHABLE_RETURN_DETECTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_rtti::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_RTTI at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_rvalue_references::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_RVALUE_REFERENCES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_scoped_enums::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_SCOPED_ENUMS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_sfinae::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_SFINAE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_sfinae_expr::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_SFINAE_EXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_stringstream::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STRINGSTREAM at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_static_assert::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_STATIC_ASSERT at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_allocator::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_ALLOCATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_distance::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_DISTANCE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_iterator_traits::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_ITERATOR_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_iterator::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_ITERATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_locale::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_LOCALE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_messages::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_MESSAGES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_min_max::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_MIN_MAX at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_output_iterator_assign::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_typeinfo::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_TYPEINFO at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_use_facet::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_wstreambuf::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_WSTREAMBUF at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_std_wstring::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STD_WSTRING at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_stdc_namespace::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_STDC_NAMESPACE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_swprintf::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_SWPRINTF at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_local_class_template_parameters::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_template_aliases::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_TEMPLATE_ALIASES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_templated_iostreams::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TEMPLATED_IOSTREAMS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_template_templates::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TEMPLATE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_two_phase_name_lookup::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TWO_PHASE_NAME_LOOKUP at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_typeid::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TYPEID at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_typename_with_ctor::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_TYPENAME_WITH_CTOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_unicode_literals::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_UNICODE_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_unified_initialization_syntax::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_function_scope_using_declaration_breaks_adl::test())
+ {
+ std::cerr << "Failed test for BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_using_declaration_overloads_from_typename_base::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_using_template::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_USING_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_variadic_macros::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_VARIADIC_MACROS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_cxx11_variadic_templates::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_CXX11_VARIADIC_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_void_returns::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_VOID_RETURNS at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ if(0 != boost_no_intrinsic_wchar_t::test())
+ {
+ std::cerr << "Failed test for BOOST_NO_INTRINSIC_WCHAR_T at: " << __FILE__ << ":" << __LINE__ << std::endl;
+ ++error_count;
+ }
+ return error_count;
+}
+
diff --git a/src/boost/libs/config/test/config_test_c.c b/src/boost/libs/config/test/config_test_c.c
new file mode 100644
index 000000000..d660a1c3f
--- /dev/null
+++ b/src/boost/libs/config/test/config_test_c.c
@@ -0,0 +1,13 @@
+/* (C) Copyright John Maddock 2011.
+ 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)
+*/
+
+#include <boost/config.hpp>
+
+
+int main()
+{
+ return 0;
+}
diff --git a/src/boost/libs/config/test/cstdint_include_test.cpp b/src/boost/libs/config/test/cstdint_include_test.cpp
new file mode 100644
index 000000000..25d37c82d
--- /dev/null
+++ b/src/boost/libs/config/test/cstdint_include_test.cpp
@@ -0,0 +1,69 @@
+// Copyright John Maddock 2009.
+// 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)
+
+#define __STDC_CONSTANT_MACROS
+#include <boost/cstdint.hpp> // must be the only #include!
+
+int main()
+{
+ boost::int8_t i8 = INT8_C(0);
+ (void)i8;
+ boost::uint8_t ui8 = UINT8_C(0);
+ (void)ui8;
+ boost::int16_t i16 = INT16_C(0);
+ (void)i16;
+ boost::uint16_t ui16 = UINT16_C(0);
+ (void)ui16;
+ boost::int32_t i32 = INT32_C(0);
+ (void)i32;
+ boost::uint32_t ui32 = UINT32_C(0);
+ (void)ui32;
+#ifndef BOOST_NO_INT64_T
+ boost::int64_t i64 = 0;
+ (void)i64;
+ boost::uint64_t ui64 = 0;
+ (void)ui64;
+#endif
+ boost::int_least8_t i8least = INT8_C(0);
+ (void)i8least;
+ boost::uint_least8_t ui8least = UINT8_C(0);
+ (void)ui8least;
+ boost::int_least16_t i16least = INT16_C(0);
+ (void)i16least;
+ boost::uint_least16_t ui16least = UINT16_C(0);
+ (void)ui16least;
+ boost::int_least32_t i32least = INT32_C(0);
+ (void)i32least;
+ boost::uint_least32_t ui32least = UINT32_C(0);
+ (void)ui32least;
+#ifndef BOOST_NO_INT64_T
+ boost::int_least64_t i64least = 0;
+ (void)i64least;
+ boost::uint_least64_t ui64least = 0;
+ (void)ui64least;
+#endif
+ boost::int_fast8_t i8fast = INT8_C(0);
+ (void)i8fast;
+ boost::uint_fast8_t ui8fast = UINT8_C(0);
+ (void)ui8fast;
+ boost::int_fast16_t i16fast = INT16_C(0);
+ (void)i16fast;
+ boost::uint_fast16_t ui16fast = UINT16_C(0);
+ (void)ui16fast;
+ boost::int_fast32_t i32fast = INT32_C(0);
+ (void)i32fast;
+ boost::uint_fast32_t ui32fast = UINT32_C(0);
+ (void)ui32fast;
+#ifndef BOOST_NO_INT64_T
+ boost::int_fast64_t i64fast = 0;
+ (void)i64fast;
+ boost::uint_fast64_t ui64fast = 0;
+ (void)ui64fast;
+#endif
+ boost::intmax_t im = 0;
+ (void)im;
+ boost::uintmax_t uim = 0;
+ (void)uim;
+}
diff --git a/src/boost/libs/config/test/cstdint_test.cpp b/src/boost/libs/config/test/cstdint_test.cpp
new file mode 100644
index 000000000..f3cbd9bbf
--- /dev/null
+++ b/src/boost/libs/config/test/cstdint_test.cpp
@@ -0,0 +1,238 @@
+// boost cstdint.hpp test program ------------------------------------------//
+
+// Copyright Beman Dawes 2000. 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/libs/integer for documentation.
+
+// Revision History
+// 11 Sep 01 Adapted to work with macros defined in native stdint.h (John Maddock)
+// 12 Nov 00 Adapted to merged <boost/cstdint.hpp>
+// 23 Sep 00 Added INTXX_C constant macro support + int64_t support (John Maddock).
+// 28 Jun 00 Initial version
+
+//
+// There are two ways to test this: in version 1, we include cstdint.hpp as the first
+// include, which means we get decide whether __STDC_CONSTANT_MACROS is defined.
+// In version two we include stdint.h with __STDC_CONSTANT_MACROS *NOT* defined first,
+// and check that we still end up with compatible definitions for the INT#_C macros.
+//
+// This is version 1.
+//
+
+#if defined(__GNUC__) && (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4))
+// We can't suppress this warning on the command line as not all GCC versions support -Wno-type-limits :
+#pragma GCC diagnostic ignored "-Wtype-limits"
+#endif
+
+#include <boost/cstdint.hpp>
+#include <boost/detail/lightweight_test.hpp>
+#include <iostream>
+
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+//
+// the following class is designed to verify
+// that the various INTXX_C macros can be used
+// in integral constant expressions:
+//
+struct integral_constant_checker
+{
+ static const boost::int8_t int8 = INT8_C(-127);
+ static const boost::int_least8_t int_least8 = INT8_C(-127);
+ static const boost::int_fast8_t int_fast8 = INT8_C(-127);
+
+ static const boost::uint8_t uint8 = UINT8_C(255);
+ static const boost::uint_least8_t uint_least8 = UINT8_C(255);
+ static const boost::uint_fast8_t uint_fast8 = UINT8_C(255);
+
+ static const boost::int16_t int16 = INT16_C(-32767);
+ static const boost::int_least16_t int_least16 = INT16_C(-32767);
+ static const boost::int_fast16_t int_fast16 = INT16_C(-32767);
+
+ static const boost::uint16_t uint16 = UINT16_C(65535);
+ static const boost::uint_least16_t uint_least16 = UINT16_C(65535);
+ static const boost::uint_fast16_t uint_fast16 = UINT16_C(65535);
+
+ static const boost::int32_t int32 = INT32_C(-2147483647);
+ static const boost::int_least32_t int_least32 = INT32_C(-2147483647);
+ static const boost::int_fast32_t int_fast32 = INT32_C(-2147483647);
+
+ static const boost::uint32_t uint32 = UINT32_C(4294967295);
+ static const boost::uint_least32_t uint_least32 = UINT32_C(4294967295);
+ static const boost::uint_fast32_t uint_fast32 = UINT32_C(4294967295);
+
+ static void check();
+};
+
+void integral_constant_checker::check()
+{
+ BOOST_TEST( int8 == -127 );
+ BOOST_TEST( int_least8 == -127 );
+ BOOST_TEST( int_fast8 == -127 );
+ BOOST_TEST( uint8 == 255u );
+ BOOST_TEST( uint_least8 == 255u );
+ BOOST_TEST( uint_fast8 == 255u );
+ BOOST_TEST( int16 == -32767 );
+ BOOST_TEST( int_least16 == -32767 );
+ BOOST_TEST( int_fast16 == -32767 );
+ BOOST_TEST( uint16 == 65535u );
+ BOOST_TEST( uint_least16 == 65535u );
+ BOOST_TEST( uint_fast16 == 65535u );
+ BOOST_TEST( int32 == -2147483647 );
+ BOOST_TEST( int_least32 == -2147483647 );
+ BOOST_TEST( int_fast32 == -2147483647 );
+ BOOST_TEST( uint32 == 4294967295u );
+ BOOST_TEST( uint_least32 == 4294967295u );
+ BOOST_TEST( uint_fast32 == 4294967295u );
+}
+#endif // BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+
+//
+// the following function simply verifies that the type
+// of an integral constant is correctly defined:
+//
+#ifdef __BORLANDC__
+#pragma option -w-8008
+#pragma option -w-8066
+#endif
+template <class T1, class T2>
+void integral_constant_type_check(T1, T2)
+{
+ //
+ // the types T1 and T2 may not be exactly
+ // the same type, but they should be the
+ // same size and signedness. We could use
+ // numeric_limits to verify this, but
+ // numeric_limits implementations currently
+ // vary too much, or are incomplete or missing.
+ //
+ T1 t1 = static_cast<T1>(-1); // cast suppresses warnings
+ T2 t2 = static_cast<T2>(-1); // ditto
+#if defined(BOOST_HAS_STDINT_H)
+ // if we have a native stdint.h
+ // then the INTXX_C macros may define
+ // a type that's wider than required:
+ BOOST_TEST(sizeof(T1) <= sizeof(T2));
+#else
+ BOOST_TEST(sizeof(T1) == sizeof(T2));
+ BOOST_TEST(t1 == t2);
+#endif
+#if defined(BOOST_HAS_STDINT_H)
+ // native headers are permitted to promote small
+ // unsigned types to type int:
+ if(sizeof(T1) >= sizeof(int))
+ {
+ if(t1 > 0)
+ BOOST_TEST(t2 > 0);
+ else
+ BOOST_TEST(!(t2 > 0));
+ }
+ else if(t1 < 0)
+ BOOST_TEST(!(t2 > 0));
+#else
+ if(t1 > 0)
+ BOOST_TEST(t2 > 0);
+ else
+ BOOST_TEST(!(t2 > 0));
+#endif
+}
+
+
+int main(int, char*[])
+{
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+ integral_constant_checker::check();
+#endif
+ //
+ // verify the types of the integral constants:
+ //
+ integral_constant_type_check(boost::int8_t(0), INT8_C(0));
+ integral_constant_type_check(boost::uint8_t(0), UINT8_C(0));
+ integral_constant_type_check(boost::int16_t(0), INT16_C(0));
+ integral_constant_type_check(boost::uint16_t(0), UINT16_C(0));
+ integral_constant_type_check(boost::int32_t(0), INT32_C(0));
+ integral_constant_type_check(boost::uint32_t(0), UINT32_C(0));
+#ifndef BOOST_NO_INT64_T
+ integral_constant_type_check(boost::int64_t(0), INT64_C(0));
+ integral_constant_type_check(boost::uint64_t(0), UINT64_C(0));
+#endif
+ //
+ boost::int8_t int8 = INT8_C(-127);
+ boost::int_least8_t int_least8 = INT8_C(-127);
+ boost::int_fast8_t int_fast8 = INT8_C(-127);
+
+ boost::uint8_t uint8 = UINT8_C(255);
+ boost::uint_least8_t uint_least8 = UINT8_C(255);
+ boost::uint_fast8_t uint_fast8 = UINT8_C(255);
+
+ boost::int16_t int16 = INT16_C(-32767);
+ boost::int_least16_t int_least16 = INT16_C(-32767);
+ boost::int_fast16_t int_fast16 = INT16_C(-32767);
+
+ boost::uint16_t uint16 = UINT16_C(65535);
+ boost::uint_least16_t uint_least16 = UINT16_C(65535);
+ boost::uint_fast16_t uint_fast16 = UINT16_C(65535);
+
+ boost::int32_t int32 = INT32_C(-2147483647);
+ boost::int_least32_t int_least32 = INT32_C(-2147483647);
+ boost::int_fast32_t int_fast32 = INT32_C(-2147483647);
+
+ boost::uint32_t uint32 = UINT32_C(4294967295);
+ boost::uint_least32_t uint_least32 = UINT32_C(4294967295);
+ boost::uint_fast32_t uint_fast32 = UINT32_C(4294967295);
+
+#ifndef BOOST_NO_INT64_T
+ boost::int64_t int64 = INT64_C(-9223372036854775807);
+ boost::int_least64_t int_least64 = INT64_C(-9223372036854775807);
+ boost::int_fast64_t int_fast64 = INT64_C(-9223372036854775807);
+
+ boost::uint64_t uint64 = UINT64_C(18446744073709551615);
+ boost::uint_least64_t uint_least64 = UINT64_C(18446744073709551615);
+ boost::uint_fast64_t uint_fast64 = UINT64_C(18446744073709551615);
+
+ boost::intmax_t intmax = INTMAX_C(-9223372036854775807);
+ boost::uintmax_t uintmax = UINTMAX_C(18446744073709551615);
+#else
+ boost::intmax_t intmax = INTMAX_C(-2147483647);
+ boost::uintmax_t uintmax = UINTMAX_C(4294967295);
+#endif
+
+ BOOST_TEST( int8 == -127 );
+ BOOST_TEST( int_least8 == -127 );
+ BOOST_TEST( int_fast8 == -127 );
+ BOOST_TEST( uint8 == 255u );
+ BOOST_TEST( uint_least8 == 255u );
+ BOOST_TEST( uint_fast8 == 255u );
+ BOOST_TEST( int16 == -32767 );
+ BOOST_TEST( int_least16 == -32767 );
+ BOOST_TEST( int_fast16 == -32767 );
+ BOOST_TEST( uint16 == 65535u );
+ BOOST_TEST( uint_least16 == 65535u );
+ BOOST_TEST( uint_fast16 == 65535u );
+ BOOST_TEST( int32 == -2147483647 );
+ BOOST_TEST( int_least32 == -2147483647 );
+ BOOST_TEST( int_fast32 == -2147483647 );
+ BOOST_TEST( uint32 == 4294967295u );
+ BOOST_TEST( uint_least32 == 4294967295u );
+ BOOST_TEST( uint_fast32 == 4294967295u );
+
+#ifndef BOOST_NO_INT64_T
+ BOOST_TEST( int64 == INT64_C(-9223372036854775807) );
+ BOOST_TEST( int_least64 == INT64_C(-9223372036854775807) );
+ BOOST_TEST( int_fast64 == INT64_C(-9223372036854775807) );
+ BOOST_TEST( uint64 == UINT64_C(18446744073709551615) );
+ BOOST_TEST( uint_least64 == UINT64_C(18446744073709551615) );
+ BOOST_TEST( uint_fast64 == UINT64_C(18446744073709551615) );
+ BOOST_TEST( intmax == INT64_C(-9223372036854775807) );
+ BOOST_TEST( uintmax == UINT64_C(18446744073709551615) );
+#else
+ BOOST_TEST( intmax == -2147483647 );
+ BOOST_TEST( uintmax == 4294967295u );
+#endif
+
+
+ std::cout << "OK\n";
+ return boost::report_errors();
+}
diff --git a/src/boost/libs/config/test/cstdint_test2.cpp b/src/boost/libs/config/test/cstdint_test2.cpp
new file mode 100644
index 000000000..91ff28f4c
--- /dev/null
+++ b/src/boost/libs/config/test/cstdint_test2.cpp
@@ -0,0 +1,248 @@
+// boost cstdint.hpp test program ------------------------------------------//
+
+// Copyright Beman Dawes 2000. 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/libs/integer for documentation.
+
+// Revision History
+// 11 Sep 01 Adapted to work with macros defined in native stdint.h (John Maddock)
+// 12 Nov 00 Adapted to merged <boost/cstdint.hpp>
+// 23 Sep 00 Added INTXX_C constant macro support + int64_t support (John Maddock).
+// 28 Jun 00 Initial version
+
+//
+// There are two ways to test this: in version 1, we include cstdint.hpp as the first
+// include, which means we get decide whether __STDC_CONSTANT_MACROS is defined.
+// In version two we include stdint.h with __STDC_CONSTANT_MACROS *NOT* defined first,
+// and check that we still end up with compatible definitions for the INT#_C macros.
+//
+// This is version 2.
+//
+
+#if defined(__GNUC__) && (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4))
+// We can't suppress this warning on the command line as not all GCC versions support -Wno-type-limits :
+#pragma GCC diagnostic ignored "-Wtype-limits"
+#endif
+
+#include <boost/config.hpp>
+
+#ifdef BOOST_HAS_STDINT_H
+#ifdef __hpux
+# include <inttypes.h>
+#else
+# include <stdint.h>
+#endif
+#endif
+
+#include <boost/cstdint.hpp>
+#include <boost/detail/lightweight_test.hpp>
+#include <iostream>
+
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+//
+// the following class is designed to verify
+// that the various INTXX_C macros can be used
+// in integral constant expressions:
+//
+struct integral_constant_checker
+{
+ static const boost::int8_t int8 = INT8_C(-127);
+ static const boost::int_least8_t int_least8 = INT8_C(-127);
+ static const boost::int_fast8_t int_fast8 = INT8_C(-127);
+
+ static const boost::uint8_t uint8 = UINT8_C(255);
+ static const boost::uint_least8_t uint_least8 = UINT8_C(255);
+ static const boost::uint_fast8_t uint_fast8 = UINT8_C(255);
+
+ static const boost::int16_t int16 = INT16_C(-32767);
+ static const boost::int_least16_t int_least16 = INT16_C(-32767);
+ static const boost::int_fast16_t int_fast16 = INT16_C(-32767);
+
+ static const boost::uint16_t uint16 = UINT16_C(65535);
+ static const boost::uint_least16_t uint_least16 = UINT16_C(65535);
+ static const boost::uint_fast16_t uint_fast16 = UINT16_C(65535);
+
+ static const boost::int32_t int32 = INT32_C(-2147483647);
+ static const boost::int_least32_t int_least32 = INT32_C(-2147483647);
+ static const boost::int_fast32_t int_fast32 = INT32_C(-2147483647);
+
+ static const boost::uint32_t uint32 = UINT32_C(4294967295);
+ static const boost::uint_least32_t uint_least32 = UINT32_C(4294967295);
+ static const boost::uint_fast32_t uint_fast32 = UINT32_C(4294967295);
+
+ static void check();
+};
+
+void integral_constant_checker::check()
+{
+ BOOST_TEST( int8 == -127 );
+ BOOST_TEST( int_least8 == -127 );
+ BOOST_TEST( int_fast8 == -127 );
+ BOOST_TEST( uint8 == 255u );
+ BOOST_TEST( uint_least8 == 255u );
+ BOOST_TEST( uint_fast8 == 255u );
+ BOOST_TEST( int16 == -32767 );
+ BOOST_TEST( int_least16 == -32767 );
+ BOOST_TEST( int_fast16 == -32767 );
+ BOOST_TEST( uint16 == 65535u );
+ BOOST_TEST( uint_least16 == 65535u );
+ BOOST_TEST( uint_fast16 == 65535u );
+ BOOST_TEST( int32 == -2147483647 );
+ BOOST_TEST( int_least32 == -2147483647 );
+ BOOST_TEST( int_fast32 == -2147483647 );
+ BOOST_TEST( uint32 == 4294967295u );
+ BOOST_TEST( uint_least32 == 4294967295u );
+ BOOST_TEST( uint_fast32 == 4294967295u );
+}
+#endif // BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+
+//
+// the following function simply verifies that the type
+// of an integral constant is correctly defined:
+//
+#ifdef __BORLANDC__
+#pragma option -w-8008
+#pragma option -w-8066
+#endif
+template <class T1, class T2>
+void integral_constant_type_check(T1, T2)
+{
+ //
+ // the types T1 and T2 may not be exactly
+ // the same type, but they should be the
+ // same size and signedness. We could use
+ // numeric_limits to verify this, but
+ // numeric_limits implementations currently
+ // vary too much, or are incomplete or missing.
+ //
+ T1 t1 = static_cast<T1>(-1); // cast suppresses warnings
+ T2 t2 = static_cast<T2>(-1); // ditto
+#if defined(BOOST_HAS_STDINT_H)
+ // if we have a native stdint.h
+ // then the INTXX_C macros may define
+ // a type that's wider than required:
+ BOOST_TEST(sizeof(T1) <= sizeof(T2));
+#else
+ BOOST_TEST(sizeof(T1) == sizeof(T2));
+ BOOST_TEST(t1 == t2);
+#endif
+#if defined(BOOST_HAS_STDINT_H)
+ // native headers are permitted to promote small
+ // unsigned types to type int:
+ if(sizeof(T1) >= sizeof(int))
+ {
+ if(t1 > 0)
+ BOOST_TEST(t2 > 0);
+ else
+ BOOST_TEST(!(t2 > 0));
+ }
+ else if(t1 < 0)
+ BOOST_TEST(!(t2 > 0));
+#else
+ if(t1 > 0)
+ BOOST_TEST(t2 > 0);
+ else
+ BOOST_TEST(!(t2 > 0));
+#endif
+}
+
+
+int main(int, char*[])
+{
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+ integral_constant_checker::check();
+#endif
+ //
+ // verify the types of the integral constants:
+ //
+ integral_constant_type_check(boost::int8_t(0), INT8_C(0));
+ integral_constant_type_check(boost::uint8_t(0), UINT8_C(0));
+ integral_constant_type_check(boost::int16_t(0), INT16_C(0));
+ integral_constant_type_check(boost::uint16_t(0), UINT16_C(0));
+ integral_constant_type_check(boost::int32_t(0), INT32_C(0));
+ integral_constant_type_check(boost::uint32_t(0), UINT32_C(0));
+#ifndef BOOST_NO_INT64_T
+ integral_constant_type_check(boost::int64_t(0), INT64_C(0));
+ integral_constant_type_check(boost::uint64_t(0), UINT64_C(0));
+#endif
+ //
+ boost::int8_t int8 = INT8_C(-127);
+ boost::int_least8_t int_least8 = INT8_C(-127);
+ boost::int_fast8_t int_fast8 = INT8_C(-127);
+
+ boost::uint8_t uint8 = UINT8_C(255);
+ boost::uint_least8_t uint_least8 = UINT8_C(255);
+ boost::uint_fast8_t uint_fast8 = UINT8_C(255);
+
+ boost::int16_t int16 = INT16_C(-32767);
+ boost::int_least16_t int_least16 = INT16_C(-32767);
+ boost::int_fast16_t int_fast16 = INT16_C(-32767);
+
+ boost::uint16_t uint16 = UINT16_C(65535);
+ boost::uint_least16_t uint_least16 = UINT16_C(65535);
+ boost::uint_fast16_t uint_fast16 = UINT16_C(65535);
+
+ boost::int32_t int32 = INT32_C(-2147483647);
+ boost::int_least32_t int_least32 = INT32_C(-2147483647);
+ boost::int_fast32_t int_fast32 = INT32_C(-2147483647);
+
+ boost::uint32_t uint32 = UINT32_C(4294967295);
+ boost::uint_least32_t uint_least32 = UINT32_C(4294967295);
+ boost::uint_fast32_t uint_fast32 = UINT32_C(4294967295);
+
+#ifndef BOOST_NO_INT64_T
+ boost::int64_t int64 = INT64_C(-9223372036854775807);
+ boost::int_least64_t int_least64 = INT64_C(-9223372036854775807);
+ boost::int_fast64_t int_fast64 = INT64_C(-9223372036854775807);
+
+ boost::uint64_t uint64 = UINT64_C(18446744073709551615);
+ boost::uint_least64_t uint_least64 = UINT64_C(18446744073709551615);
+ boost::uint_fast64_t uint_fast64 = UINT64_C(18446744073709551615);
+
+ boost::intmax_t intmax = INTMAX_C(-9223372036854775807);
+ boost::uintmax_t uintmax = UINTMAX_C(18446744073709551615);
+#else
+ boost::intmax_t intmax = INTMAX_C(-2147483647);
+ boost::uintmax_t uintmax = UINTMAX_C(4294967295);
+#endif
+
+ BOOST_TEST( int8 == -127 );
+ BOOST_TEST( int_least8 == -127 );
+ BOOST_TEST( int_fast8 == -127 );
+ BOOST_TEST( uint8 == 255u );
+ BOOST_TEST( uint_least8 == 255u );
+ BOOST_TEST( uint_fast8 == 255u );
+ BOOST_TEST( int16 == -32767 );
+ BOOST_TEST( int_least16 == -32767 );
+ BOOST_TEST( int_fast16 == -32767 );
+ BOOST_TEST( uint16 == 65535u );
+ BOOST_TEST( uint_least16 == 65535u );
+ BOOST_TEST( uint_fast16 == 65535u );
+ BOOST_TEST( int32 == -2147483647 );
+ BOOST_TEST( int_least32 == -2147483647 );
+ BOOST_TEST( int_fast32 == -2147483647 );
+ BOOST_TEST( uint32 == 4294967295u );
+ BOOST_TEST( uint_least32 == 4294967295u );
+ BOOST_TEST( uint_fast32 == 4294967295u );
+
+#ifndef BOOST_NO_INT64_T
+ BOOST_TEST( int64 == INT64_C(-9223372036854775807) );
+ BOOST_TEST( int_least64 == INT64_C(-9223372036854775807) );
+ BOOST_TEST( int_fast64 == INT64_C(-9223372036854775807) );
+ BOOST_TEST( uint64 == UINT64_C(18446744073709551615) );
+ BOOST_TEST( uint_least64 == UINT64_C(18446744073709551615) );
+ BOOST_TEST( uint_fast64 == UINT64_C(18446744073709551615) );
+ BOOST_TEST( intmax == INT64_C(-9223372036854775807) );
+ BOOST_TEST( uintmax == UINT64_C(18446744073709551615) );
+#else
+ BOOST_TEST( intmax == -2147483647 );
+ BOOST_TEST( uintmax == 4294967295u );
+#endif
+
+
+ std::cout << "OK\n";
+ return boost::report_errors();
+}
diff --git a/src/boost/libs/config/test/has_2arg_use_facet_fail.cpp b/src/boost/libs/config/test/has_2arg_use_facet_fail.cpp
new file mode 100644
index 000000000..1d0999dcb
--- /dev/null
+++ b/src/boost/libs/config/test/has_2arg_use_facet_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_TWO_ARG_USE_FACET
+// This file should not compile, if it does then
+// BOOST_HAS_TWO_ARG_USE_FACET should be defined.
+// See file boost_has_2arg_use_facet.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_TWO_ARG_USE_FACET
+#include "boost_has_2arg_use_facet.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_two_arg_use_facet::test();
+}
+
diff --git a/src/boost/libs/config/test/has_2arg_use_facet_pass.cpp b/src/boost/libs/config/test/has_2arg_use_facet_pass.cpp
new file mode 100644
index 000000000..dbfda303b
--- /dev/null
+++ b/src/boost/libs/config/test/has_2arg_use_facet_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_TWO_ARG_USE_FACET
+// This file should compile, if it does not then
+// BOOST_HAS_TWO_ARG_USE_FACET should not be defined.
+// See file boost_has_2arg_use_facet.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_TWO_ARG_USE_FACET
+#include "boost_has_2arg_use_facet.ipp"
+#else
+namespace boost_has_two_arg_use_facet = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_two_arg_use_facet::test();
+}
+
diff --git a/src/boost/libs/config/test/has_bethreads_fail.cpp b/src/boost/libs/config/test/has_bethreads_fail.cpp
new file mode 100644
index 000000000..8606f3dc1
--- /dev/null
+++ b/src/boost/libs/config/test/has_bethreads_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_BETHREADS
+// This file should not compile, if it does then
+// BOOST_HAS_BETHREADS should be defined.
+// See file boost_has_bethreads.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_BETHREADS
+#include "boost_has_bethreads.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_bethreads::test();
+}
+
diff --git a/src/boost/libs/config/test/has_bethreads_pass.cpp b/src/boost/libs/config/test/has_bethreads_pass.cpp
new file mode 100644
index 000000000..5f4bbdbec
--- /dev/null
+++ b/src/boost/libs/config/test/has_bethreads_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_BETHREADS
+// This file should compile, if it does not then
+// BOOST_HAS_BETHREADS should not be defined.
+// See file boost_has_bethreads.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_BETHREADS
+#include "boost_has_bethreads.ipp"
+#else
+namespace boost_has_bethreads = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_bethreads::test();
+}
+
diff --git a/src/boost/libs/config/test/has_clock_gettime_fail.cpp b/src/boost/libs/config/test/has_clock_gettime_fail.cpp
new file mode 100644
index 000000000..4cf5dfe01
--- /dev/null
+++ b/src/boost/libs/config/test/has_clock_gettime_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_CLOCK_GETTIME
+// This file should not compile, if it does then
+// BOOST_HAS_CLOCK_GETTIME should be defined.
+// See file boost_has_clock_gettime.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_CLOCK_GETTIME
+#include "boost_has_clock_gettime.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_clock_gettime::test();
+}
+
diff --git a/src/boost/libs/config/test/has_clock_gettime_pass.cpp b/src/boost/libs/config/test/has_clock_gettime_pass.cpp
new file mode 100644
index 000000000..16e57b4ac
--- /dev/null
+++ b/src/boost/libs/config/test/has_clock_gettime_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_CLOCK_GETTIME
+// This file should compile, if it does not then
+// BOOST_HAS_CLOCK_GETTIME should not be defined.
+// See file boost_has_clock_gettime.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_CLOCK_GETTIME
+#include "boost_has_clock_gettime.ipp"
+#else
+namespace boost_has_clock_gettime = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_clock_gettime::test();
+}
+
diff --git a/src/boost/libs/config/test/has_detect_mismatch_fail.cpp b/src/boost/libs/config/test/has_detect_mismatch_fail.cpp
new file mode 100644
index 000000000..5a544b134
--- /dev/null
+++ b/src/boost/libs/config/test/has_detect_mismatch_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed Apr 18 20:03:40 2018
+// 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_HAS_PRAGMA_DETECT_MISMATCH
+// This file should not compile, if it does then
+// BOOST_HAS_PRAGMA_DETECT_MISMATCH should be defined.
+// See file boost_has_detect_mismatch.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_PRAGMA_DETECT_MISMATCH
+#include "boost_has_detect_mismatch.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_pragma_detect_mismatch::test();
+}
+
diff --git a/src/boost/libs/config/test/has_detect_mismatch_pass.cpp b/src/boost/libs/config/test/has_detect_mismatch_pass.cpp
new file mode 100644
index 000000000..ea47fb888
--- /dev/null
+++ b/src/boost/libs/config/test/has_detect_mismatch_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed Apr 18 20:03:40 2018
+// 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_HAS_PRAGMA_DETECT_MISMATCH
+// This file should compile, if it does not then
+// BOOST_HAS_PRAGMA_DETECT_MISMATCH should not be defined.
+// See file boost_has_detect_mismatch.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH
+#include "boost_has_detect_mismatch.ipp"
+#else
+namespace boost_has_pragma_detect_mismatch = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_pragma_detect_mismatch::test();
+}
+
diff --git a/src/boost/libs/config/test/has_dirent_h_fail.cpp b/src/boost/libs/config/test/has_dirent_h_fail.cpp
new file mode 100644
index 000000000..4304df30f
--- /dev/null
+++ b/src/boost/libs/config/test/has_dirent_h_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_DIRENT_H
+// This file should not compile, if it does then
+// BOOST_HAS_DIRENT_H should be defined.
+// See file boost_has_dirent_h.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_DIRENT_H
+#include "boost_has_dirent_h.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_dirent_h::test();
+}
+
diff --git a/src/boost/libs/config/test/has_dirent_h_pass.cpp b/src/boost/libs/config/test/has_dirent_h_pass.cpp
new file mode 100644
index 000000000..184152b67
--- /dev/null
+++ b/src/boost/libs/config/test/has_dirent_h_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_DIRENT_H
+// This file should compile, if it does not then
+// BOOST_HAS_DIRENT_H should not be defined.
+// See file boost_has_dirent_h.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_DIRENT_H
+#include "boost_has_dirent_h.ipp"
+#else
+namespace boost_has_dirent_h = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_dirent_h::test();
+}
+
diff --git a/src/boost/libs/config/test/has_expm1_fail.cpp b/src/boost/libs/config/test/has_expm1_fail.cpp
new file mode 100644
index 000000000..2ccd2868e
--- /dev/null
+++ b/src/boost/libs/config/test/has_expm1_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Oct 14 18:38:49 2005
+// 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.
+
+// Test file for macro BOOST_HAS_EXPM1
+// This file should not compile, if it does then
+// BOOST_HAS_EXPM1 should be defined.
+// See file boost_has_expm1.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_EXPM1
+#include "boost_has_expm1.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_expm1::test();
+}
+
diff --git a/src/boost/libs/config/test/has_expm1_pass.cpp b/src/boost/libs/config/test/has_expm1_pass.cpp
new file mode 100644
index 000000000..9f9af2f85
--- /dev/null
+++ b/src/boost/libs/config/test/has_expm1_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Oct 14 18:38:49 2005
+// 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.
+
+// Test file for macro BOOST_HAS_EXPM1
+// This file should compile, if it does not then
+// BOOST_HAS_EXPM1 should not be defined.
+// See file boost_has_expm1.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_EXPM1
+#include "boost_has_expm1.ipp"
+#else
+namespace boost_has_expm1 = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_expm1::test();
+}
+
diff --git a/src/boost/libs/config/test/has_float128_fail.cpp b/src/boost/libs/config/test/has_float128_fail.cpp
new file mode 100644
index 000000000..cbb42b210
--- /dev/null
+++ b/src/boost/libs/config/test/has_float128_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Aug 13 16:29:35 2015
+// 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_HAS_FLOAT128
+// This file should not compile, if it does then
+// BOOST_HAS_FLOAT128 should be defined.
+// See file boost_has_float128.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_FLOAT128
+#include "boost_has_float128.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_float128::test();
+}
+
diff --git a/src/boost/libs/config/test/has_float128_pass.cpp b/src/boost/libs/config/test/has_float128_pass.cpp
new file mode 100644
index 000000000..fb0a56833
--- /dev/null
+++ b/src/boost/libs/config/test/has_float128_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Aug 13 16:29:35 2015
+// 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_HAS_FLOAT128
+// This file should compile, if it does not then
+// BOOST_HAS_FLOAT128 should not be defined.
+// See file boost_has_float128.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_FLOAT128
+#include "boost_has_float128.ipp"
+#else
+namespace boost_has_float128 = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_float128::test();
+}
+
diff --git a/src/boost/libs/config/test/has_ftime_fail.cpp b/src/boost/libs/config/test/has_ftime_fail.cpp
new file mode 100644
index 000000000..ecbfde361
--- /dev/null
+++ b/src/boost/libs/config/test/has_ftime_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_FTIME
+// This file should not compile, if it does then
+// BOOST_HAS_FTIME should be defined.
+// See file boost_has_ftime.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_FTIME
+#include "boost_has_ftime.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_ftime::test();
+}
+
diff --git a/src/boost/libs/config/test/has_ftime_pass.cpp b/src/boost/libs/config/test/has_ftime_pass.cpp
new file mode 100644
index 000000000..6dc150f2b
--- /dev/null
+++ b/src/boost/libs/config/test/has_ftime_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_FTIME
+// This file should compile, if it does not then
+// BOOST_HAS_FTIME should not be defined.
+// See file boost_has_ftime.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_FTIME
+#include "boost_has_ftime.ipp"
+#else
+namespace boost_has_ftime = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_ftime::test();
+}
+
diff --git a/src/boost/libs/config/test/has_getsystemtimeasfiletime_fail.cpp b/src/boost/libs/config/test/has_getsystemtimeasfiletime_fail.cpp
new file mode 100644
index 000000000..154149385
--- /dev/null
+++ b/src/boost/libs/config/test/has_getsystemtimeasfiletime_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed Jul 13 18:50:13 2011
+// 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: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
+//
+
+
+// Test file for macro BOOST_HAS_GETSYSTEMTIMEASFILETIME
+// This file should not compile, if it does then
+// BOOST_HAS_GETSYSTEMTIMEASFILETIME should be defined.
+// See file boost_has_getsystemtimeasfiletime.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_GETSYSTEMTIMEASFILETIME
+#include "boost_has_getsystemtimeasfiletime.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_getsystemtimeasfiletime::test();
+}
+
diff --git a/src/boost/libs/config/test/has_getsystemtimeasfiletime_pass.cpp b/src/boost/libs/config/test/has_getsystemtimeasfiletime_pass.cpp
new file mode 100644
index 000000000..e8ea83bbe
--- /dev/null
+++ b/src/boost/libs/config/test/has_getsystemtimeasfiletime_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed Jul 13 18:50:13 2011
+// 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: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
+//
+
+
+// Test file for macro BOOST_HAS_GETSYSTEMTIMEASFILETIME
+// This file should compile, if it does not then
+// BOOST_HAS_GETSYSTEMTIMEASFILETIME should not be defined.
+// See file boost_has_getsystemtimeasfiletime.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_GETSYSTEMTIMEASFILETIME
+#include "boost_has_getsystemtimeasfiletime.ipp"
+#else
+namespace boost_has_getsystemtimeasfiletime = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_getsystemtimeasfiletime::test();
+}
+
diff --git a/src/boost/libs/config/test/has_gettimeofday_fail.cpp b/src/boost/libs/config/test/has_gettimeofday_fail.cpp
new file mode 100644
index 000000000..4f59b562c
--- /dev/null
+++ b/src/boost/libs/config/test/has_gettimeofday_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_GETTIMEOFDAY
+// This file should not compile, if it does then
+// BOOST_HAS_GETTIMEOFDAY should be defined.
+// See file boost_has_gettimeofday.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_GETTIMEOFDAY
+#include "boost_has_gettimeofday.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_gettimeofday::test();
+}
+
diff --git a/src/boost/libs/config/test/has_gettimeofday_pass.cpp b/src/boost/libs/config/test/has_gettimeofday_pass.cpp
new file mode 100644
index 000000000..033a88fe3
--- /dev/null
+++ b/src/boost/libs/config/test/has_gettimeofday_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_GETTIMEOFDAY
+// This file should compile, if it does not then
+// BOOST_HAS_GETTIMEOFDAY should not be defined.
+// See file boost_has_gettimeofday.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_GETTIMEOFDAY
+#include "boost_has_gettimeofday.ipp"
+#else
+namespace boost_has_gettimeofday = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_gettimeofday::test();
+}
+
diff --git a/src/boost/libs/config/test/has_hash_fail.cpp b/src/boost/libs/config/test/has_hash_fail.cpp
new file mode 100644
index 000000000..6b3ac3a60
--- /dev/null
+++ b/src/boost/libs/config/test/has_hash_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_HASH
+// This file should not compile, if it does then
+// BOOST_HAS_HASH should be defined.
+// See file boost_has_hash.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_HASH
+#include "boost_has_hash.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_hash::test();
+}
+
diff --git a/src/boost/libs/config/test/has_hash_pass.cpp b/src/boost/libs/config/test/has_hash_pass.cpp
new file mode 100644
index 000000000..3f3dd82f5
--- /dev/null
+++ b/src/boost/libs/config/test/has_hash_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:03:59 2004
+// 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.
+
+// Test file for macro BOOST_HAS_HASH
+// This file should compile, if it does not then
+// BOOST_HAS_HASH should not be defined.
+// See file boost_has_hash.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_HASH
+#include "boost_has_hash.ipp"
+#else
+namespace boost_has_hash = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_hash::test();
+}
+
diff --git a/src/boost/libs/config/test/has_int128_fail.cpp b/src/boost/libs/config/test/has_int128_fail.cpp
new file mode 100644
index 000000000..a22755710
--- /dev/null
+++ b/src/boost/libs/config/test/has_int128_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Oct 25 10:14:36 2012
+// 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_HAS_INT128
+// This file should not compile, if it does then
+// BOOST_HAS_INT128 should be defined.
+// See file boost_has_int128.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_INT128
+#include "boost_has_int128.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_int128::test();
+}
+
diff --git a/src/boost/libs/config/test/has_int128_pass.cpp b/src/boost/libs/config/test/has_int128_pass.cpp
new file mode 100644
index 000000000..9c5939013
--- /dev/null
+++ b/src/boost/libs/config/test/has_int128_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Oct 25 10:14:36 2012
+// 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_HAS_INT128
+// This file should compile, if it does not then
+// BOOST_HAS_INT128 should not be defined.
+// See file boost_has_int128.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_INT128
+#include "boost_has_int128.ipp"
+#else
+namespace boost_has_int128 = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_int128::test();
+}
+
diff --git a/src/boost/libs/config/test/has_log1p_fail.cpp b/src/boost/libs/config/test/has_log1p_fail.cpp
new file mode 100644
index 000000000..a2de7cbe4
--- /dev/null
+++ b/src/boost/libs/config/test/has_log1p_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Apr 02 11:49:11 2005
+// 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.
+
+// Test file for macro BOOST_HAS_LOG1P
+// This file should not compile, if it does then
+// BOOST_HAS_LOG1P should be defined.
+// See file boost_has_log1p.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_LOG1P
+#include "boost_has_log1p.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_log1p::test();
+}
+
diff --git a/src/boost/libs/config/test/has_log1p_pass.cpp b/src/boost/libs/config/test/has_log1p_pass.cpp
new file mode 100644
index 000000000..bf44febfe
--- /dev/null
+++ b/src/boost/libs/config/test/has_log1p_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Apr 02 11:49:11 2005
+// 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.
+
+// Test file for macro BOOST_HAS_LOG1P
+// This file should compile, if it does not then
+// BOOST_HAS_LOG1P should not be defined.
+// See file boost_has_log1p.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_LOG1P
+#include "boost_has_log1p.ipp"
+#else
+namespace boost_has_log1p = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_log1p::test();
+}
+
diff --git a/src/boost/libs/config/test/has_long_long_fail.cpp b/src/boost/libs/config/test/has_long_long_fail.cpp
new file mode 100644
index 000000000..84632676d
--- /dev/null
+++ b/src/boost/libs/config/test/has_long_long_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_LONG_LONG
+// This file should not compile, if it does then
+// BOOST_HAS_LONG_LONG should be defined.
+// See file boost_has_long_long.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_LONG_LONG
+#include "boost_has_long_long.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_long_long::test();
+}
+
diff --git a/src/boost/libs/config/test/has_long_long_pass.cpp b/src/boost/libs/config/test/has_long_long_pass.cpp
new file mode 100644
index 000000000..6042e6677
--- /dev/null
+++ b/src/boost/libs/config/test/has_long_long_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_LONG_LONG
+// This file should compile, if it does not then
+// BOOST_HAS_LONG_LONG should not be defined.
+// See file boost_has_long_long.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_LONG_LONG
+#include "boost_has_long_long.ipp"
+#else
+namespace boost_has_long_long = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_long_long::test();
+}
+
diff --git a/src/boost/libs/config/test/has_macro_use_facet_fail.cpp b/src/boost/libs/config/test/has_macro_use_facet_fail.cpp
new file mode 100644
index 000000000..8da11830a
--- /dev/null
+++ b/src/boost/libs/config/test/has_macro_use_facet_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_MACRO_USE_FACET
+// This file should not compile, if it does then
+// BOOST_HAS_MACRO_USE_FACET should be defined.
+// See file boost_has_macro_use_facet.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_MACRO_USE_FACET
+#include "boost_has_macro_use_facet.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_macro_use_facet::test();
+}
+
diff --git a/src/boost/libs/config/test/has_macro_use_facet_pass.cpp b/src/boost/libs/config/test/has_macro_use_facet_pass.cpp
new file mode 100644
index 000000000..041d026ab
--- /dev/null
+++ b/src/boost/libs/config/test/has_macro_use_facet_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_MACRO_USE_FACET
+// This file should compile, if it does not then
+// BOOST_HAS_MACRO_USE_FACET should not be defined.
+// See file boost_has_macro_use_facet.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_MACRO_USE_FACET
+#include "boost_has_macro_use_facet.ipp"
+#else
+namespace boost_has_macro_use_facet = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_macro_use_facet::test();
+}
+
diff --git a/src/boost/libs/config/test/has_ms_int64_fail.cpp b/src/boost/libs/config/test/has_ms_int64_fail.cpp
new file mode 100644
index 000000000..6171feda5
--- /dev/null
+++ b/src/boost/libs/config/test/has_ms_int64_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_MS_INT64
+// This file should not compile, if it does then
+// BOOST_HAS_MS_INT64 should be defined.
+// See file boost_has_ms_int64.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_MS_INT64
+#include "boost_has_ms_int64.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_ms_int64::test();
+}
+
diff --git a/src/boost/libs/config/test/has_ms_int64_pass.cpp b/src/boost/libs/config/test/has_ms_int64_pass.cpp
new file mode 100644
index 000000000..94038d994
--- /dev/null
+++ b/src/boost/libs/config/test/has_ms_int64_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_MS_INT64
+// This file should compile, if it does not then
+// BOOST_HAS_MS_INT64 should not be defined.
+// See file boost_has_ms_int64.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_MS_INT64
+#include "boost_has_ms_int64.ipp"
+#else
+namespace boost_has_ms_int64 = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_ms_int64::test();
+}
+
diff --git a/src/boost/libs/config/test/has_nanosleep_fail.cpp b/src/boost/libs/config/test/has_nanosleep_fail.cpp
new file mode 100644
index 000000000..cb7eba90a
--- /dev/null
+++ b/src/boost/libs/config/test/has_nanosleep_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_NANOSLEEP
+// This file should not compile, if it does then
+// BOOST_HAS_NANOSLEEP should be defined.
+// See file boost_has_nanosleep.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_NANOSLEEP
+#include "boost_has_nanosleep.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_nanosleep::test();
+}
+
diff --git a/src/boost/libs/config/test/has_nanosleep_pass.cpp b/src/boost/libs/config/test/has_nanosleep_pass.cpp
new file mode 100644
index 000000000..3aeac63cc
--- /dev/null
+++ b/src/boost/libs/config/test/has_nanosleep_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_NANOSLEEP
+// This file should compile, if it does not then
+// BOOST_HAS_NANOSLEEP should not be defined.
+// See file boost_has_nanosleep.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_NANOSLEEP
+#include "boost_has_nanosleep.ipp"
+#else
+namespace boost_has_nanosleep = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_nanosleep::test();
+}
+
diff --git a/src/boost/libs/config/test/has_nl_types_h_fail.cpp b/src/boost/libs/config/test/has_nl_types_h_fail.cpp
new file mode 100644
index 000000000..ffd76cf32
--- /dev/null
+++ b/src/boost/libs/config/test/has_nl_types_h_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_NL_TYPES_H
+// This file should not compile, if it does then
+// BOOST_HAS_NL_TYPES_H should be defined.
+// See file boost_has_nl_types_h.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_NL_TYPES_H
+#include "boost_has_nl_types_h.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_nl_types_h::test();
+}
+
diff --git a/src/boost/libs/config/test/has_nl_types_h_pass.cpp b/src/boost/libs/config/test/has_nl_types_h_pass.cpp
new file mode 100644
index 000000000..631031491
--- /dev/null
+++ b/src/boost/libs/config/test/has_nl_types_h_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_NL_TYPES_H
+// This file should compile, if it does not then
+// BOOST_HAS_NL_TYPES_H should not be defined.
+// See file boost_has_nl_types_h.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_NL_TYPES_H
+#include "boost_has_nl_types_h.ipp"
+#else
+namespace boost_has_nl_types_h = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_nl_types_h::test();
+}
+
diff --git a/src/boost/libs/config/test/has_nrvo_fail.cpp b/src/boost/libs/config/test/has_nrvo_fail.cpp
new file mode 100644
index 000000000..c05f17cee
--- /dev/null
+++ b/src/boost/libs/config/test/has_nrvo_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_NRVO
+// This file should not compile, if it does then
+// BOOST_HAS_NRVO should be defined.
+// See file boost_has_nrvo.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_NRVO
+#include "boost_has_nrvo.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_nrvo::test();
+}
+
diff --git a/src/boost/libs/config/test/has_nrvo_pass.cpp b/src/boost/libs/config/test/has_nrvo_pass.cpp
new file mode 100644
index 000000000..e216186a7
--- /dev/null
+++ b/src/boost/libs/config/test/has_nrvo_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_NRVO
+// This file should compile, if it does not then
+// BOOST_HAS_NRVO should not be defined.
+// See file boost_has_nrvo.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_NRVO
+#include "boost_has_nrvo.ipp"
+#else
+namespace boost_has_nrvo = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_nrvo::test();
+}
+
diff --git a/src/boost/libs/config/test/has_part_alloc_fail.cpp b/src/boost/libs/config/test/has_part_alloc_fail.cpp
new file mode 100644
index 000000000..33c54247e
--- /dev/null
+++ b/src/boost/libs/config/test/has_part_alloc_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_PARTIAL_STD_ALLOCATOR
+// This file should not compile, if it does then
+// BOOST_HAS_PARTIAL_STD_ALLOCATOR should be defined.
+// See file boost_has_part_alloc.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_PARTIAL_STD_ALLOCATOR
+#include "boost_has_part_alloc.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_partial_std_allocator::test();
+}
+
diff --git a/src/boost/libs/config/test/has_part_alloc_pass.cpp b/src/boost/libs/config/test/has_part_alloc_pass.cpp
new file mode 100644
index 000000000..c885e20b7
--- /dev/null
+++ b/src/boost/libs/config/test/has_part_alloc_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_PARTIAL_STD_ALLOCATOR
+// This file should compile, if it does not then
+// BOOST_HAS_PARTIAL_STD_ALLOCATOR should not be defined.
+// See file boost_has_part_alloc.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_PARTIAL_STD_ALLOCATOR
+#include "boost_has_part_alloc.ipp"
+#else
+namespace boost_has_partial_std_allocator = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_partial_std_allocator::test();
+}
+
diff --git a/src/boost/libs/config/test/has_pthread_delay_np_fail.cpp b/src/boost/libs/config/test/has_pthread_delay_np_fail.cpp
new file mode 100644
index 000000000..9f21869ac
--- /dev/null
+++ b/src/boost/libs/config/test/has_pthread_delay_np_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_PTHREAD_DELAY_NP
+// This file should not compile, if it does then
+// BOOST_HAS_PTHREAD_DELAY_NP should be defined.
+// See file boost_has_pthread_delay_np.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_PTHREAD_DELAY_NP
+#include "boost_has_pthread_delay_np.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_pthread_delay_np::test();
+}
+
diff --git a/src/boost/libs/config/test/has_pthread_delay_np_pass.cpp b/src/boost/libs/config/test/has_pthread_delay_np_pass.cpp
new file mode 100644
index 000000000..6f78617a4
--- /dev/null
+++ b/src/boost/libs/config/test/has_pthread_delay_np_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_PTHREAD_DELAY_NP
+// This file should compile, if it does not then
+// BOOST_HAS_PTHREAD_DELAY_NP should not be defined.
+// See file boost_has_pthread_delay_np.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_PTHREAD_DELAY_NP
+#include "boost_has_pthread_delay_np.ipp"
+#else
+namespace boost_has_pthread_delay_np = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_pthread_delay_np::test();
+}
+
diff --git a/src/boost/libs/config/test/has_pthread_ma_st_fail.cpp b/src/boost/libs/config/test/has_pthread_ma_st_fail.cpp
new file mode 100644
index 000000000..a3bbab8e0
--- /dev/null
+++ b/src/boost/libs/config/test/has_pthread_ma_st_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+// This file should not compile, if it does then
+// BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE should be defined.
+// See file boost_has_pthread_ma_st.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#include "boost_has_pthread_ma_st.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_pthread_mutexattr_settype::test();
+}
+
diff --git a/src/boost/libs/config/test/has_pthread_ma_st_pass.cpp b/src/boost/libs/config/test/has_pthread_ma_st_pass.cpp
new file mode 100644
index 000000000..a0cb1a091
--- /dev/null
+++ b/src/boost/libs/config/test/has_pthread_ma_st_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+// This file should compile, if it does not then
+// BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE should not be defined.
+// See file boost_has_pthread_ma_st.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+#include "boost_has_pthread_ma_st.ipp"
+#else
+namespace boost_has_pthread_mutexattr_settype = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_pthread_mutexattr_settype::test();
+}
+
diff --git a/src/boost/libs/config/test/has_pthread_yield_fail.cpp b/src/boost/libs/config/test/has_pthread_yield_fail.cpp
new file mode 100644
index 000000000..eb4228b25
--- /dev/null
+++ b/src/boost/libs/config/test/has_pthread_yield_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_PTHREAD_YIELD
+// This file should not compile, if it does then
+// BOOST_HAS_PTHREAD_YIELD should be defined.
+// See file boost_has_pthread_yield.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_PTHREAD_YIELD
+#include "boost_has_pthread_yield.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_pthread_yield::test();
+}
+
diff --git a/src/boost/libs/config/test/has_pthread_yield_pass.cpp b/src/boost/libs/config/test/has_pthread_yield_pass.cpp
new file mode 100644
index 000000000..4af209a09
--- /dev/null
+++ b/src/boost/libs/config/test/has_pthread_yield_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_PTHREAD_YIELD
+// This file should compile, if it does not then
+// BOOST_HAS_PTHREAD_YIELD should not be defined.
+// See file boost_has_pthread_yield.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_PTHREAD_YIELD
+#include "boost_has_pthread_yield.ipp"
+#else
+namespace boost_has_pthread_yield = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_pthread_yield::test();
+}
+
diff --git a/src/boost/libs/config/test/has_pthreads_fail.cpp b/src/boost/libs/config/test/has_pthreads_fail.cpp
new file mode 100644
index 000000000..14156648a
--- /dev/null
+++ b/src/boost/libs/config/test/has_pthreads_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_PTHREADS
+// This file should not compile, if it does then
+// BOOST_HAS_PTHREADS should be defined.
+// See file boost_has_pthreads.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_PTHREADS
+#include "boost_has_pthreads.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_pthreads::test();
+}
+
diff --git a/src/boost/libs/config/test/has_pthreads_pass.cpp b/src/boost/libs/config/test/has_pthreads_pass.cpp
new file mode 100644
index 000000000..0737392f7
--- /dev/null
+++ b/src/boost/libs/config/test/has_pthreads_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_PTHREADS
+// This file should compile, if it does not then
+// BOOST_HAS_PTHREADS should not be defined.
+// See file boost_has_pthreads.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_PTHREADS
+#include "boost_has_pthreads.ipp"
+#else
+namespace boost_has_pthreads = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_pthreads::test();
+}
+
diff --git a/src/boost/libs/config/test/has_rvalue_refs_fail.cpp b/src/boost/libs/config/test/has_rvalue_refs_fail.cpp
new file mode 100644
index 000000000..cf880e965
--- /dev/null
+++ b/src/boost/libs/config/test/has_rvalue_refs_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:21 2007
+// 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.
+
+// Test file for macro BOOST_HAS_RVALUE_REFS
+// This file should not compile, if it does then
+// BOOST_HAS_RVALUE_REFS should be defined.
+// See file boost_has_rvalue_refs.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_RVALUE_REFS
+#include "boost_has_rvalue_refs.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_rvalue_refs::test();
+}
+
diff --git a/src/boost/libs/config/test/has_rvalue_refs_pass.cpp b/src/boost/libs/config/test/has_rvalue_refs_pass.cpp
new file mode 100644
index 000000000..616924949
--- /dev/null
+++ b/src/boost/libs/config/test/has_rvalue_refs_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:21 2007
+// 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.
+
+// Test file for macro BOOST_HAS_RVALUE_REFS
+// This file should compile, if it does not then
+// BOOST_HAS_RVALUE_REFS should not be defined.
+// See file boost_has_rvalue_refs.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_RVALUE_REFS
+#include "boost_has_rvalue_refs.ipp"
+#else
+namespace boost_has_rvalue_refs = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_rvalue_refs::test();
+}
+
diff --git a/src/boost/libs/config/test/has_sched_yield_fail.cpp b/src/boost/libs/config/test/has_sched_yield_fail.cpp
new file mode 100644
index 000000000..b494ed10e
--- /dev/null
+++ b/src/boost/libs/config/test/has_sched_yield_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_SCHED_YIELD
+// This file should not compile, if it does then
+// BOOST_HAS_SCHED_YIELD should be defined.
+// See file boost_has_sched_yield.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_SCHED_YIELD
+#include "boost_has_sched_yield.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_sched_yield::test();
+}
+
diff --git a/src/boost/libs/config/test/has_sched_yield_pass.cpp b/src/boost/libs/config/test/has_sched_yield_pass.cpp
new file mode 100644
index 000000000..56741d1f7
--- /dev/null
+++ b/src/boost/libs/config/test/has_sched_yield_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_SCHED_YIELD
+// This file should compile, if it does not then
+// BOOST_HAS_SCHED_YIELD should not be defined.
+// See file boost_has_sched_yield.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_SCHED_YIELD
+#include "boost_has_sched_yield.ipp"
+#else
+namespace boost_has_sched_yield = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_sched_yield::test();
+}
+
diff --git a/src/boost/libs/config/test/has_sgi_type_traits_fail.cpp b/src/boost/libs/config/test/has_sgi_type_traits_fail.cpp
new file mode 100644
index 000000000..1be718299
--- /dev/null
+++ b/src/boost/libs/config/test/has_sgi_type_traits_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_SGI_TYPE_TRAITS
+// This file should not compile, if it does then
+// BOOST_HAS_SGI_TYPE_TRAITS should be defined.
+// See file boost_has_sgi_type_traits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_SGI_TYPE_TRAITS
+#include "boost_has_sgi_type_traits.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_sgi_type_traits::test();
+}
+
diff --git a/src/boost/libs/config/test/has_sgi_type_traits_pass.cpp b/src/boost/libs/config/test/has_sgi_type_traits_pass.cpp
new file mode 100644
index 000000000..81f059205
--- /dev/null
+++ b/src/boost/libs/config/test/has_sgi_type_traits_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_SGI_TYPE_TRAITS
+// This file should compile, if it does not then
+// BOOST_HAS_SGI_TYPE_TRAITS should not be defined.
+// See file boost_has_sgi_type_traits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_SGI_TYPE_TRAITS
+#include "boost_has_sgi_type_traits.ipp"
+#else
+namespace boost_has_sgi_type_traits = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_sgi_type_traits::test();
+}
+
diff --git a/src/boost/libs/config/test/has_sigaction_fail.cpp b/src/boost/libs/config/test/has_sigaction_fail.cpp
new file mode 100644
index 000000000..b9ea9891f
--- /dev/null
+++ b/src/boost/libs/config/test/has_sigaction_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_SIGACTION
+// This file should not compile, if it does then
+// BOOST_HAS_SIGACTION should be defined.
+// See file boost_has_sigaction.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_SIGACTION
+#include "boost_has_sigaction.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_sigaction::test();
+}
+
diff --git a/src/boost/libs/config/test/has_sigaction_pass.cpp b/src/boost/libs/config/test/has_sigaction_pass.cpp
new file mode 100644
index 000000000..5fa104091
--- /dev/null
+++ b/src/boost/libs/config/test/has_sigaction_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_SIGACTION
+// This file should compile, if it does not then
+// BOOST_HAS_SIGACTION should not be defined.
+// See file boost_has_sigaction.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_SIGACTION
+#include "boost_has_sigaction.ipp"
+#else
+namespace boost_has_sigaction = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_sigaction::test();
+}
+
diff --git a/src/boost/libs/config/test/has_slist_fail.cpp b/src/boost/libs/config/test/has_slist_fail.cpp
new file mode 100644
index 000000000..0d656fda2
--- /dev/null
+++ b/src/boost/libs/config/test/has_slist_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_SLIST
+// This file should not compile, if it does then
+// BOOST_HAS_SLIST should be defined.
+// See file boost_has_slist.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_SLIST
+#include "boost_has_slist.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_slist::test();
+}
+
diff --git a/src/boost/libs/config/test/has_slist_pass.cpp b/src/boost/libs/config/test/has_slist_pass.cpp
new file mode 100644
index 000000000..79af70055
--- /dev/null
+++ b/src/boost/libs/config/test/has_slist_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_SLIST
+// This file should compile, if it does not then
+// BOOST_HAS_SLIST should not be defined.
+// See file boost_has_slist.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_SLIST
+#include "boost_has_slist.ipp"
+#else
+namespace boost_has_slist = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_slist::test();
+}
+
diff --git a/src/boost/libs/config/test/has_static_assert_fail.cpp b/src/boost/libs/config/test/has_static_assert_fail.cpp
new file mode 100644
index 000000000..a6456edb2
--- /dev/null
+++ b/src/boost/libs/config/test/has_static_assert_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:21 2007
+// 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.
+
+// Test file for macro BOOST_HAS_STATIC_ASSERT
+// This file should not compile, if it does then
+// BOOST_HAS_STATIC_ASSERT should be defined.
+// See file boost_has_static_assert.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_STATIC_ASSERT
+#include "boost_has_static_assert.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_static_assert::test();
+}
+
diff --git a/src/boost/libs/config/test/has_static_assert_pass.cpp b/src/boost/libs/config/test/has_static_assert_pass.cpp
new file mode 100644
index 000000000..00f038975
--- /dev/null
+++ b/src/boost/libs/config/test/has_static_assert_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:21 2007
+// 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.
+
+// Test file for macro BOOST_HAS_STATIC_ASSERT
+// This file should compile, if it does not then
+// BOOST_HAS_STATIC_ASSERT should not be defined.
+// See file boost_has_static_assert.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_STATIC_ASSERT
+#include "boost_has_static_assert.ipp"
+#else
+namespace boost_has_static_assert = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_static_assert::test();
+}
+
diff --git a/src/boost/libs/config/test/has_stdint_h_fail.cpp b/src/boost/libs/config/test/has_stdint_h_fail.cpp
new file mode 100644
index 000000000..66a1017bf
--- /dev/null
+++ b/src/boost/libs/config/test/has_stdint_h_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_STDINT_H
+// This file should not compile, if it does then
+// BOOST_HAS_STDINT_H should be defined.
+// See file boost_has_stdint_h.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_STDINT_H
+#include "boost_has_stdint_h.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_stdint_h::test();
+}
+
diff --git a/src/boost/libs/config/test/has_stdint_h_pass.cpp b/src/boost/libs/config/test/has_stdint_h_pass.cpp
new file mode 100644
index 000000000..4b8eca9b2
--- /dev/null
+++ b/src/boost/libs/config/test/has_stdint_h_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_STDINT_H
+// This file should compile, if it does not then
+// BOOST_HAS_STDINT_H should not be defined.
+// See file boost_has_stdint_h.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_STDINT_H
+#include "boost_has_stdint_h.ipp"
+#else
+namespace boost_has_stdint_h = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_stdint_h::test();
+}
+
diff --git a/src/boost/libs/config/test/has_stlp_use_facet_fail.cpp b/src/boost/libs/config/test/has_stlp_use_facet_fail.cpp
new file mode 100644
index 000000000..115f03b3f
--- /dev/null
+++ b/src/boost/libs/config/test/has_stlp_use_facet_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_STLP_USE_FACET
+// This file should not compile, if it does then
+// BOOST_HAS_STLP_USE_FACET should be defined.
+// See file boost_has_stlp_use_facet.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_STLP_USE_FACET
+#include "boost_has_stlp_use_facet.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_stlp_use_facet::test();
+}
+
diff --git a/src/boost/libs/config/test/has_stlp_use_facet_pass.cpp b/src/boost/libs/config/test/has_stlp_use_facet_pass.cpp
new file mode 100644
index 000000000..9c50c6336
--- /dev/null
+++ b/src/boost/libs/config/test/has_stlp_use_facet_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_STLP_USE_FACET
+// This file should compile, if it does not then
+// BOOST_HAS_STLP_USE_FACET should not be defined.
+// See file boost_has_stlp_use_facet.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_STLP_USE_FACET
+#include "boost_has_stlp_use_facet.ipp"
+#else
+namespace boost_has_stlp_use_facet = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_stlp_use_facet::test();
+}
+
diff --git a/src/boost/libs/config/test/has_unistd_h_fail.cpp b/src/boost/libs/config/test/has_unistd_h_fail.cpp
new file mode 100644
index 000000000..363aea220
--- /dev/null
+++ b/src/boost/libs/config/test/has_unistd_h_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_UNISTD_H
+// This file should not compile, if it does then
+// BOOST_HAS_UNISTD_H should be defined.
+// See file boost_has_unistd_h.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_UNISTD_H
+#include "boost_has_unistd_h.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_unistd_h::test();
+}
+
diff --git a/src/boost/libs/config/test/has_unistd_h_pass.cpp b/src/boost/libs/config/test/has_unistd_h_pass.cpp
new file mode 100644
index 000000000..70f813755
--- /dev/null
+++ b/src/boost/libs/config/test/has_unistd_h_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_UNISTD_H
+// This file should compile, if it does not then
+// BOOST_HAS_UNISTD_H should not be defined.
+// See file boost_has_unistd_h.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_UNISTD_H
+#include "boost_has_unistd_h.ipp"
+#else
+namespace boost_has_unistd_h = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_unistd_h::test();
+}
+
diff --git a/src/boost/libs/config/test/has_variadic_tmpl_fail.cpp b/src/boost/libs/config/test/has_variadic_tmpl_fail.cpp
new file mode 100644
index 000000000..17baab780
--- /dev/null
+++ b/src/boost/libs/config/test/has_variadic_tmpl_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:21 2007
+// 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.
+
+// Test file for macro BOOST_HAS_VARIADIC_TMPL
+// This file should not compile, if it does then
+// BOOST_HAS_VARIADIC_TMPL should be defined.
+// See file boost_has_variadic_tmpl.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_VARIADIC_TMPL
+#include "boost_has_variadic_tmpl.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_variadic_tmpl::test();
+}
+
diff --git a/src/boost/libs/config/test/has_variadic_tmpl_pass.cpp b/src/boost/libs/config/test/has_variadic_tmpl_pass.cpp
new file mode 100644
index 000000000..8b65b8d22
--- /dev/null
+++ b/src/boost/libs/config/test/has_variadic_tmpl_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:21 2007
+// 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.
+
+// Test file for macro BOOST_HAS_VARIADIC_TMPL
+// This file should compile, if it does not then
+// BOOST_HAS_VARIADIC_TMPL should not be defined.
+// See file boost_has_variadic_tmpl.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_VARIADIC_TMPL
+#include "boost_has_variadic_tmpl.ipp"
+#else
+namespace boost_has_variadic_tmpl = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_variadic_tmpl::test();
+}
+
diff --git a/src/boost/libs/config/test/has_vc6_mem_templ_fail.cpp b/src/boost/libs/config/test/has_vc6_mem_templ_fail.cpp
new file mode 100644
index 000000000..6fa512abe
--- /dev/null
+++ b/src/boost/libs/config/test/has_vc6_mem_templ_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_MSVC6_MEMBER_TEMPLATES
+// This file should not compile, if it does then
+// BOOST_MSVC6_MEMBER_TEMPLATES should be defined.
+// See file boost_has_vc6_mem_templ.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_MSVC6_MEMBER_TEMPLATES
+#include "boost_has_vc6_mem_templ.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_msvc6_member_templates::test();
+}
+
diff --git a/src/boost/libs/config/test/has_vc6_mem_templ_pass.cpp b/src/boost/libs/config/test/has_vc6_mem_templ_pass.cpp
new file mode 100644
index 000000000..85325a9de
--- /dev/null
+++ b/src/boost/libs/config/test/has_vc6_mem_templ_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_MSVC6_MEMBER_TEMPLATES
+// This file should compile, if it does not then
+// BOOST_MSVC6_MEMBER_TEMPLATES should not be defined.
+// See file boost_has_vc6_mem_templ.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_MSVC6_MEMBER_TEMPLATES
+#include "boost_has_vc6_mem_templ.ipp"
+#else
+namespace boost_msvc6_member_templates = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_msvc6_member_templates::test();
+}
+
diff --git a/src/boost/libs/config/test/has_vc_iterator_fail.cpp b/src/boost/libs/config/test/has_vc_iterator_fail.cpp
new file mode 100644
index 000000000..e453e56ac
--- /dev/null
+++ b/src/boost/libs/config/test/has_vc_iterator_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_MSVC_STD_ITERATOR
+// This file should not compile, if it does then
+// BOOST_MSVC_STD_ITERATOR should be defined.
+// See file boost_has_vc_iterator.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_MSVC_STD_ITERATOR
+#include "boost_has_vc_iterator.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_msvc_std_iterator::test();
+}
+
diff --git a/src/boost/libs/config/test/has_vc_iterator_pass.cpp b/src/boost/libs/config/test/has_vc_iterator_pass.cpp
new file mode 100644
index 000000000..102cab736
--- /dev/null
+++ b/src/boost/libs/config/test/has_vc_iterator_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_MSVC_STD_ITERATOR
+// This file should compile, if it does not then
+// BOOST_MSVC_STD_ITERATOR should not be defined.
+// See file boost_has_vc_iterator.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_MSVC_STD_ITERATOR
+#include "boost_has_vc_iterator.ipp"
+#else
+namespace boost_msvc_std_iterator = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_msvc_std_iterator::test();
+}
+
diff --git a/src/boost/libs/config/test/has_winthreads_fail.cpp b/src/boost/libs/config/test/has_winthreads_fail.cpp
new file mode 100644
index 000000000..e9f6c7142
--- /dev/null
+++ b/src/boost/libs/config/test/has_winthreads_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_WINTHREADS
+// This file should not compile, if it does then
+// BOOST_HAS_WINTHREADS should be defined.
+// See file boost_has_winthreads.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_HAS_WINTHREADS
+#include "boost_has_winthreads.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_winthreads::test();
+}
+
diff --git a/src/boost/libs/config/test/has_winthreads_pass.cpp b/src/boost/libs/config/test/has_winthreads_pass.cpp
new file mode 100644
index 000000000..49d020fc9
--- /dev/null
+++ b/src/boost/libs/config/test/has_winthreads_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_HAS_WINTHREADS
+// This file should compile, if it does not then
+// BOOST_HAS_WINTHREADS should not be defined.
+// See file boost_has_winthreads.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_HAS_WINTHREADS
+#include "boost_has_winthreads.ipp"
+#else
+namespace boost_has_winthreads = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_has_winthreads::test();
+}
+
diff --git a/src/boost/libs/config/test/header_deprecated_test.cpp b/src/boost/libs/config/test/header_deprecated_test.cpp
new file mode 100644
index 000000000..6a99a97d5
--- /dev/null
+++ b/src/boost/libs/config/test/header_deprecated_test.cpp
@@ -0,0 +1,18 @@
+// Copyright 2017 Peter Dimov.
+//
+// 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
+
+#include <boost/config/header_deprecated.hpp>
+
+BOOST_HEADER_DEPRECATED("<boost/config/workaround.hpp>")
+
+#define ALTERNATIVE "the suitable component header"
+BOOST_HEADER_DEPRECATED(ALTERNATIVE)
+
+#include <boost/config.hpp> // BOOST_STRINGIZE
+
+#define HEADER <boost/config/workaround.hpp>
+BOOST_HEADER_DEPRECATED(BOOST_STRINGIZE(HEADER))
diff --git a/src/boost/libs/config/test/helper_macro_test.cpp b/src/boost/libs/config/test/helper_macro_test.cpp
new file mode 100644
index 000000000..18b9268a7
--- /dev/null
+++ b/src/boost/libs/config/test/helper_macro_test.cpp
@@ -0,0 +1,87 @@
+// (C) Copyright John Maddock 2014-9.
+// (C) Copyright Andrey Semashev 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)
+
+#include <boost/config.hpp>
+
+int test_fallthrough(int n)
+{
+ switch (n)
+ {
+ case 0:
+ n++;
+ BOOST_FALLTHROUGH;
+ case 1:
+ n++;
+ break;
+ }
+ return n;
+}
+
+int test_unreachable(int i)
+{
+ if(BOOST_LIKELY(i)) return i;
+
+ throw i;
+ BOOST_UNREACHABLE_RETURN(0) // NOTE: no semicolon afterwards!!
+}
+
+BOOST_FORCEINLINE int always_inline(int i){ return ++i; }
+BOOST_NOINLINE int never_inline(int i){ return ++i; }
+
+BOOST_NORETURN void always_throw()
+{
+ throw 0;
+}
+
+struct BOOST_MAY_ALIAS aliasing_struct {};
+typedef unsigned int BOOST_MAY_ALIAS aliasing_uint;
+
+struct BOOST_ATTRIBUTE_NODISCARD nodiscard_struct {};
+
+
+#define test_fallthrough(x) foobar(x)
+
+struct empty {};
+struct no_unique
+{
+ int a;
+ BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS empty b;
+};
+
+template <bool b>
+struct trait
+{
+ enum { value = b };
+};
+
+
+int main()
+{
+ typedef int unused_type BOOST_ATTRIBUTE_UNUSED;
+ try
+ {
+ int result = test_fallthrough BOOST_PREVENT_MACRO_SUBSTITUTION(0);
+ BOOST_STATIC_CONSTANT(bool, value = 0);
+ result += test_unreachable(1);
+ result += always_inline(2);
+ result += never_inline(3);
+ if(BOOST_UNLIKELY(!result))
+ always_throw();
+ nodiscard_struct s;
+ no_unique no_un;
+
+ BOOST_IF_CONSTEXPR(trait<true>::value)
+ {
+ result += 2;
+ }
+ }
+ catch(int)
+ {
+ return 1;
+ }
+ return 0;
+}
+
diff --git a/src/boost/libs/config/test/helper_macros_test.cpp b/src/boost/libs/config/test/helper_macros_test.cpp
new file mode 100644
index 000000000..5bbea8ddb
--- /dev/null
+++ b/src/boost/libs/config/test/helper_macros_test.cpp
@@ -0,0 +1,30 @@
+// Copyright 2017 Peter Dimov.
+//
+// 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
+
+#include <boost/config/helper_macros.hpp>
+#include <boost/core/lightweight_test.hpp>
+
+int main()
+{
+#define X pumpkin
+
+ BOOST_TEST_CSTR_EQ( BOOST_STRINGIZE(X), "pumpkin" );
+ BOOST_TEST_CSTR_EQ( BOOST_STRINGIZE(__LINE__), "16" );
+
+#define Y 2
+
+ int BOOST_JOIN(X, Y) = 0;
+ (void)pumpkin2;
+
+ int BOOST_JOIN(X, __LINE__) = 0;
+ (void)pumpkin23;
+
+ BOOST_TEST_CSTR_EQ( BOOST_STRINGIZE(BOOST_JOIN(X, Y)), "pumpkin2" );
+ BOOST_TEST_CSTR_EQ( BOOST_STRINGIZE(BOOST_JOIN(X, __LINE__)), "pumpkin27" );
+
+ return boost::report_errors();
+}
diff --git a/src/boost/libs/config/test/limits_test.cpp b/src/boost/libs/config/test/limits_test.cpp
new file mode 100644
index 000000000..8c43ac0ec
--- /dev/null
+++ b/src/boost/libs/config/test/limits_test.cpp
@@ -0,0 +1,213 @@
+/* boost limits_test.cpp test your <limits> file for important
+ *
+ * Copyright Jens Maurer 2000
+ * 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)
+ *
+ * $Id$
+ */
+
+#include <boost/limits.hpp>
+#include <boost/detail/lightweight_main.hpp>
+#include <boost/core/lightweight_test.hpp>
+#include <iostream>
+
+/*
+ * General portability note:
+ * MSVC mis-compiles explicit function template instantiations.
+ * For example, f<A>() and f<B>() are both compiled to call f<A>().
+ * BCC is unable to implicitly convert a "const char *" to a std::string
+ * when using explicit function template instantiations.
+ *
+ * Therefore, avoid explicit function template instantiations.
+ */
+#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
+template<typename T> inline T make_char_numeric_for_streaming(T x) { return x; }
+namespace fix{
+inline int make_char_numeric_for_streaming(char c) { return c; }
+inline int make_char_numeric_for_streaming(signed char c) { return c; }
+inline int make_char_numeric_for_streaming(unsigned char c) { return c; }
+}
+using namespace fix;
+# if defined(_YVALS) && !defined(_CPPLIB_VER) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
+// fix for missing operator<< in original Dinkumware lib:
+std::ostream& operator<<(std::ostream& os, __int64 i )
+{
+ char buf[80];
+ sprintf(buf,"%I64d", i );
+ os << buf;
+ return os;
+}
+std::ostream& operator<<(std::ostream& os, unsigned __int64 i )
+{
+ char buf[80];
+ sprintf(buf,"%I64u", i );
+ os << buf;
+ return os;
+}
+# endif
+#else
+template<typename T> inline T make_char_numeric_for_streaming(T x) { return x; }
+inline int make_char_numeric_for_streaming(char c) { return c; }
+inline int make_char_numeric_for_streaming(signed char c) { return c; }
+inline int make_char_numeric_for_streaming(unsigned char c) { return c; }
+#endif
+
+#if (defined(_GLIBCPP_VERSION) || defined(_GLIBCXX_VERSION)) \
+ && defined(BOOST_HAS_LONG_LONG) \
+ && !defined(_GLIBCPP_USE_LONG_LONG) \
+ && !defined(_GLIBCXX_USE_LONG_LONG)
+//
+// Some libstdc++ versions have numeric_limits<long long> but no
+// iostream support for long long. TODO, find a better fix!!
+//
+std::ostream& operator<<(std::ostream& os, long long i )
+{
+ return os << static_cast<long double>(i);
+}
+std::ostream& operator<<(std::ostream& os, unsigned long long i )
+{
+ return os << static_cast<long double>(i);
+}
+#endif
+
+template<class T>
+void test_integral_limits(const T &, const char * msg)
+{
+ typedef std::numeric_limits<T> lim;
+ std::cout << "Testing " << msg
+ << " (size " << sizeof(T) << ")"
+ << " min: " << make_char_numeric_for_streaming((lim::min)())
+ << ", max: " << make_char_numeric_for_streaming((lim::max)())
+ << std::endl;
+
+ BOOST_TEST(static_cast<bool>(lim::is_specialized));
+ BOOST_TEST(static_cast<bool>(lim::is_integer));
+ // BOOST_TEST(lim::is_modulo);
+ BOOST_TEST(static_cast<bool>((lim::min)() < (lim::max)()));
+}
+
+template <class T>
+void print_hex_val(T t, const char* name)
+{
+ const unsigned char* p = (const unsigned char*)&t;
+ std::cout << "hex value of " << name << " is: ";
+ for (unsigned int i = 0; i < sizeof(T); ++i) {
+ if(p[i] <= 0xF)
+ std::cout << "0";
+ std::cout << std::hex << (int)p[i];
+ }
+ std::cout << std::dec << std::endl;
+}
+
+template<class T>
+void test_float_limits(const T &, const char * msg)
+{
+ std::cout << "\nTesting " << msg << std::endl;
+ typedef std::numeric_limits<T> lim;
+
+ BOOST_TEST(static_cast<bool>(lim::is_specialized));
+ BOOST_TEST(static_cast<bool>(!lim::is_modulo));
+ BOOST_TEST(static_cast<bool>(!lim::is_integer));
+ BOOST_TEST(static_cast<bool>(lim::is_signed));
+
+ const T infinity = lim::infinity();
+ const T qnan = lim::quiet_NaN();
+ const T snan = lim::signaling_NaN();
+
+ std::cout << "IEEE-compatible: " << lim::is_iec559
+ << ", traps: " << lim::traps
+ << ", bounded: " << lim::is_bounded
+ << ", exact: " << lim::is_exact << '\n'
+ << "min: " << (lim::min)() << ", max: " << (lim::max)() << '\n'
+ << "infinity: " << infinity << ", QNaN: " << qnan << '\n';
+ print_hex_val((lim::max)(), "max");
+ print_hex_val(infinity, "infinity");
+ print_hex_val(qnan, "qnan");
+ print_hex_val(snan, "snan");
+
+ BOOST_TEST((lim::max)() > 1000);
+ BOOST_TEST((lim::min)() > 0);
+ BOOST_TEST((lim::min)() < 0.001);
+ BOOST_TEST(lim::epsilon() > 0);
+
+ if(lim::is_iec559) {
+ BOOST_TEST(static_cast<bool>(lim::has_infinity));
+ BOOST_TEST(static_cast<bool>(lim::has_quiet_NaN));
+ BOOST_TEST(static_cast<bool>(lim::has_signaling_NaN));
+ } else {
+ std::cout << "Does not claim IEEE conformance" << std::endl;
+ }
+
+ if(lim::has_infinity) {
+ // Make sure those values are not 0 or similar nonsense.
+ // Infinity must compare as if larger than the maximum representable value.
+ BOOST_TEST(infinity > (lim::max)());
+ BOOST_TEST(-infinity < -(lim::max)());
+ } else {
+ std::cout << "Does not have infinity" << std::endl;
+ }
+
+ if(lim::has_quiet_NaN) {
+ // NaNs shall always compare "false" when compared for equality
+ // If one of these fail, your compiler may be optimizing incorrectly,
+ // or the standard library is incorrectly configured.
+ BOOST_TEST(! (qnan == 42));
+ BOOST_TEST(qnan != 42);
+ if(lim::is_iec559)
+ {
+ BOOST_TEST(! (qnan == qnan));
+ BOOST_TEST(qnan != qnan);
+ }
+
+ // The following tests may cause arithmetic traps.
+ // BOOST_TEST(! (qnan < 42));
+ // BOOST_TEST(! (qnan > 42));
+ // BOOST_TEST(! (qnan <= 42));
+ // BOOST_TEST(! (qnan >= 42));
+ } else {
+ std::cout << "Does not have QNaN" << std::endl;
+ }
+}
+
+
+int cpp_main(int, char*[])
+{
+ test_integral_limits(bool(), "bool");
+ test_integral_limits(char(), "char");
+ typedef signed char signed_char;
+ test_integral_limits(signed_char(), "signed char");
+ typedef unsigned char unsigned_char;
+ test_integral_limits(unsigned_char(), "unsigned char");
+ test_integral_limits(wchar_t(), "wchar_t");
+ test_integral_limits(short(), "short");
+ typedef unsigned short unsigned_short;
+ test_integral_limits(unsigned_short(), "unsigned short");
+ test_integral_limits(int(), "int");
+ typedef unsigned int unsigned_int;
+ test_integral_limits(unsigned_int(), "unsigned int");
+ test_integral_limits(long(), "long");
+ typedef unsigned long unsigned_long;
+ test_integral_limits(unsigned_long(), "unsigned long");
+#if defined(BOOST_HAS_LONG_LONG)
+ test_integral_limits(::boost::long_long_type(), "long long");
+ test_integral_limits(::boost::ulong_long_type(), "unsigned long long");
+#endif
+#ifdef BOOST_HAS_MS_INT64
+ typedef __int64 long_long2;
+ test_integral_limits(long_long2(), "__int64");
+ typedef unsigned __int64 unsigned_long_long2;
+ test_integral_limits(unsigned_long_long2(), "unsigned __int64");
+#endif
+
+ test_float_limits(float(), "float");
+ test_float_limits(double(), "double");
+ typedef long double long_double;
+ test_float_limits(long_double(), "long double");
+ // Some compilers don't pay attention to std:3.6.1/5 and issue a
+ // warning here if "return 0;" is omitted.
+ return boost::report_errors();
+}
+
+
diff --git a/src/boost/libs/config/test/link/Jamfile.v2 b/src/boost/libs/config/test/link/Jamfile.v2
new file mode 100644
index 000000000..c5da6c29e
--- /dev/null
+++ b/src/boost/libs/config/test/link/Jamfile.v2
@@ -0,0 +1,19 @@
+# copyright John Maddock 2003
+# 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)
+
+lib link_test : link_test.cpp
+ : <link>shared <runtime-link>shared
+ # This is needed to make the test work, I'm unsure if this
+ # should be set globally.
+ <define>BOOST_DYN_LINK=1
+ # Override <threading>multi inherited from parent.
+ <threading>single
+ :
+ debug release
+ ;
+
+run main.cpp link_test : : : <define>BOOST_DYN_LINK=1 <define>BOOST_CONFIG_NO_LIB <link>shared <runtime-link>shared <threading>single : link_test_test ;
+
+
diff --git a/src/boost/libs/config/test/link/bc_gen.sh b/src/boost/libs/config/test/link/bc_gen.sh
new file mode 100644
index 000000000..07ff3aa59
--- /dev/null
+++ b/src/boost/libs/config/test/link/bc_gen.sh
@@ -0,0 +1,286 @@
+#! /usr/bin/env bash
+
+# copyright John Maddock 2005
+# 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)
+
+libname=""
+src=""
+header=""
+all_dep=""
+
+# current makefile:
+out=""
+# temporary file:
+tout=""
+# install target temp file:
+iout=""
+# debug flag:
+debug="no"
+# compile options:
+opts=""
+# main output sub-directory:
+subdir=""
+
+#######################################################################
+#
+# section for C++ Builder
+#
+#######################################################################
+
+function bcb_gen_lib()
+{
+ all_dep="$all_dep $subdir\\$libname $subdir\\$libname.lib $subdir\\$libname.exe"
+ echo " copy $subdir\\$libname.lib \$(BCROOT)\\lib" >> $iout
+#
+# set up section comments:
+ cat >> $tout << EOF
+########################################################
+#
+# section for $libname.lib
+#
+########################################################
+EOF
+#
+# process source files:
+ all_obj=""
+ all_lib_obj=""
+ for file in $src
+ do
+ obj=`echo "$file" | sed 's/\(.*\)cpp/\1obj/g'`
+ obj="$subdir\\$libname\\$obj"
+ all_obj="$all_obj $obj"
+ all_lib_obj="$all_lib_obj \"$obj\""
+ echo "$obj: $file \$(ALL_HEADER)" >> $tout
+ echo " bcc32 @&&|" >> $tout
+ echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -o$obj $file" >> $tout
+ echo "|" >> $tout
+ echo "" >> $tout
+ done
+#
+# now for the directories for this library:
+ echo "$subdir\\$libname : " >> $tout
+ echo " -@mkdir $subdir\\$libname" >> $tout
+ echo "" >> $tout
+#
+# now for the clean options for this library:
+ all_clean="$all_clean $libname""_clean"
+ echo "$libname"_clean : >> $tout
+ echo " del $subdir\\$libname\\"'*.obj' >> $tout
+ echo " del $subdir\\$libname\\"'*.il?' >> $tout
+ echo " del $subdir\\$libname\\"'*.csm' >> $tout
+ echo " del $subdir\\$libname\\"'*.tds' >> $tout
+ echo "" >> $tout
+#
+# now for the main target for this library:
+ echo $subdir\\$libname.lib : $all_obj >> $tout
+ echo " tlib @&&|" >> $tout
+ echo "/P128 /C /u /a \$(XSFLAGS) \"$subdir\\$libname.lib\" $all_lib_obj" >> $tout
+ echo "|" >> $tout
+ echo "" >> $tout
+# now the test program:
+ echo "$subdir\\$libname.exe : main.cpp $subdir\\$libname.lib" >> $tout
+ echo " bcc32 \$(INCLUDES) $opts /DBOOST_LIB_DIAGNOSTIC=1 \$(CXXFLAGS) -L./$subdir -e./$subdir/$libname.exe main.cpp" >> $tout
+ echo " echo running test progam $subdir"'\'"$libname.exe" >> $tout
+ echo " $subdir"'\'"$libname.exe" >> $tout
+ echo "" >> $tout
+}
+
+function bcb_gen_dll()
+{
+ all_dep="$all_dep $subdir\\$libname $subdir\\$libname.lib $subdir\\$libname.exe"
+ echo " copy $subdir\\$libname.lib \$(BCROOT)\\lib" >> $iout
+ echo " copy $subdir\\$libname.dll \$(BCROOT)\\bin" >> $iout
+ echo " copy $subdir\\$libname.tds \$(BCROOT)\\bin" >> $iout
+#
+# set up section comments:
+ cat >> $tout << EOF
+########################################################
+#
+# section for $libname.lib
+#
+########################################################
+EOF
+#
+# process source files:
+ all_obj=""
+ for file in $src
+ do
+ obj=`echo "$file" | sed 's/\(.*\)cpp/\1obj/g'`
+ obj="$subdir\\$libname\\$obj"
+ all_obj="$all_obj $obj"
+ echo "$obj: $file \$(ALL_HEADER)" >> $tout
+ echo " bcc32 @&&|" >> $tout
+ echo "-c \$(INCLUDES) $opts \$(CXXFLAGS) -DBOOST_DYN_LINK -o$obj $file" >> $tout
+ echo "|" >> $tout
+ echo "" >> $tout
+ done
+#
+# now for the directories for this library:
+ echo "$subdir\\$libname :" >> $tout
+ echo " -@mkdir $subdir\\$libname" >> $tout
+ echo "" >> $tout
+#
+# now for the clean options for this library:
+ all_clean="$all_clean $libname""_clean"
+ echo "$libname"_clean : >> $tout
+ echo " del $subdir\\$libname\\"'*.obj' >> $tout
+ echo " del $subdir\\$libname\\"'*.il?' >> $tout
+ echo " del $subdir\\$libname\\"'*.csm' >> $tout
+ echo " del $subdir\\$libname\\"'*.tds' >> $tout
+ echo " del $subdir\\"'*.tds' >> $tout
+ echo "" >> $tout
+#
+# now for the main target for this library:
+ echo $subdir\\$libname.lib : $all_obj >> $tout
+ echo " bcc32 @&&|" >> $tout
+ echo "-lw-dup -lw-dpl $opts -e$subdir\\$libname.dll \$(XLFLAGS) $all_obj \$(LIBS)" >> $tout
+ echo "|" >> $tout
+ echo " implib -w $subdir\\$libname.lib $subdir\\$libname.dll" >> $tout
+ echo "" >> $tout
+# now the test program:
+ echo "$subdir\\$libname.exe : main.cpp $subdir\\$libname.lib" >> $tout
+ echo " bcc32 \$(INCLUDES) $opts /DBOOST_LIB_DIAGNOSTIC=1 \$(CXXFLAGS) -DBOOST_DYN_LINK -L./$subdir -e./$subdir/$libname.exe main.cpp" >> $tout
+ echo " echo running test program $subdir"'\'"$libname.exe" >> $tout
+ echo " $subdir"'\'"$libname.exe" >> $tout
+ echo "" >> $tout
+}
+
+
+
+function bcb_gen()
+{
+ tout="temp"
+ iout="temp_install"
+ all_dep="$subdir"
+ all_clean=""
+ echo > $out
+ echo > $tout
+ rm -f $iout
+
+ libname="liblink_test-${subdir}-s-${boost_version}"
+ opts="-tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I\$(BCROOT)\include;../../../../"
+ bcb_gen_lib
+
+ libname="liblink_test-${subdir}-mt-s-${boost_version}"
+ opts="-tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../"
+ bcb_gen_lib
+
+ libname="link_test-${subdir}-mt-${boost_version}"
+ opts="-tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
+ bcb_gen_dll
+
+ libname="link_test-${subdir}-${boost_version}"
+ opts="-tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
+ bcb_gen_dll
+
+ libname="liblink_test-${subdir}-mt-${boost_version}"
+ opts="-tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
+ bcb_gen_lib
+
+ libname="liblink_test-${subdir}-${boost_version}"
+ opts="-tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
+ bcb_gen_lib
+ #
+ # debug versions:
+ libname="liblink_test-${subdir}-sd-${boost_version}"
+ opts="-tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I\$(BCROOT)\include;../../../../"
+ bcb_gen_lib
+
+ libname="liblink_test-${subdir}-mt-sd-${boost_version}"
+ opts="-tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../"
+ bcb_gen_lib
+
+ libname="link_test-${subdir}-mt-d-${boost_version}"
+ opts="-tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
+ bcb_gen_dll
+
+ libname="link_test-${subdir}-d-${boost_version}"
+ opts="-tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
+ bcb_gen_dll
+
+ libname="liblink_test-${subdir}-mt-d-${boost_version}"
+ opts="-tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
+ bcb_gen_lib
+
+ libname="liblink_test-${subdir}-d-${boost_version}"
+ opts="-tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I\$(BCROOT)\include;../../../../ -L\$(BCROOT)\lib;\$(BCROOT)\lib\release;"
+ bcb_gen_lib
+
+
+ cat > $out << EOF
+# copyright John Maddock 2005
+# 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)
+#
+# auto generated makefile for C++ Builder
+#
+# usage:
+# make
+# brings libraries up to date
+# make install
+# brings libraries up to date and copies binaries to your C++ Builder /lib and /bin directories (recomended)
+# make clean
+# removes all temporary files.
+
+#
+# Add additional compiler options here:
+#
+CXXFLAGS=
+#
+# Add additional include directories here:
+#
+INCLUDES=
+#
+# add additional linker flags here:
+#
+XLFLAGS=
+#
+# add additional libraries to link to here:
+#
+LIBS=
+#
+# add additional static-library creation flags here:
+#
+XSFLAGS=
+
+!ifndef BCROOT
+BCROOT=\$(MAKEDIR)\\..
+!endif
+
+EOF
+ echo "" >> $out
+ echo "ALL_HEADER=$header" >> $out
+ echo "" >> $out
+ echo "all : $all_dep" >> $out
+ echo >> $out
+ echo "clean : $all_clean" >> $out
+ echo >> $out
+ echo "install : all" >> $out
+ cat $iout >> $out
+ echo >> $out
+ echo $subdir : >> $out
+ echo " -@mkdir $subdir" >> $out
+ echo "" >> $out
+
+ cat $tout >> $out
+}
+
+. common.sh
+
+#
+# generate C++ Builder 6 files:
+out="borland.mak"
+subdir="borland"
+has_stlport="yes"
+bcb_gen
+
+
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/link/borland.mak b/src/boost/libs/config/test/link/borland.mak
new file mode 100644
index 000000000..624759c77
--- /dev/null
+++ b/src/boost/libs/config/test/link/borland.mak
@@ -0,0 +1,429 @@
+# copyright John Maddock 2005
+# 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)
+#
+# auto generated makefile for C++ Builder
+#
+# usage:
+# make
+# brings libraries up to date
+# make install
+# brings libraries up to date and copies binaries to your C++ Builder /lib and /bin directories (recomended)
+# make clean
+# removes all temporary files.
+
+#
+# Add additional compiler options here:
+#
+CXXFLAGS=
+#
+# Add additional include directories here:
+#
+INCLUDES=
+#
+# add additional linker flags here:
+#
+XLFLAGS=
+#
+# add additional libraries to link to here:
+#
+LIBS=
+#
+# add additional static-library creation flags here:
+#
+XSFLAGS=
+
+!ifndef BCROOT
+BCROOT=$(MAKEDIR)\..
+!endif
+
+
+ALL_HEADER=
+
+all : borland borland\liblink_test-borland-s-1_35 borland\liblink_test-borland-s-1_35.lib borland\liblink_test-borland-s-1_35.exe borland\liblink_test-borland-mt-s-1_35 borland\liblink_test-borland-mt-s-1_35.lib borland\liblink_test-borland-mt-s-1_35.exe borland\link_test-borland-mt-1_35 borland\link_test-borland-mt-1_35.lib borland\link_test-borland-mt-1_35.exe borland\link_test-borland-1_35 borland\link_test-borland-1_35.lib borland\link_test-borland-1_35.exe borland\liblink_test-borland-mt-1_35 borland\liblink_test-borland-mt-1_35.lib borland\liblink_test-borland-mt-1_35.exe borland\liblink_test-borland-1_35 borland\liblink_test-borland-1_35.lib borland\liblink_test-borland-1_35.exe borland\liblink_test-borland-sd-1_35 borland\liblink_test-borland-sd-1_35.lib borland\liblink_test-borland-sd-1_35.exe borland\liblink_test-borland-mt-sd-1_35 borland\liblink_test-borland-mt-sd-1_35.lib borland\liblink_test-borland-mt-sd-1_35.exe borland\link_test-borland-mt-d-1_35 borland\link_test-borland-mt-d-1_35.lib borland\link_test-borland-mt-d-1_35.exe borland\link_test-borland-d-1_35 borland\link_test-borland-d-1_35.lib borland\link_test-borland-d-1_35.exe borland\liblink_test-borland-mt-d-1_35 borland\liblink_test-borland-mt-d-1_35.lib borland\liblink_test-borland-mt-d-1_35.exe borland\liblink_test-borland-d-1_35 borland\liblink_test-borland-d-1_35.lib borland\liblink_test-borland-d-1_35.exe
+
+clean : liblink_test-borland-s-1_35_clean liblink_test-borland-mt-s-1_35_clean link_test-borland-mt-1_35_clean link_test-borland-1_35_clean liblink_test-borland-mt-1_35_clean liblink_test-borland-1_35_clean liblink_test-borland-sd-1_35_clean liblink_test-borland-mt-sd-1_35_clean link_test-borland-mt-d-1_35_clean link_test-borland-d-1_35_clean liblink_test-borland-mt-d-1_35_clean liblink_test-borland-d-1_35_clean
+
+install : all
+ copy borland\liblink_test-borland-s-1_35.lib $(BCROOT)\lib
+ copy borland\liblink_test-borland-mt-s-1_35.lib $(BCROOT)\lib
+ copy borland\link_test-borland-mt-1_35.lib $(BCROOT)\lib
+ copy borland\link_test-borland-mt-1_35.dll $(BCROOT)\bin
+ copy borland\link_test-borland-mt-1_35.tds $(BCROOT)\bin
+ copy borland\link_test-borland-1_35.lib $(BCROOT)\lib
+ copy borland\link_test-borland-1_35.dll $(BCROOT)\bin
+ copy borland\link_test-borland-1_35.tds $(BCROOT)\bin
+ copy borland\liblink_test-borland-mt-1_35.lib $(BCROOT)\lib
+ copy borland\liblink_test-borland-1_35.lib $(BCROOT)\lib
+ copy borland\liblink_test-borland-sd-1_35.lib $(BCROOT)\lib
+ copy borland\liblink_test-borland-mt-sd-1_35.lib $(BCROOT)\lib
+ copy borland\link_test-borland-mt-d-1_35.lib $(BCROOT)\lib
+ copy borland\link_test-borland-mt-d-1_35.dll $(BCROOT)\bin
+ copy borland\link_test-borland-mt-d-1_35.tds $(BCROOT)\bin
+ copy borland\link_test-borland-d-1_35.lib $(BCROOT)\lib
+ copy borland\link_test-borland-d-1_35.dll $(BCROOT)\bin
+ copy borland\link_test-borland-d-1_35.tds $(BCROOT)\bin
+ copy borland\liblink_test-borland-mt-d-1_35.lib $(BCROOT)\lib
+ copy borland\liblink_test-borland-d-1_35.lib $(BCROOT)\lib
+
+borland :
+ -@mkdir borland
+
+
+########################################################
+#
+# section for liblink_test-borland-s-1_35.lib
+#
+########################################################
+borland\liblink_test-borland-s-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
+ bcc32 @&&|
+-c $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../../ $(CXXFLAGS) -oborland\liblink_test-borland-s-1_35\link_test.obj link_test.cpp
+|
+
+borland\liblink_test-borland-s-1_35 :
+ -@mkdir borland\liblink_test-borland-s-1_35
+
+liblink_test-borland-s-1_35_clean :
+ del borland\liblink_test-borland-s-1_35\*.obj
+ del borland\liblink_test-borland-s-1_35\*.il?
+ del borland\liblink_test-borland-s-1_35\*.csm
+ del borland\liblink_test-borland-s-1_35\*.tds
+
+borland\liblink_test-borland-s-1_35.lib : borland\liblink_test-borland-s-1_35\link_test.obj
+ tlib @&&|
+/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-s-1_35.lib" "borland\liblink_test-borland-s-1_35\link_test.obj"
+|
+
+borland\liblink_test-borland-s-1_35.exe : main.cpp borland\liblink_test-borland-s-1_35.lib
+ bcc32 $(INCLUDES) -tWM- -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../../ /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-s-1_35.exe main.cpp
+ echo running test progam borland\liblink_test-borland-s-1_35.exe
+ borland\liblink_test-borland-s-1_35.exe
+
+########################################################
+#
+# section for liblink_test-borland-mt-s-1_35.lib
+#
+########################################################
+borland\liblink_test-borland-mt-s-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
+ bcc32 @&&|
+-c $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ $(CXXFLAGS) -oborland\liblink_test-borland-mt-s-1_35\link_test.obj link_test.cpp
+|
+
+borland\liblink_test-borland-mt-s-1_35 :
+ -@mkdir borland\liblink_test-borland-mt-s-1_35
+
+liblink_test-borland-mt-s-1_35_clean :
+ del borland\liblink_test-borland-mt-s-1_35\*.obj
+ del borland\liblink_test-borland-mt-s-1_35\*.il?
+ del borland\liblink_test-borland-mt-s-1_35\*.csm
+ del borland\liblink_test-borland-mt-s-1_35\*.tds
+
+borland\liblink_test-borland-mt-s-1_35.lib : borland\liblink_test-borland-mt-s-1_35\link_test.obj
+ tlib @&&|
+/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-mt-s-1_35.lib" "borland\liblink_test-borland-mt-s-1_35\link_test.obj"
+|
+
+borland\liblink_test-borland-mt-s-1_35.exe : main.cpp borland\liblink_test-borland-mt-s-1_35.lib
+ bcc32 $(INCLUDES) -tWM -D_NO_VCL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-mt-s-1_35.exe main.cpp
+ echo running test progam borland\liblink_test-borland-mt-s-1_35.exe
+ borland\liblink_test-borland-mt-s-1_35.exe
+
+########################################################
+#
+# section for link_test-borland-mt-1_35.lib
+#
+########################################################
+borland\link_test-borland-mt-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
+ bcc32 @&&|
+-c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_DYN_LINK -oborland\link_test-borland-mt-1_35\link_test.obj link_test.cpp
+|
+
+borland\link_test-borland-mt-1_35 :
+ -@mkdir borland\link_test-borland-mt-1_35
+
+link_test-borland-mt-1_35_clean :
+ del borland\link_test-borland-mt-1_35\*.obj
+ del borland\link_test-borland-mt-1_35\*.il?
+ del borland\link_test-borland-mt-1_35\*.csm
+ del borland\link_test-borland-mt-1_35\*.tds
+ del borland\*.tds
+
+borland\link_test-borland-mt-1_35.lib : borland\link_test-borland-mt-1_35\link_test.obj
+ bcc32 @&&|
+-lw-dup -lw-dpl -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -eborland\link_test-borland-mt-1_35.dll $(XLFLAGS) borland\link_test-borland-mt-1_35\link_test.obj $(LIBS)
+|
+ implib -w borland\link_test-borland-mt-1_35.lib borland\link_test-borland-mt-1_35.dll
+
+borland\link_test-borland-mt-1_35.exe : main.cpp borland\link_test-borland-mt-1_35.lib
+ bcc32 $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -DBOOST_DYN_LINK -L./borland -e./borland/link_test-borland-mt-1_35.exe main.cpp
+ echo running test program borland\link_test-borland-mt-1_35.exe
+ borland\link_test-borland-mt-1_35.exe
+
+########################################################
+#
+# section for link_test-borland-1_35.lib
+#
+########################################################
+borland\link_test-borland-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
+ bcc32 @&&|
+-c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_DYN_LINK -oborland\link_test-borland-1_35\link_test.obj link_test.cpp
+|
+
+borland\link_test-borland-1_35 :
+ -@mkdir borland\link_test-borland-1_35
+
+link_test-borland-1_35_clean :
+ del borland\link_test-borland-1_35\*.obj
+ del borland\link_test-borland-1_35\*.il?
+ del borland\link_test-borland-1_35\*.csm
+ del borland\link_test-borland-1_35\*.tds
+ del borland\*.tds
+
+borland\link_test-borland-1_35.lib : borland\link_test-borland-1_35\link_test.obj
+ bcc32 @&&|
+-lw-dup -lw-dpl -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -eborland\link_test-borland-1_35.dll $(XLFLAGS) borland\link_test-borland-1_35\link_test.obj $(LIBS)
+|
+ implib -w borland\link_test-borland-1_35.lib borland\link_test-borland-1_35.dll
+
+borland\link_test-borland-1_35.exe : main.cpp borland\link_test-borland-1_35.lib
+ bcc32 $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -DBOOST_DYN_LINK -L./borland -e./borland/link_test-borland-1_35.exe main.cpp
+ echo running test program borland\link_test-borland-1_35.exe
+ borland\link_test-borland-1_35.exe
+
+########################################################
+#
+# section for liblink_test-borland-mt-1_35.lib
+#
+########################################################
+borland\liblink_test-borland-mt-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
+ bcc32 @&&|
+-c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -oborland\liblink_test-borland-mt-1_35\link_test.obj link_test.cpp
+|
+
+borland\liblink_test-borland-mt-1_35 :
+ -@mkdir borland\liblink_test-borland-mt-1_35
+
+liblink_test-borland-mt-1_35_clean :
+ del borland\liblink_test-borland-mt-1_35\*.obj
+ del borland\liblink_test-borland-mt-1_35\*.il?
+ del borland\liblink_test-borland-mt-1_35\*.csm
+ del borland\liblink_test-borland-mt-1_35\*.tds
+
+borland\liblink_test-borland-mt-1_35.lib : borland\liblink_test-borland-mt-1_35\link_test.obj
+ tlib @&&|
+/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-mt-1_35.lib" "borland\liblink_test-borland-mt-1_35\link_test.obj"
+|
+
+borland\liblink_test-borland-mt-1_35.exe : main.cpp borland\liblink_test-borland-mt-1_35.lib
+ bcc32 $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-mt-1_35.exe main.cpp
+ echo running test progam borland\liblink_test-borland-mt-1_35.exe
+ borland\liblink_test-borland-mt-1_35.exe
+
+########################################################
+#
+# section for liblink_test-borland-1_35.lib
+#
+########################################################
+borland\liblink_test-borland-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
+ bcc32 @&&|
+-c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -oborland\liblink_test-borland-1_35\link_test.obj link_test.cpp
+|
+
+borland\liblink_test-borland-1_35 :
+ -@mkdir borland\liblink_test-borland-1_35
+
+liblink_test-borland-1_35_clean :
+ del borland\liblink_test-borland-1_35\*.obj
+ del borland\liblink_test-borland-1_35\*.il?
+ del borland\liblink_test-borland-1_35\*.csm
+ del borland\liblink_test-borland-1_35\*.tds
+
+borland\liblink_test-borland-1_35.lib : borland\liblink_test-borland-1_35\link_test.obj
+ tlib @&&|
+/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-1_35.lib" "borland\liblink_test-borland-1_35\link_test.obj"
+|
+
+borland\liblink_test-borland-1_35.exe : main.cpp borland\liblink_test-borland-1_35.lib
+ bcc32 $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -O2 -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-1_35.exe main.cpp
+ echo running test progam borland\liblink_test-borland-1_35.exe
+ borland\liblink_test-borland-1_35.exe
+
+########################################################
+#
+# section for liblink_test-borland-sd-1_35.lib
+#
+########################################################
+borland\liblink_test-borland-sd-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
+ bcc32 @&&|
+-c $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../../ $(CXXFLAGS) -oborland\liblink_test-borland-sd-1_35\link_test.obj link_test.cpp
+|
+
+borland\liblink_test-borland-sd-1_35 :
+ -@mkdir borland\liblink_test-borland-sd-1_35
+
+liblink_test-borland-sd-1_35_clean :
+ del borland\liblink_test-borland-sd-1_35\*.obj
+ del borland\liblink_test-borland-sd-1_35\*.il?
+ del borland\liblink_test-borland-sd-1_35\*.csm
+ del borland\liblink_test-borland-sd-1_35\*.tds
+
+borland\liblink_test-borland-sd-1_35.lib : borland\liblink_test-borland-sd-1_35\link_test.obj
+ tlib @&&|
+/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-sd-1_35.lib" "borland\liblink_test-borland-sd-1_35\link_test.obj"
+|
+
+borland\liblink_test-borland-sd-1_35.exe : main.cpp borland\liblink_test-borland-sd-1_35.lib
+ bcc32 $(INCLUDES) -tWM- -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8037 -w-8057 -DSTRICT; -I$(BCROOT)\include;../../../../ /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-sd-1_35.exe main.cpp
+ echo running test progam borland\liblink_test-borland-sd-1_35.exe
+ borland\liblink_test-borland-sd-1_35.exe
+
+########################################################
+#
+# section for liblink_test-borland-mt-sd-1_35.lib
+#
+########################################################
+borland\liblink_test-borland-mt-sd-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
+ bcc32 @&&|
+-c $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ $(CXXFLAGS) -oborland\liblink_test-borland-mt-sd-1_35\link_test.obj link_test.cpp
+|
+
+borland\liblink_test-borland-mt-sd-1_35 :
+ -@mkdir borland\liblink_test-borland-mt-sd-1_35
+
+liblink_test-borland-mt-sd-1_35_clean :
+ del borland\liblink_test-borland-mt-sd-1_35\*.obj
+ del borland\liblink_test-borland-mt-sd-1_35\*.il?
+ del borland\liblink_test-borland-mt-sd-1_35\*.csm
+ del borland\liblink_test-borland-mt-sd-1_35\*.tds
+
+borland\liblink_test-borland-mt-sd-1_35.lib : borland\liblink_test-borland-mt-sd-1_35\link_test.obj
+ tlib @&&|
+/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-mt-sd-1_35.lib" "borland\liblink_test-borland-mt-sd-1_35\link_test.obj"
+|
+
+borland\liblink_test-borland-mt-sd-1_35.exe : main.cpp borland\liblink_test-borland-mt-sd-1_35.lib
+ bcc32 $(INCLUDES) -tWM -D_NO_VCL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-mt-sd-1_35.exe main.cpp
+ echo running test progam borland\liblink_test-borland-mt-sd-1_35.exe
+ borland\liblink_test-borland-mt-sd-1_35.exe
+
+########################################################
+#
+# section for link_test-borland-mt-d-1_35.lib
+#
+########################################################
+borland\link_test-borland-mt-d-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
+ bcc32 @&&|
+-c $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_DYN_LINK -oborland\link_test-borland-mt-d-1_35\link_test.obj link_test.cpp
+|
+
+borland\link_test-borland-mt-d-1_35 :
+ -@mkdir borland\link_test-borland-mt-d-1_35
+
+link_test-borland-mt-d-1_35_clean :
+ del borland\link_test-borland-mt-d-1_35\*.obj
+ del borland\link_test-borland-mt-d-1_35\*.il?
+ del borland\link_test-borland-mt-d-1_35\*.csm
+ del borland\link_test-borland-mt-d-1_35\*.tds
+ del borland\*.tds
+
+borland\link_test-borland-mt-d-1_35.lib : borland\link_test-borland-mt-d-1_35\link_test.obj
+ bcc32 @&&|
+-lw-dup -lw-dpl -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -eborland\link_test-borland-mt-d-1_35.dll $(XLFLAGS) borland\link_test-borland-mt-d-1_35\link_test.obj $(LIBS)
+|
+ implib -w borland\link_test-borland-mt-d-1_35.lib borland\link_test-borland-mt-d-1_35.dll
+
+borland\link_test-borland-mt-d-1_35.exe : main.cpp borland\link_test-borland-mt-d-1_35.lib
+ bcc32 $(INCLUDES) -tWD -tWM -tWR -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -DBOOST_DYN_LINK -L./borland -e./borland/link_test-borland-mt-d-1_35.exe main.cpp
+ echo running test program borland\link_test-borland-mt-d-1_35.exe
+ borland\link_test-borland-mt-d-1_35.exe
+
+########################################################
+#
+# section for link_test-borland-d-1_35.lib
+#
+########################################################
+borland\link_test-borland-d-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
+ bcc32 @&&|
+-c $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -DBOOST_DYN_LINK -oborland\link_test-borland-d-1_35\link_test.obj link_test.cpp
+|
+
+borland\link_test-borland-d-1_35 :
+ -@mkdir borland\link_test-borland-d-1_35
+
+link_test-borland-d-1_35_clean :
+ del borland\link_test-borland-d-1_35\*.obj
+ del borland\link_test-borland-d-1_35\*.il?
+ del borland\link_test-borland-d-1_35\*.csm
+ del borland\link_test-borland-d-1_35\*.tds
+ del borland\*.tds
+
+borland\link_test-borland-d-1_35.lib : borland\link_test-borland-d-1_35\link_test.obj
+ bcc32 @&&|
+-lw-dup -lw-dpl -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; -eborland\link_test-borland-d-1_35.dll $(XLFLAGS) borland\link_test-borland-d-1_35\link_test.obj $(LIBS)
+|
+ implib -w borland\link_test-borland-d-1_35.lib borland\link_test-borland-d-1_35.dll
+
+borland\link_test-borland-d-1_35.exe : main.cpp borland\link_test-borland-d-1_35.lib
+ bcc32 $(INCLUDES) -tWD -tWR -tWM- -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -DBOOST_DYN_LINK -L./borland -e./borland/link_test-borland-d-1_35.exe main.cpp
+ echo running test program borland\link_test-borland-d-1_35.exe
+ borland\link_test-borland-d-1_35.exe
+
+########################################################
+#
+# section for liblink_test-borland-mt-d-1_35.lib
+#
+########################################################
+borland\liblink_test-borland-mt-d-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
+ bcc32 @&&|
+-c $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -oborland\liblink_test-borland-mt-d-1_35\link_test.obj link_test.cpp
+|
+
+borland\liblink_test-borland-mt-d-1_35 :
+ -@mkdir borland\liblink_test-borland-mt-d-1_35
+
+liblink_test-borland-mt-d-1_35_clean :
+ del borland\liblink_test-borland-mt-d-1_35\*.obj
+ del borland\liblink_test-borland-mt-d-1_35\*.il?
+ del borland\liblink_test-borland-mt-d-1_35\*.csm
+ del borland\liblink_test-borland-mt-d-1_35\*.tds
+
+borland\liblink_test-borland-mt-d-1_35.lib : borland\liblink_test-borland-mt-d-1_35\link_test.obj
+ tlib @&&|
+/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-mt-d-1_35.lib" "borland\liblink_test-borland-mt-d-1_35\link_test.obj"
+|
+
+borland\liblink_test-borland-mt-d-1_35.exe : main.cpp borland\liblink_test-borland-mt-d-1_35.lib
+ bcc32 $(INCLUDES) -tWD -tWM -tWR -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-mt-d-1_35.exe main.cpp
+ echo running test progam borland\liblink_test-borland-mt-d-1_35.exe
+ borland\liblink_test-borland-mt-d-1_35.exe
+
+########################################################
+#
+# section for liblink_test-borland-d-1_35.lib
+#
+########################################################
+borland\liblink_test-borland-d-1_35\link_test.obj: link_test.cpp $(ALL_HEADER)
+ bcc32 @&&|
+-c $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; $(CXXFLAGS) -oborland\liblink_test-borland-d-1_35\link_test.obj link_test.cpp
+|
+
+borland\liblink_test-borland-d-1_35 :
+ -@mkdir borland\liblink_test-borland-d-1_35
+
+liblink_test-borland-d-1_35_clean :
+ del borland\liblink_test-borland-d-1_35\*.obj
+ del borland\liblink_test-borland-d-1_35\*.il?
+ del borland\liblink_test-borland-d-1_35\*.csm
+ del borland\liblink_test-borland-d-1_35\*.tds
+
+borland\liblink_test-borland-d-1_35.lib : borland\liblink_test-borland-d-1_35\link_test.obj
+ tlib @&&|
+/P128 /C /u /a $(XSFLAGS) "borland\liblink_test-borland-d-1_35.lib" "borland\liblink_test-borland-d-1_35\link_test.obj"
+|
+
+borland\liblink_test-borland-d-1_35.exe : main.cpp borland\liblink_test-borland-d-1_35.lib
+ bcc32 $(INCLUDES) -tWD -tWR -tWM- -DBOOST_REGEX_STATIC_LINK -D_NO_VCL -D_RTLDLL -v -Ve -Vx -w-inl -w-aus -w-rch -w-8012 -w-8057 -w-8037 -DSTRICT; -I$(BCROOT)\include;../../../../ -L$(BCROOT)\lib;$(BCROOT)\lib\release; /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -L./borland -e./borland/liblink_test-borland-d-1_35.exe main.cpp
+ echo running test progam borland\liblink_test-borland-d-1_35.exe
+ borland\liblink_test-borland-d-1_35.exe
+
diff --git a/src/boost/libs/config/test/link/common.sh b/src/boost/libs/config/test/link/common.sh
new file mode 100644
index 000000000..9725a5c36
--- /dev/null
+++ b/src/boost/libs/config/test/link/common.sh
@@ -0,0 +1,19 @@
+# copyright John Maddock 2005
+# 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)
+#
+# locate all the header dependencies:
+header=""
+#
+# locate all the source files:
+src=link_test.cpp
+
+boost_version=$(grep 'define.*BOOST_LIB_VERSION' ../../../../boost/version.hpp | sed 's/.*"\([^"]*\)".*/\1/')
+
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/link/link_test.cpp b/src/boost/libs/config/test/link/link_test.cpp
new file mode 100644
index 000000000..be80bfcdc
--- /dev/null
+++ b/src/boost/libs/config/test/link/link_test.cpp
@@ -0,0 +1,54 @@
+// (C) Copyright John Maddock 2003.
+// 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.
+
+
+#define BOOST_CONFIG_SOURCE
+
+#include "link_test.hpp"
+#include <iostream>
+#include <iomanip>
+
+bool BOOST_CONFIG_DECL check_options(
+ bool m_dyn_link,
+ bool m_dyn_rtl,
+ bool m_has_threads,
+ bool m_debug,
+ bool m_stlp_debug)
+{
+ if(m_dyn_link != dyn_link)
+ {
+ std::cout << "Dynamic link options do not match" << std::endl;
+ std::cout << "Application setting = " << m_dyn_link << " Library setting = " << dyn_link << std::endl;
+ return false;
+ }
+ if(m_dyn_rtl != dyn_rtl)
+ {
+ std::cout << "Runtime library options do not match" << std::endl;
+ std::cout << "Application setting = " << m_dyn_rtl << " Library setting = " << dyn_rtl << std::endl;
+ return false;
+ }
+ if(m_has_threads != has_threads)
+ {
+ std::cout << "Threading options do not match" << std::endl;
+ std::cout << "Application setting = " << m_has_threads << " Library setting = " << has_threads << std::endl;
+ return false;
+ }
+ if(m_debug != debug)
+ {
+ std::cout << "Debug options do not match" << std::endl;
+ std::cout << "Application setting = " << m_debug << " Library setting = " << debug << std::endl;
+ return false;
+ }
+ if(m_stlp_debug != stl_debug)
+ {
+ std::cout << "STLPort debug options do not match" << std::endl;
+ std::cout << "Application setting = " << m_stlp_debug << " Library setting = " << stl_debug << std::endl;
+ return false;
+ }
+ return true;
+}
+
diff --git a/src/boost/libs/config/test/link/link_test.hpp b/src/boost/libs/config/test/link/link_test.hpp
new file mode 100644
index 000000000..c95d963a4
--- /dev/null
+++ b/src/boost/libs/config/test/link/link_test.hpp
@@ -0,0 +1,108 @@
+// (C) Copyright John Maddock 2003.
+// 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.
+
+#ifndef BOOST_LINK_TEST_HPP
+#define BOOST_LINK_TEST_HPP
+
+#include <boost/config.hpp>
+
+//
+// set up code to determine our compilers options,
+// we will check that these are the same in the
+// .exe and the .dll:
+//
+#ifdef BOOST_DYN_LINK
+static const bool dyn_link = true;
+#else
+static const bool dyn_link = false;
+#endif
+#if defined(_DLL) || defined(_RTLDLL)
+static const bool dyn_rtl = true;
+#else
+static const bool dyn_rtl = false;
+#endif
+#if defined(BOOST_HAS_THREADS)
+static const bool has_threads = true;
+#else
+static const bool has_threads = false;
+#endif
+#if defined(_DEBUG)
+static const bool debug = true;
+#else
+static const bool debug = false;
+#endif
+#if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
+static const bool stl_debug = true;
+#else
+static const bool stl_debug = false;
+#endif
+
+//
+// set up import and export options:
+//
+#if defined(BOOST_DYN_LINK)
+# ifdef BOOST_CONFIG_SOURCE
+# define BOOST_CONFIG_DECL BOOST_SYMBOL_EXPORT
+# else
+# define BOOST_CONFIG_DECL BOOST_SYMBOL_IMPORT
+# endif
+#endif
+#ifndef BOOST_CONFIG_DECL
+# define BOOST_CONFIG_DECL
+#endif
+
+//
+// define our entry point:
+//
+bool BOOST_CONFIG_DECL check_options(
+ bool m_dyn_link,
+ bool m_dyn_rtl,
+ bool m_has_threads,
+ bool m_debug,
+ bool m_stlp_debug);
+
+//
+// set up automatic linking:
+//
+#if !defined(BOOST_CONFIG_SOURCE) && !defined(BOOST_CONFIG_NO_LIB)
+# define BOOST_LIB_NAME link_test
+# include <boost/config/auto_link.hpp>
+#endif
+
+#ifndef BOOST_NO_CXX11_EXTERN_TEMPLATE
+
+template <class T>
+T test_free_proc(T v)
+{
+ return v;
+}
+
+template <class T>
+struct tester
+{
+ static int test();
+};
+
+template <class T>
+int tester<T>::test()
+{
+ return 0;
+}
+
+#ifdef BOOST_CONFIG_SOURCE
+template BOOST_SYMBOL_EXPORT int test_free_proc<int>(int);
+template BOOST_SYMBOL_EXPORT int tester<int>::test();
+#else
+extern template BOOST_SYMBOL_IMPORT int test_free_proc<int>(int);
+extern template BOOST_SYMBOL_IMPORT int tester<int>::test();
+#endif
+
+#endif // BOOST_NO_CXX11_EXTERN_TEMPLATE
+
+#endif // BOOST_LINK_TEST_HPP
+
+
diff --git a/src/boost/libs/config/test/link/main.cpp b/src/boost/libs/config/test/link/main.cpp
new file mode 100644
index 000000000..7233560e2
--- /dev/null
+++ b/src/boost/libs/config/test/link/main.cpp
@@ -0,0 +1,19 @@
+// (C) Copyright John Maddock 2003.
+// 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.
+
+#include "link_test.hpp"
+
+int main()
+{
+#ifndef BOOST_NO_CXX11_EXTERN_TEMPLATE
+ test_free_proc<int>(0);
+ tester<int>::test();
+#endif
+ return check_options(dyn_link, dyn_rtl, has_threads, debug, stl_debug) ? 0 : -1;
+}
+
+
diff --git a/src/boost/libs/config/test/link/test/Jamfile.v2 b/src/boost/libs/config/test/link/test/Jamfile.v2
new file mode 100644
index 000000000..251e52566
--- /dev/null
+++ b/src/boost/libs/config/test/link/test/Jamfile.v2
@@ -0,0 +1,117 @@
+# copyright John Maddock 2006
+# Use, modification and distribution are subject to the
+# Boost Software License, Version 1.0. (See accompanying file
+# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+import type ;
+
+type.register AUTOLINK_LIB ;
+
+import generators ;
+import "class" : new ;
+
+# This generator creates library using standard generators,
+# and then add <library-path> usage requirements with the
+# path of the created library.
+class autolink-generator : generator
+{
+ import generators ;
+ import "class" ;
+ import property-set ;
+ import path ;
+
+ rule run ( project name ? : property-set : sources + )
+ {
+ local result = [ generators.construct $(project) $(name)
+ : LIB : $(property-set) : $(sources) ] ;
+
+ local targets ;
+ local usage-requirements ;
+
+ if [ class.is-a $(result[1]) : property-set ]
+ {
+ usage-requirements = $(result[1]) ;
+ targets = $(result[2-]) ;
+ }
+ else
+ {
+ usage-requirements = [ property-set.empty ] ;
+ targets = $(result) ;
+ }
+
+ local extra ;
+ local paths ;
+ local pwd = [ path.pwd ] ;
+ for local t in $(targets)
+ {
+ if [ type.is-derived [ $(t).type ] LIB ]
+ {
+ paths += [ path.root [ path.make [ $(t).path ] ] $(pwd) ] ;
+ }
+ }
+ extra += $(paths:G=<library-path>) ;
+ if $(extra)
+ {
+ extra = [ sequence.unique $(extra) ] ;
+ usage-requirements = [ $(usage-requirements).add-raw $(extra) ] ;
+ }
+ return $(usage-requirements) $(targets) ;
+ }
+}
+
+generators.register [
+ new autolink-generator $(__name__).autolink : : AUTOLINK_LIB ] ;
+
+project : requirements -<threading>multi <hardcode-dll-paths>false ;
+
+autolink-lib link_test : ../link_test.cpp
+ : <link>shared:<define>BOOST_DYN_LINK=1
+ :
+ ;
+
+
+explicit link_test ;
+
+run ../main.cpp link_test
+ : : : <toolset>msvc-8.0:<build>no <toolset>msvc-9.0:<build>no <toolset>msvc-10.0:<build>no <toolset>msvc-11.0:<build>no <toolset>msvc-12.0:<build>no <link>static <runtime-link>static <threading>single debug : link_test_ssd ;
+
+run ../main.cpp link_test
+ : : : <toolset>msvc-8.0:<build>no <toolset>msvc-9.0:<build>no <toolset>msvc-10.0:<build>no <toolset>msvc-11.0:<build>no <toolset>msvc-12.0:<build>no <link>static <runtime-link>static <threading>single release : link_test_ssr ;
+
+run ../main.cpp link_test
+ : : : <link>static <runtime-link>static <threading>multi debug : link_test_smd ;
+
+run ../main.cpp link_test
+ : : : <link>static <runtime-link>static <threading>multi release : link_test_smr ;
+
+run ../main.cpp link_test
+ : : : <link>static <runtime-link>shared <threading>multi debug : link_test_dmd ;
+
+run ../main.cpp link_test
+ : : : <link>static <runtime-link>shared <threading>multi release : link_test_dmr ;
+
+run ../main.cpp link_test
+ : : : <link>static <runtime-link>shared <threading>single debug : link_test_dsd ;
+
+run ../main.cpp link_test
+ : : : <link>static <runtime-link>shared <threading>single release : link_test_dsr ;
+
+run ../main.cpp link_test
+ : : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>multi debug : link_test_dll_dmd ;
+
+run ../main.cpp link_test
+ : : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>multi release : link_test_dll_dmr ;
+
+run ../main.cpp link_test
+ : : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>single debug : link_test_dll_dsd ;
+
+run ../main.cpp link_test
+ : : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>single release : link_test_dll_dsr ;
+
+
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/link/vc6-stlport.mak b/src/boost/libs/config/test/link/vc6-stlport.mak
new file mode 100644
index 000000000..3eb3dc56d
--- /dev/null
+++ b/src/boost/libs/config/test/link/vc6-stlport.mak
@@ -0,0 +1,292 @@
+# copyright John Maddock 2005
+# 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)
+#
+# auto generated makefile for VC6+STLPort
+#
+# usage:
+# make
+# brings libraries up to date
+# make install
+# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
+#
+
+#
+# Add additional compiler options here:
+#
+CXXFLAGS=
+#
+# Add additional include directories here:
+#
+INCLUDES=
+#
+# add additional linker flags here:
+#
+XLFLAGS=
+#
+# add additional static-library creation flags here:
+#
+XSFLAGS=
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(MSVCDIR)" == ""
+!ERROR Variable MSVCDIR not set.
+!ENDIF
+
+!IF "$(STLPORT_PATH)" == ""
+!ERROR Variable STLPORT_PATH not set.
+!ENDIF
+
+
+ALL_HEADER=
+
+all : main_dir liblink_test-vc6-stlport-mt-s-1_35_dir ./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.lib ./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.exe liblink_test-vc6-stlport-mt-sgd-1_35_dir ./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.lib ./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.exe link_test-vc6-stlport-mt-gd-1_35_dir ./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.lib ./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.exe link_test-vc6-stlport-mt-1_35_dir ./vc6-stlport/link_test-vc6-stlport-mt-1_35.lib ./vc6-stlport/link_test-vc6-stlport-mt-1_35.exe liblink_test-vc6-stlport-mt-1_35_dir ./vc6-stlport/liblink_test-vc6-stlport-mt-1_35.lib ./vc6-stlport/liblink_test-vc6-stlport-mt-1_35.exe liblink_test-vc6-stlport-mt-gd-1_35_dir ./vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.lib ./vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.exe link_test-vc6-stlport-mt-pgd-1_35_dir ./vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.lib ./vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.exe liblink_test-vc6-stlport-mt-spgd-1_35_dir ./vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.lib ./vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.exe liblink_test-vc6-stlport-mt-pgd-1_35_dir ./vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.lib ./vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.exe
+
+clean : liblink_test-vc6-stlport-mt-s-1_35_clean liblink_test-vc6-stlport-mt-sgd-1_35_clean link_test-vc6-stlport-mt-gd-1_35_clean link_test-vc6-stlport-mt-1_35_clean liblink_test-vc6-stlport-mt-1_35_clean liblink_test-vc6-stlport-mt-gd-1_35_clean link_test-vc6-stlport-mt-pgd-1_35_clean liblink_test-vc6-stlport-mt-spgd-1_35_clean liblink_test-vc6-stlport-mt-pgd-1_35_clean
+
+install : stlport_check all
+ copy vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6-stlport\link_test-vc6-stlport-mt-gd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6-stlport\link_test-vc6-stlport-mt-gd-1_35.dll "$(MSVCDIR)\bin"
+ copy vc6-stlport\link_test-vc6-stlport-mt-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6-stlport\link_test-vc6-stlport-mt-1_35.dll "$(MSVCDIR)\bin"
+ copy vc6-stlport\liblink_test-vc6-stlport-mt-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35.dll "$(MSVCDIR)\bin"
+ copy vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35.pdb "$(MSVCDIR)\lib"
+
+main_dir :
+ @if not exist "vc6-stlport\$(NULL)" mkdir vc6-stlport
+
+stlport_check : $(STLPORT_PATH)\stlport\string
+ echo
+
+
+########################################################
+#
+# section for liblink_test-vc6-stlport-mt-s-1_35.lib
+#
+########################################################
+vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB $(CXXFLAGS) -Y- -Fo./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35/ -Fdvc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.pdb link_test.cpp
+
+liblink_test-vc6-stlport-mt-s-1_35_dir :
+ @if not exist "vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35\$(NULL)" mkdir vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35
+
+liblink_test-vc6-stlport-mt-s-1_35_clean :
+ del vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35\*.obj
+ del vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35\*.idb
+ del vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35\*.exp
+ del vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35\*.pch
+
+./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.lib : vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35/link_test.obj
+ link -lib /nologo /out:vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.lib $(XSFLAGS) vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35/link_test.obj
+
+./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.exe : main.cpp ./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.lib
+ cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/liblink_test-vc6-stlport-mt-s-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
+ vc6-stlport\liblink_test-vc6-stlport-mt-s-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc6-stlport-mt-sgd-1_35.lib
+#
+########################################################
+vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX $(CXXFLAGS) -Y- -Fo./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35/ -Fdvc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.pdb link_test.cpp
+
+liblink_test-vc6-stlport-mt-sgd-1_35_dir :
+ @if not exist "vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35\$(NULL)" mkdir vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35
+
+liblink_test-vc6-stlport-mt-sgd-1_35_clean :
+ del vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35\*.obj
+ del vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35\*.idb
+ del vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35\*.exp
+ del vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35\*.pch
+
+./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.lib : vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35/link_test.obj
+ link -lib /nologo /out:vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.lib $(XSFLAGS) vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35/link_test.obj
+
+./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.exe : main.cpp ./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.lib
+ cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/liblink_test-vc6-stlport-mt-sgd-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
+ vc6-stlport\liblink_test-vc6-stlport-mt-sgd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc6-stlport-mt-gd-1_35.lib
+#
+########################################################
+vc6-stlport/link_test-vc6-stlport-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX $(CXXFLAGS) -Y- -Fo./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35/ -Fdvc6-stlport/link_test-vc6-stlport-mt-gd-1_35.pdb link_test.cpp
+
+link_test-vc6-stlport-mt-gd-1_35_dir :
+ @if not exist "vc6-stlport\link_test-vc6-stlport-mt-gd-1_35\$(NULL)" mkdir vc6-stlport\link_test-vc6-stlport-mt-gd-1_35
+
+link_test-vc6-stlport-mt-gd-1_35_clean :
+ del vc6-stlport\link_test-vc6-stlport-mt-gd-1_35\*.obj
+ del vc6-stlport\link_test-vc6-stlport-mt-gd-1_35\*.idb
+ del vc6-stlport\link_test-vc6-stlport-mt-gd-1_35\*.exp
+ del vc6-stlport\link_test-vc6-stlport-mt-gd-1_35\*.pch
+
+./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.lib : vc6-stlport/link_test-vc6-stlport-mt-gd-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.dll" /implib:"vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6-stlport/link_test-vc6-stlport-mt-gd-1_35/link_test.obj
+
+./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.exe : main.cpp ./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/link_test-vc6-stlport-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
+ vc6-stlport\link_test-vc6-stlport-mt-gd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc6-stlport-mt-1_35.lib
+#
+########################################################
+vc6-stlport/link_test-vc6-stlport-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL $(CXXFLAGS) -Y- -Fo./vc6-stlport/link_test-vc6-stlport-mt-1_35/ -Fdvc6-stlport/link_test-vc6-stlport-mt-1_35.pdb link_test.cpp
+
+link_test-vc6-stlport-mt-1_35_dir :
+ @if not exist "vc6-stlport\link_test-vc6-stlport-mt-1_35\$(NULL)" mkdir vc6-stlport\link_test-vc6-stlport-mt-1_35
+
+link_test-vc6-stlport-mt-1_35_clean :
+ del vc6-stlport\link_test-vc6-stlport-mt-1_35\*.obj
+ del vc6-stlport\link_test-vc6-stlport-mt-1_35\*.idb
+ del vc6-stlport\link_test-vc6-stlport-mt-1_35\*.exp
+ del vc6-stlport\link_test-vc6-stlport-mt-1_35\*.pch
+
+./vc6-stlport/link_test-vc6-stlport-mt-1_35.lib : vc6-stlport/link_test-vc6-stlport-mt-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/link_test-vc6-stlport-mt-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/link_test-vc6-stlport-mt-1_35.dll" /implib:"vc6-stlport/link_test-vc6-stlport-mt-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6-stlport/link_test-vc6-stlport-mt-1_35/link_test.obj
+
+./vc6-stlport/link_test-vc6-stlport-mt-1_35.exe : main.cpp ./vc6-stlport/link_test-vc6-stlport-mt-1_35.lib
+ cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/link_test-vc6-stlport-mt-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
+ vc6-stlport\link_test-vc6-stlport-mt-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc6-stlport-mt-1_35.lib
+#
+########################################################
+vc6-stlport/liblink_test-vc6-stlport-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL $(CXXFLAGS) -Y- -Fo./vc6-stlport/liblink_test-vc6-stlport-mt-1_35/ -Fdvc6-stlport/liblink_test-vc6-stlport-mt-1_35.pdb link_test.cpp
+
+liblink_test-vc6-stlport-mt-1_35_dir :
+ @if not exist "vc6-stlport\liblink_test-vc6-stlport-mt-1_35\$(NULL)" mkdir vc6-stlport\liblink_test-vc6-stlport-mt-1_35
+
+liblink_test-vc6-stlport-mt-1_35_clean :
+ del vc6-stlport\liblink_test-vc6-stlport-mt-1_35\*.obj
+ del vc6-stlport\liblink_test-vc6-stlport-mt-1_35\*.idb
+ del vc6-stlport\liblink_test-vc6-stlport-mt-1_35\*.exp
+ del vc6-stlport\liblink_test-vc6-stlport-mt-1_35\*.pch
+
+./vc6-stlport/liblink_test-vc6-stlport-mt-1_35.lib : vc6-stlport/liblink_test-vc6-stlport-mt-1_35/link_test.obj
+ link -lib /nologo /out:vc6-stlport/liblink_test-vc6-stlport-mt-1_35.lib $(XSFLAGS) vc6-stlport/liblink_test-vc6-stlport-mt-1_35/link_test.obj
+
+./vc6-stlport/liblink_test-vc6-stlport-mt-1_35.exe : main.cpp ./vc6-stlport/liblink_test-vc6-stlport-mt-1_35.lib
+ cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/liblink_test-vc6-stlport-mt-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
+ vc6-stlport\liblink_test-vc6-stlport-mt-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc6-stlport-mt-gd-1_35.lib
+#
+########################################################
+vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX $(CXXFLAGS) -Y- -Fo./vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35/ -Fdvc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.pdb link_test.cpp
+
+liblink_test-vc6-stlport-mt-gd-1_35_dir :
+ @if not exist "vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35\$(NULL)" mkdir vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35
+
+liblink_test-vc6-stlport-mt-gd-1_35_clean :
+ del vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35\*.obj
+ del vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35\*.idb
+ del vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35\*.exp
+ del vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35\*.pch
+
+./vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.lib : vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35/link_test.obj
+ link -lib /nologo /out:vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.lib $(XSFLAGS) vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35/link_test.obj
+
+./vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.exe : main.cpp ./vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/liblink_test-vc6-stlport-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
+ vc6-stlport\liblink_test-vc6-stlport-mt-gd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc6-stlport-mt-pgd-1_35.lib
+#
+########################################################
+vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX $(CXXFLAGS) -Y- -Fo./vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35/ -Fdvc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.pdb link_test.cpp
+
+link_test-vc6-stlport-mt-pgd-1_35_dir :
+ @if not exist "vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35\$(NULL)" mkdir vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35
+
+link_test-vc6-stlport-mt-pgd-1_35_clean :
+ del vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35\*.obj
+ del vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35\*.idb
+ del vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35\*.exp
+ del vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35\*.pch
+
+./vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.lib : vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.pdb" /debug /machine:I386 /out:"vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.dll" /implib:"vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35/link_test.obj
+
+./vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.exe : main.cpp ./vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/link_test-vc6-stlport-mt-pgd-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
+ vc6-stlport\link_test-vc6-stlport-mt-pgd-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc6-stlport-mt-spgd-1_35.lib
+#
+########################################################
+vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX $(CXXFLAGS) -Y- -Fo./vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35/ -Fdvc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.pdb link_test.cpp
+
+liblink_test-vc6-stlport-mt-spgd-1_35_dir :
+ @if not exist "vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35\$(NULL)" mkdir vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35
+
+liblink_test-vc6-stlport-mt-spgd-1_35_clean :
+ del vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35\*.obj
+ del vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35\*.idb
+ del vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35\*.exp
+ del vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35\*.pch
+
+./vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.lib : vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35/link_test.obj
+ link -lib /nologo /out:vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.lib $(XSFLAGS) vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35/link_test.obj
+
+./vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.exe : main.cpp ./vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.lib
+ cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/liblink_test-vc6-stlport-mt-spgd-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
+ vc6-stlport\liblink_test-vc6-stlport-mt-spgd-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc6-stlport-mt-pgd-1_35.lib
+#
+########################################################
+vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX $(CXXFLAGS) -Y- -Fo./vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35/ -Fdvc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.pdb link_test.cpp
+
+liblink_test-vc6-stlport-mt-pgd-1_35_dir :
+ @if not exist "vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35\$(NULL)" mkdir vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35
+
+liblink_test-vc6-stlport-mt-pgd-1_35_clean :
+ del vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35\*.obj
+ del vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35\*.idb
+ del vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35\*.exp
+ del vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35\*.pch
+
+./vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.lib : vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35/link_test.obj
+ link -lib /nologo /out:vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.lib $(XSFLAGS) vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35/link_test.obj
+
+./vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.exe : main.cpp ./vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6-stlport/liblink_test-vc6-stlport-mt-pgd-1_35.exe main.cpp /link /LIBPATH:./vc6-stlport
+ vc6-stlport\liblink_test-vc6-stlport-mt-pgd-1_35.exe
+
diff --git a/src/boost/libs/config/test/link/vc6.mak b/src/boost/libs/config/test/link/vc6.mak
new file mode 100644
index 000000000..b5a7798f2
--- /dev/null
+++ b/src/boost/libs/config/test/link/vc6.mak
@@ -0,0 +1,260 @@
+# copyright John Maddock 2005
+# 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)
+#
+# auto generated makefile for VC6 compiler
+#
+# usage:
+# make
+# brings libraries up to date
+# make install
+# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
+#
+
+#
+# Add additional compiler options here:
+#
+CXXFLAGS=
+#
+# Add additional include directories here:
+#
+INCLUDES=
+#
+# add additional linker flags here:
+#
+XLFLAGS=
+#
+# add additional static-library creation flags here:
+#
+XSFLAGS=
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(MSVCDIR)" == ""
+!ERROR Variable MSVCDIR not set.
+!ENDIF
+
+
+ALL_HEADER=
+
+all : main_dir liblink_test-vc6-s-1_35_dir ./vc6/liblink_test-vc6-s-1_35.lib ./vc6/liblink_test-vc6-s-1_35.exe liblink_test-vc6-mt-s-1_35_dir ./vc6/liblink_test-vc6-mt-s-1_35.lib ./vc6/liblink_test-vc6-mt-s-1_35.exe liblink_test-vc6-sgd-1_35_dir ./vc6/liblink_test-vc6-sgd-1_35.lib ./vc6/liblink_test-vc6-sgd-1_35.exe liblink_test-vc6-mt-sgd-1_35_dir ./vc6/liblink_test-vc6-mt-sgd-1_35.lib ./vc6/liblink_test-vc6-mt-sgd-1_35.exe link_test-vc6-mt-gd-1_35_dir ./vc6/link_test-vc6-mt-gd-1_35.lib ./vc6/link_test-vc6-mt-gd-1_35.exe link_test-vc6-mt-1_35_dir ./vc6/link_test-vc6-mt-1_35.lib ./vc6/link_test-vc6-mt-1_35.exe liblink_test-vc6-mt-1_35_dir ./vc6/liblink_test-vc6-mt-1_35.lib ./vc6/liblink_test-vc6-mt-1_35.exe liblink_test-vc6-mt-gd-1_35_dir ./vc6/liblink_test-vc6-mt-gd-1_35.lib ./vc6/liblink_test-vc6-mt-gd-1_35.exe
+
+clean : liblink_test-vc6-s-1_35_clean liblink_test-vc6-mt-s-1_35_clean liblink_test-vc6-sgd-1_35_clean liblink_test-vc6-mt-sgd-1_35_clean link_test-vc6-mt-gd-1_35_clean link_test-vc6-mt-1_35_clean liblink_test-vc6-mt-1_35_clean liblink_test-vc6-mt-gd-1_35_clean
+
+install : all
+ copy vc6\liblink_test-vc6-s-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6\liblink_test-vc6-mt-s-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6\liblink_test-vc6-sgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6\liblink_test-vc6-sgd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc6\liblink_test-vc6-mt-sgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6\liblink_test-vc6-mt-sgd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc6\link_test-vc6-mt-gd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6\link_test-vc6-mt-gd-1_35.dll "$(MSVCDIR)\bin"
+ copy vc6\link_test-vc6-mt-gd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc6\link_test-vc6-mt-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6\link_test-vc6-mt-1_35.dll "$(MSVCDIR)\bin"
+ copy vc6\liblink_test-vc6-mt-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6\liblink_test-vc6-mt-gd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc6\liblink_test-vc6-mt-gd-1_35.pdb "$(MSVCDIR)\lib"
+
+main_dir :
+ @if not exist "vc6\$(NULL)" mkdir vc6
+
+
+########################################################
+#
+# section for liblink_test-vc6-s-1_35.lib
+#
+########################################################
+vc6/liblink_test-vc6-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD $(CXXFLAGS) -Y- -Fo./vc6/liblink_test-vc6-s-1_35/ -Fdvc6/liblink_test-vc6-s-1_35.pdb link_test.cpp
+
+liblink_test-vc6-s-1_35_dir :
+ @if not exist "vc6\liblink_test-vc6-s-1_35\$(NULL)" mkdir vc6\liblink_test-vc6-s-1_35
+
+liblink_test-vc6-s-1_35_clean :
+ del vc6\liblink_test-vc6-s-1_35\*.obj
+ del vc6\liblink_test-vc6-s-1_35\*.idb
+ del vc6\liblink_test-vc6-s-1_35\*.exp
+ del vc6\liblink_test-vc6-s-1_35\*.pch
+
+./vc6/liblink_test-vc6-s-1_35.lib : vc6/liblink_test-vc6-s-1_35/link_test.obj
+ link -lib /nologo /out:vc6/liblink_test-vc6-s-1_35.lib $(XSFLAGS) vc6/liblink_test-vc6-s-1_35/link_test.obj
+
+./vc6/liblink_test-vc6-s-1_35.exe : main.cpp ./vc6/liblink_test-vc6-s-1_35.lib
+ cl $(INCLUDES) /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/liblink_test-vc6-s-1_35.exe main.cpp /link /LIBPATH:./vc6
+ vc6\liblink_test-vc6-s-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc6-mt-s-1_35.lib
+#
+########################################################
+vc6/liblink_test-vc6-mt-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD $(CXXFLAGS) -Y- -Fo./vc6/liblink_test-vc6-mt-s-1_35/ -Fdvc6/liblink_test-vc6-mt-s-1_35.pdb link_test.cpp
+
+liblink_test-vc6-mt-s-1_35_dir :
+ @if not exist "vc6\liblink_test-vc6-mt-s-1_35\$(NULL)" mkdir vc6\liblink_test-vc6-mt-s-1_35
+
+liblink_test-vc6-mt-s-1_35_clean :
+ del vc6\liblink_test-vc6-mt-s-1_35\*.obj
+ del vc6\liblink_test-vc6-mt-s-1_35\*.idb
+ del vc6\liblink_test-vc6-mt-s-1_35\*.exp
+ del vc6\liblink_test-vc6-mt-s-1_35\*.pch
+
+./vc6/liblink_test-vc6-mt-s-1_35.lib : vc6/liblink_test-vc6-mt-s-1_35/link_test.obj
+ link -lib /nologo /out:vc6/liblink_test-vc6-mt-s-1_35.lib $(XSFLAGS) vc6/liblink_test-vc6-mt-s-1_35/link_test.obj
+
+./vc6/liblink_test-vc6-mt-s-1_35.exe : main.cpp ./vc6/liblink_test-vc6-mt-s-1_35.lib
+ cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/liblink_test-vc6-mt-s-1_35.exe main.cpp /link /LIBPATH:./vc6
+ vc6\liblink_test-vc6-mt-s-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc6-sgd-1_35.lib
+#
+########################################################
+vc6/liblink_test-vc6-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX $(CXXFLAGS) -Y- -Fo./vc6/liblink_test-vc6-sgd-1_35/ -Fdvc6/liblink_test-vc6-sgd-1_35.pdb link_test.cpp
+
+liblink_test-vc6-sgd-1_35_dir :
+ @if not exist "vc6\liblink_test-vc6-sgd-1_35\$(NULL)" mkdir vc6\liblink_test-vc6-sgd-1_35
+
+liblink_test-vc6-sgd-1_35_clean :
+ del vc6\liblink_test-vc6-sgd-1_35\*.obj
+ del vc6\liblink_test-vc6-sgd-1_35\*.idb
+ del vc6\liblink_test-vc6-sgd-1_35\*.exp
+ del vc6\liblink_test-vc6-sgd-1_35\*.pch
+
+./vc6/liblink_test-vc6-sgd-1_35.lib : vc6/liblink_test-vc6-sgd-1_35/link_test.obj
+ link -lib /nologo /out:vc6/liblink_test-vc6-sgd-1_35.lib $(XSFLAGS) vc6/liblink_test-vc6-sgd-1_35/link_test.obj
+
+./vc6/liblink_test-vc6-sgd-1_35.exe : main.cpp ./vc6/liblink_test-vc6-sgd-1_35.lib
+ cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/liblink_test-vc6-sgd-1_35.exe main.cpp /link /LIBPATH:./vc6
+ vc6\liblink_test-vc6-sgd-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc6-mt-sgd-1_35.lib
+#
+########################################################
+vc6/liblink_test-vc6-mt-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX $(CXXFLAGS) -Y- -Fo./vc6/liblink_test-vc6-mt-sgd-1_35/ -Fdvc6/liblink_test-vc6-mt-sgd-1_35.pdb link_test.cpp
+
+liblink_test-vc6-mt-sgd-1_35_dir :
+ @if not exist "vc6\liblink_test-vc6-mt-sgd-1_35\$(NULL)" mkdir vc6\liblink_test-vc6-mt-sgd-1_35
+
+liblink_test-vc6-mt-sgd-1_35_clean :
+ del vc6\liblink_test-vc6-mt-sgd-1_35\*.obj
+ del vc6\liblink_test-vc6-mt-sgd-1_35\*.idb
+ del vc6\liblink_test-vc6-mt-sgd-1_35\*.exp
+ del vc6\liblink_test-vc6-mt-sgd-1_35\*.pch
+
+./vc6/liblink_test-vc6-mt-sgd-1_35.lib : vc6/liblink_test-vc6-mt-sgd-1_35/link_test.obj
+ link -lib /nologo /out:vc6/liblink_test-vc6-mt-sgd-1_35.lib $(XSFLAGS) vc6/liblink_test-vc6-mt-sgd-1_35/link_test.obj
+
+./vc6/liblink_test-vc6-mt-sgd-1_35.exe : main.cpp ./vc6/liblink_test-vc6-mt-sgd-1_35.lib
+ cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/liblink_test-vc6-mt-sgd-1_35.exe main.cpp /link /LIBPATH:./vc6
+ vc6\liblink_test-vc6-mt-sgd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc6-mt-gd-1_35.lib
+#
+########################################################
+vc6/link_test-vc6-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX $(CXXFLAGS) -Y- -Fo./vc6/link_test-vc6-mt-gd-1_35/ -Fdvc6/link_test-vc6-mt-gd-1_35.pdb link_test.cpp
+
+link_test-vc6-mt-gd-1_35_dir :
+ @if not exist "vc6\link_test-vc6-mt-gd-1_35\$(NULL)" mkdir vc6\link_test-vc6-mt-gd-1_35
+
+link_test-vc6-mt-gd-1_35_clean :
+ del vc6\link_test-vc6-mt-gd-1_35\*.obj
+ del vc6\link_test-vc6-mt-gd-1_35\*.idb
+ del vc6\link_test-vc6-mt-gd-1_35\*.exp
+ del vc6\link_test-vc6-mt-gd-1_35\*.pch
+
+./vc6/link_test-vc6-mt-gd-1_35.lib : vc6/link_test-vc6-mt-gd-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6/link_test-vc6-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc6/link_test-vc6-mt-gd-1_35.dll" /implib:"vc6/link_test-vc6-mt-gd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6/link_test-vc6-mt-gd-1_35/link_test.obj
+
+./vc6/link_test-vc6-mt-gd-1_35.exe : main.cpp ./vc6/link_test-vc6-mt-gd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/link_test-vc6-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc6
+ vc6\link_test-vc6-mt-gd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc6-mt-1_35.lib
+#
+########################################################
+vc6/link_test-vc6-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD $(CXXFLAGS) -Y- -Fo./vc6/link_test-vc6-mt-1_35/ -Fdvc6/link_test-vc6-mt-1_35.pdb link_test.cpp
+
+link_test-vc6-mt-1_35_dir :
+ @if not exist "vc6\link_test-vc6-mt-1_35\$(NULL)" mkdir vc6\link_test-vc6-mt-1_35
+
+link_test-vc6-mt-1_35_clean :
+ del vc6\link_test-vc6-mt-1_35\*.obj
+ del vc6\link_test-vc6-mt-1_35\*.idb
+ del vc6\link_test-vc6-mt-1_35\*.exp
+ del vc6\link_test-vc6-mt-1_35\*.pch
+
+./vc6/link_test-vc6-mt-1_35.lib : vc6/link_test-vc6-mt-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc6/link_test-vc6-mt-1_35.pdb" /debug /machine:I386 /out:"vc6/link_test-vc6-mt-1_35.dll" /implib:"vc6/link_test-vc6-mt-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc6/link_test-vc6-mt-1_35/link_test.obj
+
+./vc6/link_test-vc6-mt-1_35.exe : main.cpp ./vc6/link_test-vc6-mt-1_35.lib
+ cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/link_test-vc6-mt-1_35.exe main.cpp /link /LIBPATH:./vc6
+ vc6\link_test-vc6-mt-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc6-mt-1_35.lib
+#
+########################################################
+vc6/liblink_test-vc6-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD $(CXXFLAGS) -Y- -Fo./vc6/liblink_test-vc6-mt-1_35/ -Fdvc6/liblink_test-vc6-mt-1_35.pdb link_test.cpp
+
+liblink_test-vc6-mt-1_35_dir :
+ @if not exist "vc6\liblink_test-vc6-mt-1_35\$(NULL)" mkdir vc6\liblink_test-vc6-mt-1_35
+
+liblink_test-vc6-mt-1_35_clean :
+ del vc6\liblink_test-vc6-mt-1_35\*.obj
+ del vc6\liblink_test-vc6-mt-1_35\*.idb
+ del vc6\liblink_test-vc6-mt-1_35\*.exp
+ del vc6\liblink_test-vc6-mt-1_35\*.pch
+
+./vc6/liblink_test-vc6-mt-1_35.lib : vc6/liblink_test-vc6-mt-1_35/link_test.obj
+ link -lib /nologo /out:vc6/liblink_test-vc6-mt-1_35.lib $(XSFLAGS) vc6/liblink_test-vc6-mt-1_35/link_test.obj
+
+./vc6/liblink_test-vc6-mt-1_35.exe : main.cpp ./vc6/liblink_test-vc6-mt-1_35.lib
+ cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/liblink_test-vc6-mt-1_35.exe main.cpp /link /LIBPATH:./vc6
+ vc6\liblink_test-vc6-mt-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc6-mt-gd-1_35.lib
+#
+########################################################
+vc6/liblink_test-vc6-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX $(CXXFLAGS) -Y- -Fo./vc6/liblink_test-vc6-mt-gd-1_35/ -Fdvc6/liblink_test-vc6-mt-gd-1_35.pdb link_test.cpp
+
+liblink_test-vc6-mt-gd-1_35_dir :
+ @if not exist "vc6\liblink_test-vc6-mt-gd-1_35\$(NULL)" mkdir vc6\liblink_test-vc6-mt-gd-1_35
+
+liblink_test-vc6-mt-gd-1_35_clean :
+ del vc6\liblink_test-vc6-mt-gd-1_35\*.obj
+ del vc6\liblink_test-vc6-mt-gd-1_35\*.idb
+ del vc6\liblink_test-vc6-mt-gd-1_35\*.exp
+ del vc6\liblink_test-vc6-mt-gd-1_35\*.pch
+
+./vc6/liblink_test-vc6-mt-gd-1_35.lib : vc6/liblink_test-vc6-mt-gd-1_35/link_test.obj
+ link -lib /nologo /out:vc6/liblink_test-vc6-mt-gd-1_35.lib $(XSFLAGS) vc6/liblink_test-vc6-mt-gd-1_35/link_test.obj
+
+./vc6/liblink_test-vc6-mt-gd-1_35.exe : main.cpp ./vc6/liblink_test-vc6-mt-gd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc6/liblink_test-vc6-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc6
+ vc6\liblink_test-vc6-mt-gd-1_35.exe
+
diff --git a/src/boost/libs/config/test/link/vc7-stlport.mak b/src/boost/libs/config/test/link/vc7-stlport.mak
new file mode 100644
index 000000000..5e500f197
--- /dev/null
+++ b/src/boost/libs/config/test/link/vc7-stlport.mak
@@ -0,0 +1,292 @@
+# copyright John Maddock 2005
+# 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)
+#
+# auto generated makefile for VC6+STLPort
+#
+# usage:
+# make
+# brings libraries up to date
+# make install
+# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
+#
+
+#
+# Add additional compiler options here:
+#
+CXXFLAGS=
+#
+# Add additional include directories here:
+#
+INCLUDES=
+#
+# add additional linker flags here:
+#
+XLFLAGS=
+#
+# add additional static-library creation flags here:
+#
+XSFLAGS=
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(MSVCDIR)" == ""
+!ERROR Variable MSVCDIR not set.
+!ENDIF
+
+!IF "$(STLPORT_PATH)" == ""
+!ERROR Variable STLPORT_PATH not set.
+!ENDIF
+
+
+ALL_HEADER=
+
+all : main_dir liblink_test-vc7-stlport-mt-s-1_35_dir ./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.lib ./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.exe liblink_test-vc7-stlport-mt-sgd-1_35_dir ./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.lib ./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.exe link_test-vc7-stlport-mt-gd-1_35_dir ./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.lib ./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.exe link_test-vc7-stlport-mt-1_35_dir ./vc7-stlport/link_test-vc7-stlport-mt-1_35.lib ./vc7-stlport/link_test-vc7-stlport-mt-1_35.exe liblink_test-vc7-stlport-mt-1_35_dir ./vc7-stlport/liblink_test-vc7-stlport-mt-1_35.lib ./vc7-stlport/liblink_test-vc7-stlport-mt-1_35.exe liblink_test-vc7-stlport-mt-gd-1_35_dir ./vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.lib ./vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.exe link_test-vc7-stlport-mt-pgd-1_35_dir ./vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.lib ./vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.exe liblink_test-vc7-stlport-mt-spgd-1_35_dir ./vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.lib ./vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.exe liblink_test-vc7-stlport-mt-pgd-1_35_dir ./vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.lib ./vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.exe
+
+clean : liblink_test-vc7-stlport-mt-s-1_35_clean liblink_test-vc7-stlport-mt-sgd-1_35_clean link_test-vc7-stlport-mt-gd-1_35_clean link_test-vc7-stlport-mt-1_35_clean liblink_test-vc7-stlport-mt-1_35_clean liblink_test-vc7-stlport-mt-gd-1_35_clean link_test-vc7-stlport-mt-pgd-1_35_clean liblink_test-vc7-stlport-mt-spgd-1_35_clean liblink_test-vc7-stlport-mt-pgd-1_35_clean
+
+install : stlport_check all
+ copy vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7-stlport\link_test-vc7-stlport-mt-gd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7-stlport\link_test-vc7-stlport-mt-gd-1_35.dll "$(MSVCDIR)\bin"
+ copy vc7-stlport\link_test-vc7-stlport-mt-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7-stlport\link_test-vc7-stlport-mt-1_35.dll "$(MSVCDIR)\bin"
+ copy vc7-stlport\liblink_test-vc7-stlport-mt-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35.dll "$(MSVCDIR)\bin"
+ copy vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35.pdb "$(MSVCDIR)\lib"
+
+main_dir :
+ @if not exist "vc7-stlport\$(NULL)" mkdir vc7-stlport
+
+stlport_check : $(STLPORT_PATH)\stlport\string
+ echo
+
+
+########################################################
+#
+# section for liblink_test-vc7-stlport-mt-s-1_35.lib
+#
+########################################################
+vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB $(CXXFLAGS) -Y- -Fo./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35/ -Fdvc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.pdb link_test.cpp
+
+liblink_test-vc7-stlport-mt-s-1_35_dir :
+ @if not exist "vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35\$(NULL)" mkdir vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35
+
+liblink_test-vc7-stlport-mt-s-1_35_clean :
+ del vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35\*.obj
+ del vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35\*.idb
+ del vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35\*.exp
+ del vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35\*.pch
+
+./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.lib : vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35/link_test.obj
+ link -lib /nologo /out:vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.lib $(XSFLAGS) vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35/link_test.obj
+
+./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.exe : main.cpp ./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.lib
+ cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/liblink_test-vc7-stlport-mt-s-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
+ vc7-stlport\liblink_test-vc7-stlport-mt-s-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc7-stlport-mt-sgd-1_35.lib
+#
+########################################################
+vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35/ -Fdvc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.pdb link_test.cpp
+
+liblink_test-vc7-stlport-mt-sgd-1_35_dir :
+ @if not exist "vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35\$(NULL)" mkdir vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35
+
+liblink_test-vc7-stlport-mt-sgd-1_35_clean :
+ del vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35\*.obj
+ del vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35\*.idb
+ del vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35\*.exp
+ del vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35\*.pch
+
+./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.lib : vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35/link_test.obj
+ link -lib /nologo /out:vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.lib $(XSFLAGS) vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35/link_test.obj
+
+./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.exe : main.cpp ./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.lib
+ cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/liblink_test-vc7-stlport-mt-sgd-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
+ vc7-stlport\liblink_test-vc7-stlport-mt-sgd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc7-stlport-mt-gd-1_35.lib
+#
+########################################################
+vc7-stlport/link_test-vc7-stlport-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35/ -Fdvc7-stlport/link_test-vc7-stlport-mt-gd-1_35.pdb link_test.cpp
+
+link_test-vc7-stlport-mt-gd-1_35_dir :
+ @if not exist "vc7-stlport\link_test-vc7-stlport-mt-gd-1_35\$(NULL)" mkdir vc7-stlport\link_test-vc7-stlport-mt-gd-1_35
+
+link_test-vc7-stlport-mt-gd-1_35_clean :
+ del vc7-stlport\link_test-vc7-stlport-mt-gd-1_35\*.obj
+ del vc7-stlport\link_test-vc7-stlport-mt-gd-1_35\*.idb
+ del vc7-stlport\link_test-vc7-stlport-mt-gd-1_35\*.exp
+ del vc7-stlport\link_test-vc7-stlport-mt-gd-1_35\*.pch
+
+./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.lib : vc7-stlport/link_test-vc7-stlport-mt-gd-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.dll" /implib:"vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7-stlport/link_test-vc7-stlport-mt-gd-1_35/link_test.obj
+
+./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.exe : main.cpp ./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/link_test-vc7-stlport-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
+ vc7-stlport\link_test-vc7-stlport-mt-gd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc7-stlport-mt-1_35.lib
+#
+########################################################
+vc7-stlport/link_test-vc7-stlport-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL $(CXXFLAGS) -Y- -Fo./vc7-stlport/link_test-vc7-stlport-mt-1_35/ -Fdvc7-stlport/link_test-vc7-stlport-mt-1_35.pdb link_test.cpp
+
+link_test-vc7-stlport-mt-1_35_dir :
+ @if not exist "vc7-stlport\link_test-vc7-stlport-mt-1_35\$(NULL)" mkdir vc7-stlport\link_test-vc7-stlport-mt-1_35
+
+link_test-vc7-stlport-mt-1_35_clean :
+ del vc7-stlport\link_test-vc7-stlport-mt-1_35\*.obj
+ del vc7-stlport\link_test-vc7-stlport-mt-1_35\*.idb
+ del vc7-stlport\link_test-vc7-stlport-mt-1_35\*.exp
+ del vc7-stlport\link_test-vc7-stlport-mt-1_35\*.pch
+
+./vc7-stlport/link_test-vc7-stlport-mt-1_35.lib : vc7-stlport/link_test-vc7-stlport-mt-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/link_test-vc7-stlport-mt-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/link_test-vc7-stlport-mt-1_35.dll" /implib:"vc7-stlport/link_test-vc7-stlport-mt-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7-stlport/link_test-vc7-stlport-mt-1_35/link_test.obj
+
+./vc7-stlport/link_test-vc7-stlport-mt-1_35.exe : main.cpp ./vc7-stlport/link_test-vc7-stlport-mt-1_35.lib
+ cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/link_test-vc7-stlport-mt-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
+ vc7-stlport\link_test-vc7-stlport-mt-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc7-stlport-mt-1_35.lib
+#
+########################################################
+vc7-stlport/liblink_test-vc7-stlport-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL $(CXXFLAGS) -Y- -Fo./vc7-stlport/liblink_test-vc7-stlport-mt-1_35/ -Fdvc7-stlport/liblink_test-vc7-stlport-mt-1_35.pdb link_test.cpp
+
+liblink_test-vc7-stlport-mt-1_35_dir :
+ @if not exist "vc7-stlport\liblink_test-vc7-stlport-mt-1_35\$(NULL)" mkdir vc7-stlport\liblink_test-vc7-stlport-mt-1_35
+
+liblink_test-vc7-stlport-mt-1_35_clean :
+ del vc7-stlport\liblink_test-vc7-stlport-mt-1_35\*.obj
+ del vc7-stlport\liblink_test-vc7-stlport-mt-1_35\*.idb
+ del vc7-stlport\liblink_test-vc7-stlport-mt-1_35\*.exp
+ del vc7-stlport\liblink_test-vc7-stlport-mt-1_35\*.pch
+
+./vc7-stlport/liblink_test-vc7-stlport-mt-1_35.lib : vc7-stlport/liblink_test-vc7-stlport-mt-1_35/link_test.obj
+ link -lib /nologo /out:vc7-stlport/liblink_test-vc7-stlport-mt-1_35.lib $(XSFLAGS) vc7-stlport/liblink_test-vc7-stlport-mt-1_35/link_test.obj
+
+./vc7-stlport/liblink_test-vc7-stlport-mt-1_35.exe : main.cpp ./vc7-stlport/liblink_test-vc7-stlport-mt-1_35.lib
+ cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/liblink_test-vc7-stlport-mt-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
+ vc7-stlport\liblink_test-vc7-stlport-mt-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc7-stlport-mt-gd-1_35.lib
+#
+########################################################
+vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35/ -Fdvc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.pdb link_test.cpp
+
+liblink_test-vc7-stlport-mt-gd-1_35_dir :
+ @if not exist "vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35\$(NULL)" mkdir vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35
+
+liblink_test-vc7-stlport-mt-gd-1_35_clean :
+ del vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35\*.obj
+ del vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35\*.idb
+ del vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35\*.exp
+ del vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35\*.pch
+
+./vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.lib : vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35/link_test.obj
+ link -lib /nologo /out:vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.lib $(XSFLAGS) vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35/link_test.obj
+
+./vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.exe : main.cpp ./vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/liblink_test-vc7-stlport-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
+ vc7-stlport\liblink_test-vc7-stlport-mt-gd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc7-stlport-mt-pgd-1_35.lib
+#
+########################################################
+vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35/ -Fdvc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.pdb link_test.cpp
+
+link_test-vc7-stlport-mt-pgd-1_35_dir :
+ @if not exist "vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35\$(NULL)" mkdir vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35
+
+link_test-vc7-stlport-mt-pgd-1_35_clean :
+ del vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35\*.obj
+ del vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35\*.idb
+ del vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35\*.exp
+ del vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35\*.pch
+
+./vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.lib : vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.pdb" /debug /machine:I386 /out:"vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.dll" /implib:"vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35/link_test.obj
+
+./vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.exe : main.cpp ./vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/link_test-vc7-stlport-mt-pgd-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
+ vc7-stlport\link_test-vc7-stlport-mt-pgd-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc7-stlport-mt-spgd-1_35.lib
+#
+########################################################
+vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35/ -Fdvc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.pdb link_test.cpp
+
+liblink_test-vc7-stlport-mt-spgd-1_35_dir :
+ @if not exist "vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35\$(NULL)" mkdir vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35
+
+liblink_test-vc7-stlport-mt-spgd-1_35_clean :
+ del vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35\*.obj
+ del vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35\*.idb
+ del vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35\*.exp
+ del vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35\*.pch
+
+./vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.lib : vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35/link_test.obj
+ link -lib /nologo /out:vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.lib $(XSFLAGS) vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35/link_test.obj
+
+./vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.exe : main.cpp ./vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.lib
+ cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/liblink_test-vc7-stlport-mt-spgd-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
+ vc7-stlport\liblink_test-vc7-stlport-mt-spgd-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc7-stlport-mt-pgd-1_35.lib
+#
+########################################################
+vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35/ -Fdvc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.pdb link_test.cpp
+
+liblink_test-vc7-stlport-mt-pgd-1_35_dir :
+ @if not exist "vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35\$(NULL)" mkdir vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35
+
+liblink_test-vc7-stlport-mt-pgd-1_35_clean :
+ del vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35\*.obj
+ del vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35\*.idb
+ del vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35\*.exp
+ del vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35\*.pch
+
+./vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.lib : vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35/link_test.obj
+ link -lib /nologo /out:vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.lib $(XSFLAGS) vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35/link_test.obj
+
+./vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.exe : main.cpp ./vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7-stlport/liblink_test-vc7-stlport-mt-pgd-1_35.exe main.cpp /link /LIBPATH:./vc7-stlport
+ vc7-stlport\liblink_test-vc7-stlport-mt-pgd-1_35.exe
+
diff --git a/src/boost/libs/config/test/link/vc7.mak b/src/boost/libs/config/test/link/vc7.mak
new file mode 100644
index 000000000..afae0c571
--- /dev/null
+++ b/src/boost/libs/config/test/link/vc7.mak
@@ -0,0 +1,260 @@
+# copyright John Maddock 2005
+# 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)
+#
+# auto generated makefile for VC6 compiler
+#
+# usage:
+# make
+# brings libraries up to date
+# make install
+# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
+#
+
+#
+# Add additional compiler options here:
+#
+CXXFLAGS=
+#
+# Add additional include directories here:
+#
+INCLUDES=
+#
+# add additional linker flags here:
+#
+XLFLAGS=
+#
+# add additional static-library creation flags here:
+#
+XSFLAGS=
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(MSVCDIR)" == ""
+!ERROR Variable MSVCDIR not set.
+!ENDIF
+
+
+ALL_HEADER=
+
+all : main_dir liblink_test-vc7-s-1_35_dir ./vc7/liblink_test-vc7-s-1_35.lib ./vc7/liblink_test-vc7-s-1_35.exe liblink_test-vc7-mt-s-1_35_dir ./vc7/liblink_test-vc7-mt-s-1_35.lib ./vc7/liblink_test-vc7-mt-s-1_35.exe liblink_test-vc7-sgd-1_35_dir ./vc7/liblink_test-vc7-sgd-1_35.lib ./vc7/liblink_test-vc7-sgd-1_35.exe liblink_test-vc7-mt-sgd-1_35_dir ./vc7/liblink_test-vc7-mt-sgd-1_35.lib ./vc7/liblink_test-vc7-mt-sgd-1_35.exe link_test-vc7-mt-gd-1_35_dir ./vc7/link_test-vc7-mt-gd-1_35.lib ./vc7/link_test-vc7-mt-gd-1_35.exe link_test-vc7-mt-1_35_dir ./vc7/link_test-vc7-mt-1_35.lib ./vc7/link_test-vc7-mt-1_35.exe liblink_test-vc7-mt-1_35_dir ./vc7/liblink_test-vc7-mt-1_35.lib ./vc7/liblink_test-vc7-mt-1_35.exe liblink_test-vc7-mt-gd-1_35_dir ./vc7/liblink_test-vc7-mt-gd-1_35.lib ./vc7/liblink_test-vc7-mt-gd-1_35.exe
+
+clean : liblink_test-vc7-s-1_35_clean liblink_test-vc7-mt-s-1_35_clean liblink_test-vc7-sgd-1_35_clean liblink_test-vc7-mt-sgd-1_35_clean link_test-vc7-mt-gd-1_35_clean link_test-vc7-mt-1_35_clean liblink_test-vc7-mt-1_35_clean liblink_test-vc7-mt-gd-1_35_clean
+
+install : all
+ copy vc7\liblink_test-vc7-s-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7\liblink_test-vc7-mt-s-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7\liblink_test-vc7-sgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7\liblink_test-vc7-sgd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc7\liblink_test-vc7-mt-sgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7\liblink_test-vc7-mt-sgd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc7\link_test-vc7-mt-gd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7\link_test-vc7-mt-gd-1_35.dll "$(MSVCDIR)\bin"
+ copy vc7\link_test-vc7-mt-gd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc7\link_test-vc7-mt-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7\link_test-vc7-mt-1_35.dll "$(MSVCDIR)\bin"
+ copy vc7\liblink_test-vc7-mt-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7\liblink_test-vc7-mt-gd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc7\liblink_test-vc7-mt-gd-1_35.pdb "$(MSVCDIR)\lib"
+
+main_dir :
+ @if not exist "vc7\$(NULL)" mkdir vc7
+
+
+########################################################
+#
+# section for liblink_test-vc7-s-1_35.lib
+#
+########################################################
+vc7/liblink_test-vc7-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD $(CXXFLAGS) -Y- -Fo./vc7/liblink_test-vc7-s-1_35/ -Fdvc7/liblink_test-vc7-s-1_35.pdb link_test.cpp
+
+liblink_test-vc7-s-1_35_dir :
+ @if not exist "vc7\liblink_test-vc7-s-1_35\$(NULL)" mkdir vc7\liblink_test-vc7-s-1_35
+
+liblink_test-vc7-s-1_35_clean :
+ del vc7\liblink_test-vc7-s-1_35\*.obj
+ del vc7\liblink_test-vc7-s-1_35\*.idb
+ del vc7\liblink_test-vc7-s-1_35\*.exp
+ del vc7\liblink_test-vc7-s-1_35\*.pch
+
+./vc7/liblink_test-vc7-s-1_35.lib : vc7/liblink_test-vc7-s-1_35/link_test.obj
+ link -lib /nologo /out:vc7/liblink_test-vc7-s-1_35.lib $(XSFLAGS) vc7/liblink_test-vc7-s-1_35/link_test.obj
+
+./vc7/liblink_test-vc7-s-1_35.exe : main.cpp ./vc7/liblink_test-vc7-s-1_35.lib
+ cl $(INCLUDES) /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/liblink_test-vc7-s-1_35.exe main.cpp /link /LIBPATH:./vc7
+ vc7\liblink_test-vc7-s-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc7-mt-s-1_35.lib
+#
+########################################################
+vc7/liblink_test-vc7-mt-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD $(CXXFLAGS) -Y- -Fo./vc7/liblink_test-vc7-mt-s-1_35/ -Fdvc7/liblink_test-vc7-mt-s-1_35.pdb link_test.cpp
+
+liblink_test-vc7-mt-s-1_35_dir :
+ @if not exist "vc7\liblink_test-vc7-mt-s-1_35\$(NULL)" mkdir vc7\liblink_test-vc7-mt-s-1_35
+
+liblink_test-vc7-mt-s-1_35_clean :
+ del vc7\liblink_test-vc7-mt-s-1_35\*.obj
+ del vc7\liblink_test-vc7-mt-s-1_35\*.idb
+ del vc7\liblink_test-vc7-mt-s-1_35\*.exp
+ del vc7\liblink_test-vc7-mt-s-1_35\*.pch
+
+./vc7/liblink_test-vc7-mt-s-1_35.lib : vc7/liblink_test-vc7-mt-s-1_35/link_test.obj
+ link -lib /nologo /out:vc7/liblink_test-vc7-mt-s-1_35.lib $(XSFLAGS) vc7/liblink_test-vc7-mt-s-1_35/link_test.obj
+
+./vc7/liblink_test-vc7-mt-s-1_35.exe : main.cpp ./vc7/liblink_test-vc7-mt-s-1_35.lib
+ cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/liblink_test-vc7-mt-s-1_35.exe main.cpp /link /LIBPATH:./vc7
+ vc7\liblink_test-vc7-mt-s-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc7-sgd-1_35.lib
+#
+########################################################
+vc7/liblink_test-vc7-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc7/liblink_test-vc7-sgd-1_35/ -Fdvc7/liblink_test-vc7-sgd-1_35.pdb link_test.cpp
+
+liblink_test-vc7-sgd-1_35_dir :
+ @if not exist "vc7\liblink_test-vc7-sgd-1_35\$(NULL)" mkdir vc7\liblink_test-vc7-sgd-1_35
+
+liblink_test-vc7-sgd-1_35_clean :
+ del vc7\liblink_test-vc7-sgd-1_35\*.obj
+ del vc7\liblink_test-vc7-sgd-1_35\*.idb
+ del vc7\liblink_test-vc7-sgd-1_35\*.exp
+ del vc7\liblink_test-vc7-sgd-1_35\*.pch
+
+./vc7/liblink_test-vc7-sgd-1_35.lib : vc7/liblink_test-vc7-sgd-1_35/link_test.obj
+ link -lib /nologo /out:vc7/liblink_test-vc7-sgd-1_35.lib $(XSFLAGS) vc7/liblink_test-vc7-sgd-1_35/link_test.obj
+
+./vc7/liblink_test-vc7-sgd-1_35.exe : main.cpp ./vc7/liblink_test-vc7-sgd-1_35.lib
+ cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/liblink_test-vc7-sgd-1_35.exe main.cpp /link /LIBPATH:./vc7
+ vc7\liblink_test-vc7-sgd-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc7-mt-sgd-1_35.lib
+#
+########################################################
+vc7/liblink_test-vc7-mt-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc7/liblink_test-vc7-mt-sgd-1_35/ -Fdvc7/liblink_test-vc7-mt-sgd-1_35.pdb link_test.cpp
+
+liblink_test-vc7-mt-sgd-1_35_dir :
+ @if not exist "vc7\liblink_test-vc7-mt-sgd-1_35\$(NULL)" mkdir vc7\liblink_test-vc7-mt-sgd-1_35
+
+liblink_test-vc7-mt-sgd-1_35_clean :
+ del vc7\liblink_test-vc7-mt-sgd-1_35\*.obj
+ del vc7\liblink_test-vc7-mt-sgd-1_35\*.idb
+ del vc7\liblink_test-vc7-mt-sgd-1_35\*.exp
+ del vc7\liblink_test-vc7-mt-sgd-1_35\*.pch
+
+./vc7/liblink_test-vc7-mt-sgd-1_35.lib : vc7/liblink_test-vc7-mt-sgd-1_35/link_test.obj
+ link -lib /nologo /out:vc7/liblink_test-vc7-mt-sgd-1_35.lib $(XSFLAGS) vc7/liblink_test-vc7-mt-sgd-1_35/link_test.obj
+
+./vc7/liblink_test-vc7-mt-sgd-1_35.exe : main.cpp ./vc7/liblink_test-vc7-mt-sgd-1_35.lib
+ cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/liblink_test-vc7-mt-sgd-1_35.exe main.cpp /link /LIBPATH:./vc7
+ vc7\liblink_test-vc7-mt-sgd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc7-mt-gd-1_35.lib
+#
+########################################################
+vc7/link_test-vc7-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc7/link_test-vc7-mt-gd-1_35/ -Fdvc7/link_test-vc7-mt-gd-1_35.pdb link_test.cpp
+
+link_test-vc7-mt-gd-1_35_dir :
+ @if not exist "vc7\link_test-vc7-mt-gd-1_35\$(NULL)" mkdir vc7\link_test-vc7-mt-gd-1_35
+
+link_test-vc7-mt-gd-1_35_clean :
+ del vc7\link_test-vc7-mt-gd-1_35\*.obj
+ del vc7\link_test-vc7-mt-gd-1_35\*.idb
+ del vc7\link_test-vc7-mt-gd-1_35\*.exp
+ del vc7\link_test-vc7-mt-gd-1_35\*.pch
+
+./vc7/link_test-vc7-mt-gd-1_35.lib : vc7/link_test-vc7-mt-gd-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7/link_test-vc7-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc7/link_test-vc7-mt-gd-1_35.dll" /implib:"vc7/link_test-vc7-mt-gd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7/link_test-vc7-mt-gd-1_35/link_test.obj
+
+./vc7/link_test-vc7-mt-gd-1_35.exe : main.cpp ./vc7/link_test-vc7-mt-gd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/link_test-vc7-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc7
+ vc7\link_test-vc7-mt-gd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc7-mt-1_35.lib
+#
+########################################################
+vc7/link_test-vc7-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD $(CXXFLAGS) -Y- -Fo./vc7/link_test-vc7-mt-1_35/ -Fdvc7/link_test-vc7-mt-1_35.pdb link_test.cpp
+
+link_test-vc7-mt-1_35_dir :
+ @if not exist "vc7\link_test-vc7-mt-1_35\$(NULL)" mkdir vc7\link_test-vc7-mt-1_35
+
+link_test-vc7-mt-1_35_clean :
+ del vc7\link_test-vc7-mt-1_35\*.obj
+ del vc7\link_test-vc7-mt-1_35\*.idb
+ del vc7\link_test-vc7-mt-1_35\*.exp
+ del vc7\link_test-vc7-mt-1_35\*.pch
+
+./vc7/link_test-vc7-mt-1_35.lib : vc7/link_test-vc7-mt-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc7/link_test-vc7-mt-1_35.pdb" /debug /machine:I386 /out:"vc7/link_test-vc7-mt-1_35.dll" /implib:"vc7/link_test-vc7-mt-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc7/link_test-vc7-mt-1_35/link_test.obj
+
+./vc7/link_test-vc7-mt-1_35.exe : main.cpp ./vc7/link_test-vc7-mt-1_35.lib
+ cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/link_test-vc7-mt-1_35.exe main.cpp /link /LIBPATH:./vc7
+ vc7\link_test-vc7-mt-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc7-mt-1_35.lib
+#
+########################################################
+vc7/liblink_test-vc7-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD $(CXXFLAGS) -Y- -Fo./vc7/liblink_test-vc7-mt-1_35/ -Fdvc7/liblink_test-vc7-mt-1_35.pdb link_test.cpp
+
+liblink_test-vc7-mt-1_35_dir :
+ @if not exist "vc7\liblink_test-vc7-mt-1_35\$(NULL)" mkdir vc7\liblink_test-vc7-mt-1_35
+
+liblink_test-vc7-mt-1_35_clean :
+ del vc7\liblink_test-vc7-mt-1_35\*.obj
+ del vc7\liblink_test-vc7-mt-1_35\*.idb
+ del vc7\liblink_test-vc7-mt-1_35\*.exp
+ del vc7\liblink_test-vc7-mt-1_35\*.pch
+
+./vc7/liblink_test-vc7-mt-1_35.lib : vc7/liblink_test-vc7-mt-1_35/link_test.obj
+ link -lib /nologo /out:vc7/liblink_test-vc7-mt-1_35.lib $(XSFLAGS) vc7/liblink_test-vc7-mt-1_35/link_test.obj
+
+./vc7/liblink_test-vc7-mt-1_35.exe : main.cpp ./vc7/liblink_test-vc7-mt-1_35.lib
+ cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/liblink_test-vc7-mt-1_35.exe main.cpp /link /LIBPATH:./vc7
+ vc7\liblink_test-vc7-mt-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc7-mt-gd-1_35.lib
+#
+########################################################
+vc7/liblink_test-vc7-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc7/liblink_test-vc7-mt-gd-1_35/ -Fdvc7/liblink_test-vc7-mt-gd-1_35.pdb link_test.cpp
+
+liblink_test-vc7-mt-gd-1_35_dir :
+ @if not exist "vc7\liblink_test-vc7-mt-gd-1_35\$(NULL)" mkdir vc7\liblink_test-vc7-mt-gd-1_35
+
+liblink_test-vc7-mt-gd-1_35_clean :
+ del vc7\liblink_test-vc7-mt-gd-1_35\*.obj
+ del vc7\liblink_test-vc7-mt-gd-1_35\*.idb
+ del vc7\liblink_test-vc7-mt-gd-1_35\*.exp
+ del vc7\liblink_test-vc7-mt-gd-1_35\*.pch
+
+./vc7/liblink_test-vc7-mt-gd-1_35.lib : vc7/liblink_test-vc7-mt-gd-1_35/link_test.obj
+ link -lib /nologo /out:vc7/liblink_test-vc7-mt-gd-1_35.lib $(XSFLAGS) vc7/liblink_test-vc7-mt-gd-1_35/link_test.obj
+
+./vc7/liblink_test-vc7-mt-gd-1_35.exe : main.cpp ./vc7/liblink_test-vc7-mt-gd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc7/liblink_test-vc7-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc7
+ vc7\liblink_test-vc7-mt-gd-1_35.exe
+
diff --git a/src/boost/libs/config/test/link/vc71-stlport.mak b/src/boost/libs/config/test/link/vc71-stlport.mak
new file mode 100644
index 000000000..5725e4cd6
--- /dev/null
+++ b/src/boost/libs/config/test/link/vc71-stlport.mak
@@ -0,0 +1,292 @@
+# copyright John Maddock 2005
+# 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)
+#
+# auto generated makefile for VC6+STLPort
+#
+# usage:
+# make
+# brings libraries up to date
+# make install
+# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
+#
+
+#
+# Add additional compiler options here:
+#
+CXXFLAGS=
+#
+# Add additional include directories here:
+#
+INCLUDES=
+#
+# add additional linker flags here:
+#
+XLFLAGS=
+#
+# add additional static-library creation flags here:
+#
+XSFLAGS=
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(MSVCDIR)" == ""
+!ERROR Variable MSVCDIR not set.
+!ENDIF
+
+!IF "$(STLPORT_PATH)" == ""
+!ERROR Variable STLPORT_PATH not set.
+!ENDIF
+
+
+ALL_HEADER=
+
+all : main_dir liblink_test-vc71-stlport-mt-s-1_35_dir ./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.lib ./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.exe liblink_test-vc71-stlport-mt-sgd-1_35_dir ./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.lib ./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.exe link_test-vc71-stlport-mt-gd-1_35_dir ./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.lib ./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.exe link_test-vc71-stlport-mt-1_35_dir ./vc71-stlport/link_test-vc71-stlport-mt-1_35.lib ./vc71-stlport/link_test-vc71-stlport-mt-1_35.exe liblink_test-vc71-stlport-mt-1_35_dir ./vc71-stlport/liblink_test-vc71-stlport-mt-1_35.lib ./vc71-stlport/liblink_test-vc71-stlport-mt-1_35.exe liblink_test-vc71-stlport-mt-gd-1_35_dir ./vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.lib ./vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.exe link_test-vc71-stlport-mt-pgd-1_35_dir ./vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.lib ./vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.exe liblink_test-vc71-stlport-mt-spgd-1_35_dir ./vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.lib ./vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.exe liblink_test-vc71-stlport-mt-pgd-1_35_dir ./vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.lib ./vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.exe
+
+clean : liblink_test-vc71-stlport-mt-s-1_35_clean liblink_test-vc71-stlport-mt-sgd-1_35_clean link_test-vc71-stlport-mt-gd-1_35_clean link_test-vc71-stlport-mt-1_35_clean liblink_test-vc71-stlport-mt-1_35_clean liblink_test-vc71-stlport-mt-gd-1_35_clean link_test-vc71-stlport-mt-pgd-1_35_clean liblink_test-vc71-stlport-mt-spgd-1_35_clean liblink_test-vc71-stlport-mt-pgd-1_35_clean
+
+install : stlport_check all
+ copy vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71-stlport\link_test-vc71-stlport-mt-gd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71-stlport\link_test-vc71-stlport-mt-gd-1_35.dll "$(MSVCDIR)\bin"
+ copy vc71-stlport\link_test-vc71-stlport-mt-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71-stlport\link_test-vc71-stlport-mt-1_35.dll "$(MSVCDIR)\bin"
+ copy vc71-stlport\liblink_test-vc71-stlport-mt-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35.dll "$(MSVCDIR)\bin"
+ copy vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35.pdb "$(MSVCDIR)\lib"
+
+main_dir :
+ @if not exist "vc71-stlport\$(NULL)" mkdir vc71-stlport
+
+stlport_check : $(STLPORT_PATH)\stlport\string
+ echo
+
+
+########################################################
+#
+# section for liblink_test-vc71-stlport-mt-s-1_35.lib
+#
+########################################################
+vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB $(CXXFLAGS) -Y- -Fo./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35/ -Fdvc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.pdb link_test.cpp
+
+liblink_test-vc71-stlport-mt-s-1_35_dir :
+ @if not exist "vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35\$(NULL)" mkdir vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35
+
+liblink_test-vc71-stlport-mt-s-1_35_clean :
+ del vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35\*.obj
+ del vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35\*.idb
+ del vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35\*.exp
+ del vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35\*.pch
+
+./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.lib : vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35/link_test.obj
+ link -lib /nologo /out:vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.lib $(XSFLAGS) vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35/link_test.obj
+
+./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.exe : main.cpp ./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.lib
+ cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/liblink_test-vc71-stlport-mt-s-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
+ vc71-stlport\liblink_test-vc71-stlport-mt-s-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc71-stlport-mt-sgd-1_35.lib
+#
+########################################################
+vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35/ -Fdvc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.pdb link_test.cpp
+
+liblink_test-vc71-stlport-mt-sgd-1_35_dir :
+ @if not exist "vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35\$(NULL)" mkdir vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35
+
+liblink_test-vc71-stlport-mt-sgd-1_35_clean :
+ del vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35\*.obj
+ del vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35\*.idb
+ del vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35\*.exp
+ del vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35\*.pch
+
+./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.lib : vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35/link_test.obj
+ link -lib /nologo /out:vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.lib $(XSFLAGS) vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35/link_test.obj
+
+./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.exe : main.cpp ./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.lib
+ cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/liblink_test-vc71-stlport-mt-sgd-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
+ vc71-stlport\liblink_test-vc71-stlport-mt-sgd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc71-stlport-mt-gd-1_35.lib
+#
+########################################################
+vc71-stlport/link_test-vc71-stlport-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35/ -Fdvc71-stlport/link_test-vc71-stlport-mt-gd-1_35.pdb link_test.cpp
+
+link_test-vc71-stlport-mt-gd-1_35_dir :
+ @if not exist "vc71-stlport\link_test-vc71-stlport-mt-gd-1_35\$(NULL)" mkdir vc71-stlport\link_test-vc71-stlport-mt-gd-1_35
+
+link_test-vc71-stlport-mt-gd-1_35_clean :
+ del vc71-stlport\link_test-vc71-stlport-mt-gd-1_35\*.obj
+ del vc71-stlport\link_test-vc71-stlport-mt-gd-1_35\*.idb
+ del vc71-stlport\link_test-vc71-stlport-mt-gd-1_35\*.exp
+ del vc71-stlport\link_test-vc71-stlport-mt-gd-1_35\*.pch
+
+./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.lib : vc71-stlport/link_test-vc71-stlport-mt-gd-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.dll" /implib:"vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71-stlport/link_test-vc71-stlport-mt-gd-1_35/link_test.obj
+
+./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.exe : main.cpp ./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/link_test-vc71-stlport-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
+ vc71-stlport\link_test-vc71-stlport-mt-gd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc71-stlport-mt-1_35.lib
+#
+########################################################
+vc71-stlport/link_test-vc71-stlport-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL $(CXXFLAGS) -Y- -Fo./vc71-stlport/link_test-vc71-stlport-mt-1_35/ -Fdvc71-stlport/link_test-vc71-stlport-mt-1_35.pdb link_test.cpp
+
+link_test-vc71-stlport-mt-1_35_dir :
+ @if not exist "vc71-stlport\link_test-vc71-stlport-mt-1_35\$(NULL)" mkdir vc71-stlport\link_test-vc71-stlport-mt-1_35
+
+link_test-vc71-stlport-mt-1_35_clean :
+ del vc71-stlport\link_test-vc71-stlport-mt-1_35\*.obj
+ del vc71-stlport\link_test-vc71-stlport-mt-1_35\*.idb
+ del vc71-stlport\link_test-vc71-stlport-mt-1_35\*.exp
+ del vc71-stlport\link_test-vc71-stlport-mt-1_35\*.pch
+
+./vc71-stlport/link_test-vc71-stlport-mt-1_35.lib : vc71-stlport/link_test-vc71-stlport-mt-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/link_test-vc71-stlport-mt-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/link_test-vc71-stlport-mt-1_35.dll" /implib:"vc71-stlport/link_test-vc71-stlport-mt-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71-stlport/link_test-vc71-stlport-mt-1_35/link_test.obj
+
+./vc71-stlport/link_test-vc71-stlport-mt-1_35.exe : main.cpp ./vc71-stlport/link_test-vc71-stlport-mt-1_35.lib
+ cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/link_test-vc71-stlport-mt-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
+ vc71-stlport\link_test-vc71-stlport-mt-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc71-stlport-mt-1_35.lib
+#
+########################################################
+vc71-stlport/liblink_test-vc71-stlport-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL $(CXXFLAGS) -Y- -Fo./vc71-stlport/liblink_test-vc71-stlport-mt-1_35/ -Fdvc71-stlport/liblink_test-vc71-stlport-mt-1_35.pdb link_test.cpp
+
+liblink_test-vc71-stlport-mt-1_35_dir :
+ @if not exist "vc71-stlport\liblink_test-vc71-stlport-mt-1_35\$(NULL)" mkdir vc71-stlport\liblink_test-vc71-stlport-mt-1_35
+
+liblink_test-vc71-stlport-mt-1_35_clean :
+ del vc71-stlport\liblink_test-vc71-stlport-mt-1_35\*.obj
+ del vc71-stlport\liblink_test-vc71-stlport-mt-1_35\*.idb
+ del vc71-stlport\liblink_test-vc71-stlport-mt-1_35\*.exp
+ del vc71-stlport\liblink_test-vc71-stlport-mt-1_35\*.pch
+
+./vc71-stlport/liblink_test-vc71-stlport-mt-1_35.lib : vc71-stlport/liblink_test-vc71-stlport-mt-1_35/link_test.obj
+ link -lib /nologo /out:vc71-stlport/liblink_test-vc71-stlport-mt-1_35.lib $(XSFLAGS) vc71-stlport/liblink_test-vc71-stlport-mt-1_35/link_test.obj
+
+./vc71-stlport/liblink_test-vc71-stlport-mt-1_35.exe : main.cpp ./vc71-stlport/liblink_test-vc71-stlport-mt-1_35.lib
+ cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/liblink_test-vc71-stlport-mt-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
+ vc71-stlport\liblink_test-vc71-stlport-mt-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc71-stlport-mt-gd-1_35.lib
+#
+########################################################
+vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35/ -Fdvc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.pdb link_test.cpp
+
+liblink_test-vc71-stlport-mt-gd-1_35_dir :
+ @if not exist "vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35\$(NULL)" mkdir vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35
+
+liblink_test-vc71-stlport-mt-gd-1_35_clean :
+ del vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35\*.obj
+ del vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35\*.idb
+ del vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35\*.exp
+ del vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35\*.pch
+
+./vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.lib : vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35/link_test.obj
+ link -lib /nologo /out:vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.lib $(XSFLAGS) vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35/link_test.obj
+
+./vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.exe : main.cpp ./vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/liblink_test-vc71-stlport-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
+ vc71-stlport\liblink_test-vc71-stlport-mt-gd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc71-stlport-mt-pgd-1_35.lib
+#
+########################################################
+vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35/ -Fdvc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.pdb link_test.cpp
+
+link_test-vc71-stlport-mt-pgd-1_35_dir :
+ @if not exist "vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35\$(NULL)" mkdir vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35
+
+link_test-vc71-stlport-mt-pgd-1_35_clean :
+ del vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35\*.obj
+ del vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35\*.idb
+ del vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35\*.exp
+ del vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35\*.pch
+
+./vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.lib : vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.pdb" /debug /machine:I386 /out:"vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.dll" /implib:"vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35/link_test.obj
+
+./vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.exe : main.cpp ./vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/link_test-vc71-stlport-mt-pgd-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
+ vc71-stlport\link_test-vc71-stlport-mt-pgd-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc71-stlport-mt-spgd-1_35.lib
+#
+########################################################
+vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35/ -Fdvc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.pdb link_test.cpp
+
+liblink_test-vc71-stlport-mt-spgd-1_35_dir :
+ @if not exist "vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35\$(NULL)" mkdir vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35
+
+liblink_test-vc71-stlport-mt-spgd-1_35_clean :
+ del vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35\*.obj
+ del vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35\*.idb
+ del vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35\*.exp
+ del vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35\*.pch
+
+./vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.lib : vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35/link_test.obj
+ link -lib /nologo /out:vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.lib $(XSFLAGS) vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35/link_test.obj
+
+./vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.exe : main.cpp ./vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.lib
+ cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/liblink_test-vc71-stlport-mt-spgd-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
+ vc71-stlport\liblink_test-vc71-stlport-mt-spgd-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc71-stlport-mt-pgd-1_35.lib
+#
+########################################################
+vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35/ -Fdvc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.pdb link_test.cpp
+
+liblink_test-vc71-stlport-mt-pgd-1_35_dir :
+ @if not exist "vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35\$(NULL)" mkdir vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35
+
+liblink_test-vc71-stlport-mt-pgd-1_35_clean :
+ del vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35\*.obj
+ del vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35\*.idb
+ del vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35\*.exp
+ del vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35\*.pch
+
+./vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.lib : vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35/link_test.obj
+ link -lib /nologo /out:vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.lib $(XSFLAGS) vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35/link_test.obj
+
+./vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.exe : main.cpp ./vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71-stlport/liblink_test-vc71-stlport-mt-pgd-1_35.exe main.cpp /link /LIBPATH:./vc71-stlport
+ vc71-stlport\liblink_test-vc71-stlport-mt-pgd-1_35.exe
+
diff --git a/src/boost/libs/config/test/link/vc71.mak b/src/boost/libs/config/test/link/vc71.mak
new file mode 100644
index 000000000..887394631
--- /dev/null
+++ b/src/boost/libs/config/test/link/vc71.mak
@@ -0,0 +1,260 @@
+# copyright John Maddock 2005
+# 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)
+#
+# auto generated makefile for VC6 compiler
+#
+# usage:
+# make
+# brings libraries up to date
+# make install
+# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
+#
+
+#
+# Add additional compiler options here:
+#
+CXXFLAGS=
+#
+# Add additional include directories here:
+#
+INCLUDES=
+#
+# add additional linker flags here:
+#
+XLFLAGS=
+#
+# add additional static-library creation flags here:
+#
+XSFLAGS=
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(MSVCDIR)" == ""
+!ERROR Variable MSVCDIR not set.
+!ENDIF
+
+
+ALL_HEADER=
+
+all : main_dir liblink_test-vc71-s-1_35_dir ./vc71/liblink_test-vc71-s-1_35.lib ./vc71/liblink_test-vc71-s-1_35.exe liblink_test-vc71-mt-s-1_35_dir ./vc71/liblink_test-vc71-mt-s-1_35.lib ./vc71/liblink_test-vc71-mt-s-1_35.exe liblink_test-vc71-sgd-1_35_dir ./vc71/liblink_test-vc71-sgd-1_35.lib ./vc71/liblink_test-vc71-sgd-1_35.exe liblink_test-vc71-mt-sgd-1_35_dir ./vc71/liblink_test-vc71-mt-sgd-1_35.lib ./vc71/liblink_test-vc71-mt-sgd-1_35.exe link_test-vc71-mt-gd-1_35_dir ./vc71/link_test-vc71-mt-gd-1_35.lib ./vc71/link_test-vc71-mt-gd-1_35.exe link_test-vc71-mt-1_35_dir ./vc71/link_test-vc71-mt-1_35.lib ./vc71/link_test-vc71-mt-1_35.exe liblink_test-vc71-mt-1_35_dir ./vc71/liblink_test-vc71-mt-1_35.lib ./vc71/liblink_test-vc71-mt-1_35.exe liblink_test-vc71-mt-gd-1_35_dir ./vc71/liblink_test-vc71-mt-gd-1_35.lib ./vc71/liblink_test-vc71-mt-gd-1_35.exe
+
+clean : liblink_test-vc71-s-1_35_clean liblink_test-vc71-mt-s-1_35_clean liblink_test-vc71-sgd-1_35_clean liblink_test-vc71-mt-sgd-1_35_clean link_test-vc71-mt-gd-1_35_clean link_test-vc71-mt-1_35_clean liblink_test-vc71-mt-1_35_clean liblink_test-vc71-mt-gd-1_35_clean
+
+install : all
+ copy vc71\liblink_test-vc71-s-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71\liblink_test-vc71-mt-s-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71\liblink_test-vc71-sgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71\liblink_test-vc71-sgd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc71\liblink_test-vc71-mt-sgd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71\liblink_test-vc71-mt-sgd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc71\link_test-vc71-mt-gd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71\link_test-vc71-mt-gd-1_35.dll "$(MSVCDIR)\bin"
+ copy vc71\link_test-vc71-mt-gd-1_35.pdb "$(MSVCDIR)\lib"
+ copy vc71\link_test-vc71-mt-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71\link_test-vc71-mt-1_35.dll "$(MSVCDIR)\bin"
+ copy vc71\liblink_test-vc71-mt-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71\liblink_test-vc71-mt-gd-1_35.lib "$(MSVCDIR)\lib"
+ copy vc71\liblink_test-vc71-mt-gd-1_35.pdb "$(MSVCDIR)\lib"
+
+main_dir :
+ @if not exist "vc71\$(NULL)" mkdir vc71
+
+
+########################################################
+#
+# section for liblink_test-vc71-s-1_35.lib
+#
+########################################################
+vc71/liblink_test-vc71-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD $(CXXFLAGS) -Y- -Fo./vc71/liblink_test-vc71-s-1_35/ -Fdvc71/liblink_test-vc71-s-1_35.pdb link_test.cpp
+
+liblink_test-vc71-s-1_35_dir :
+ @if not exist "vc71\liblink_test-vc71-s-1_35\$(NULL)" mkdir vc71\liblink_test-vc71-s-1_35
+
+liblink_test-vc71-s-1_35_clean :
+ del vc71\liblink_test-vc71-s-1_35\*.obj
+ del vc71\liblink_test-vc71-s-1_35\*.idb
+ del vc71\liblink_test-vc71-s-1_35\*.exp
+ del vc71\liblink_test-vc71-s-1_35\*.pch
+
+./vc71/liblink_test-vc71-s-1_35.lib : vc71/liblink_test-vc71-s-1_35/link_test.obj
+ link -lib /nologo /out:vc71/liblink_test-vc71-s-1_35.lib $(XSFLAGS) vc71/liblink_test-vc71-s-1_35/link_test.obj
+
+./vc71/liblink_test-vc71-s-1_35.exe : main.cpp ./vc71/liblink_test-vc71-s-1_35.lib
+ cl $(INCLUDES) /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/liblink_test-vc71-s-1_35.exe main.cpp /link /LIBPATH:./vc71
+ vc71\liblink_test-vc71-s-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc71-mt-s-1_35.lib
+#
+########################################################
+vc71/liblink_test-vc71-mt-s-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD $(CXXFLAGS) -Y- -Fo./vc71/liblink_test-vc71-mt-s-1_35/ -Fdvc71/liblink_test-vc71-mt-s-1_35.pdb link_test.cpp
+
+liblink_test-vc71-mt-s-1_35_dir :
+ @if not exist "vc71\liblink_test-vc71-mt-s-1_35\$(NULL)" mkdir vc71\liblink_test-vc71-mt-s-1_35
+
+liblink_test-vc71-mt-s-1_35_clean :
+ del vc71\liblink_test-vc71-mt-s-1_35\*.obj
+ del vc71\liblink_test-vc71-mt-s-1_35\*.idb
+ del vc71\liblink_test-vc71-mt-s-1_35\*.exp
+ del vc71\liblink_test-vc71-mt-s-1_35\*.pch
+
+./vc71/liblink_test-vc71-mt-s-1_35.lib : vc71/liblink_test-vc71-mt-s-1_35/link_test.obj
+ link -lib /nologo /out:vc71/liblink_test-vc71-mt-s-1_35.lib $(XSFLAGS) vc71/liblink_test-vc71-mt-s-1_35/link_test.obj
+
+./vc71/liblink_test-vc71-mt-s-1_35.exe : main.cpp ./vc71/liblink_test-vc71-mt-s-1_35.lib
+ cl $(INCLUDES) /nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/liblink_test-vc71-mt-s-1_35.exe main.cpp /link /LIBPATH:./vc71
+ vc71\liblink_test-vc71-mt-s-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc71-sgd-1_35.lib
+#
+########################################################
+vc71/liblink_test-vc71-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc71/liblink_test-vc71-sgd-1_35/ -Fdvc71/liblink_test-vc71-sgd-1_35.pdb link_test.cpp
+
+liblink_test-vc71-sgd-1_35_dir :
+ @if not exist "vc71\liblink_test-vc71-sgd-1_35\$(NULL)" mkdir vc71\liblink_test-vc71-sgd-1_35
+
+liblink_test-vc71-sgd-1_35_clean :
+ del vc71\liblink_test-vc71-sgd-1_35\*.obj
+ del vc71\liblink_test-vc71-sgd-1_35\*.idb
+ del vc71\liblink_test-vc71-sgd-1_35\*.exp
+ del vc71\liblink_test-vc71-sgd-1_35\*.pch
+
+./vc71/liblink_test-vc71-sgd-1_35.lib : vc71/liblink_test-vc71-sgd-1_35/link_test.obj
+ link -lib /nologo /out:vc71/liblink_test-vc71-sgd-1_35.lib $(XSFLAGS) vc71/liblink_test-vc71-sgd-1_35/link_test.obj
+
+./vc71/liblink_test-vc71-sgd-1_35.exe : main.cpp ./vc71/liblink_test-vc71-sgd-1_35.lib
+ cl $(INCLUDES) /nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/liblink_test-vc71-sgd-1_35.exe main.cpp /link /LIBPATH:./vc71
+ vc71\liblink_test-vc71-sgd-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc71-mt-sgd-1_35.lib
+#
+########################################################
+vc71/liblink_test-vc71-mt-sgd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc71/liblink_test-vc71-mt-sgd-1_35/ -Fdvc71/liblink_test-vc71-mt-sgd-1_35.pdb link_test.cpp
+
+liblink_test-vc71-mt-sgd-1_35_dir :
+ @if not exist "vc71\liblink_test-vc71-mt-sgd-1_35\$(NULL)" mkdir vc71\liblink_test-vc71-mt-sgd-1_35
+
+liblink_test-vc71-mt-sgd-1_35_clean :
+ del vc71\liblink_test-vc71-mt-sgd-1_35\*.obj
+ del vc71\liblink_test-vc71-mt-sgd-1_35\*.idb
+ del vc71\liblink_test-vc71-mt-sgd-1_35\*.exp
+ del vc71\liblink_test-vc71-mt-sgd-1_35\*.pch
+
+./vc71/liblink_test-vc71-mt-sgd-1_35.lib : vc71/liblink_test-vc71-mt-sgd-1_35/link_test.obj
+ link -lib /nologo /out:vc71/liblink_test-vc71-mt-sgd-1_35.lib $(XSFLAGS) vc71/liblink_test-vc71-mt-sgd-1_35/link_test.obj
+
+./vc71/liblink_test-vc71-mt-sgd-1_35.exe : main.cpp ./vc71/liblink_test-vc71-mt-sgd-1_35.lib
+ cl $(INCLUDES) /nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/liblink_test-vc71-mt-sgd-1_35.exe main.cpp /link /LIBPATH:./vc71
+ vc71\liblink_test-vc71-mt-sgd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc71-mt-gd-1_35.lib
+#
+########################################################
+vc71/link_test-vc71-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc71/link_test-vc71-mt-gd-1_35/ -Fdvc71/link_test-vc71-mt-gd-1_35.pdb link_test.cpp
+
+link_test-vc71-mt-gd-1_35_dir :
+ @if not exist "vc71\link_test-vc71-mt-gd-1_35\$(NULL)" mkdir vc71\link_test-vc71-mt-gd-1_35
+
+link_test-vc71-mt-gd-1_35_clean :
+ del vc71\link_test-vc71-mt-gd-1_35\*.obj
+ del vc71\link_test-vc71-mt-gd-1_35\*.idb
+ del vc71\link_test-vc71-mt-gd-1_35\*.exp
+ del vc71\link_test-vc71-mt-gd-1_35\*.pch
+
+./vc71/link_test-vc71-mt-gd-1_35.lib : vc71/link_test-vc71-mt-gd-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71/link_test-vc71-mt-gd-1_35.pdb" /debug /machine:I386 /out:"vc71/link_test-vc71-mt-gd-1_35.dll" /implib:"vc71/link_test-vc71-mt-gd-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71/link_test-vc71-mt-gd-1_35/link_test.obj
+
+./vc71/link_test-vc71-mt-gd-1_35.exe : main.cpp ./vc71/link_test-vc71-mt-gd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/link_test-vc71-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc71
+ vc71\link_test-vc71-mt-gd-1_35.exe
+
+########################################################
+#
+# section for link_test-vc71-mt-1_35.lib
+#
+########################################################
+vc71/link_test-vc71-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD $(CXXFLAGS) -Y- -Fo./vc71/link_test-vc71-mt-1_35/ -Fdvc71/link_test-vc71-mt-1_35.pdb link_test.cpp
+
+link_test-vc71-mt-1_35_dir :
+ @if not exist "vc71\link_test-vc71-mt-1_35\$(NULL)" mkdir vc71\link_test-vc71-mt-1_35
+
+link_test-vc71-mt-1_35_clean :
+ del vc71\link_test-vc71-mt-1_35\*.obj
+ del vc71\link_test-vc71-mt-1_35\*.idb
+ del vc71\link_test-vc71-mt-1_35\*.exp
+ del vc71\link_test-vc71-mt-1_35\*.pch
+
+./vc71/link_test-vc71-mt-1_35.lib : vc71/link_test-vc71-mt-1_35/link_test.obj
+ link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"vc71/link_test-vc71-mt-1_35.pdb" /debug /machine:I386 /out:"vc71/link_test-vc71-mt-1_35.dll" /implib:"vc71/link_test-vc71-mt-1_35.lib" /LIBPATH:$(STLPORT_PATH)\lib $(XLFLAGS) vc71/link_test-vc71-mt-1_35/link_test.obj
+
+./vc71/link_test-vc71-mt-1_35.exe : main.cpp ./vc71/link_test-vc71-mt-1_35.lib
+ cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/link_test-vc71-mt-1_35.exe main.cpp /link /LIBPATH:./vc71
+ vc71\link_test-vc71-mt-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc71-mt-1_35.lib
+#
+########################################################
+vc71/liblink_test-vc71-mt-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD $(CXXFLAGS) -Y- -Fo./vc71/liblink_test-vc71-mt-1_35/ -Fdvc71/liblink_test-vc71-mt-1_35.pdb link_test.cpp
+
+liblink_test-vc71-mt-1_35_dir :
+ @if not exist "vc71\liblink_test-vc71-mt-1_35\$(NULL)" mkdir vc71\liblink_test-vc71-mt-1_35
+
+liblink_test-vc71-mt-1_35_clean :
+ del vc71\liblink_test-vc71-mt-1_35\*.obj
+ del vc71\liblink_test-vc71-mt-1_35\*.idb
+ del vc71\liblink_test-vc71-mt-1_35\*.exp
+ del vc71\liblink_test-vc71-mt-1_35\*.pch
+
+./vc71/liblink_test-vc71-mt-1_35.lib : vc71/liblink_test-vc71-mt-1_35/link_test.obj
+ link -lib /nologo /out:vc71/liblink_test-vc71-mt-1_35.lib $(XSFLAGS) vc71/liblink_test-vc71-mt-1_35/link_test.obj
+
+./vc71/liblink_test-vc71-mt-1_35.exe : main.cpp ./vc71/liblink_test-vc71-mt-1_35.lib
+ cl $(INCLUDES) /nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/liblink_test-vc71-mt-1_35.exe main.cpp /link /LIBPATH:./vc71
+ vc71\liblink_test-vc71-mt-1_35.exe
+
+########################################################
+#
+# section for liblink_test-vc71-mt-gd-1_35.lib
+#
+########################################################
+vc71/liblink_test-vc71-mt-gd-1_35/link_test.obj: link_test.cpp $(ALL_HEADER)
+ cl /c $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 $(CXXFLAGS) -Y- -Fo./vc71/liblink_test-vc71-mt-gd-1_35/ -Fdvc71/liblink_test-vc71-mt-gd-1_35.pdb link_test.cpp
+
+liblink_test-vc71-mt-gd-1_35_dir :
+ @if not exist "vc71\liblink_test-vc71-mt-gd-1_35\$(NULL)" mkdir vc71\liblink_test-vc71-mt-gd-1_35
+
+liblink_test-vc71-mt-gd-1_35_clean :
+ del vc71\liblink_test-vc71-mt-gd-1_35\*.obj
+ del vc71\liblink_test-vc71-mt-gd-1_35\*.idb
+ del vc71\liblink_test-vc71-mt-gd-1_35\*.exp
+ del vc71\liblink_test-vc71-mt-gd-1_35\*.pch
+
+./vc71/liblink_test-vc71-mt-gd-1_35.lib : vc71/liblink_test-vc71-mt-gd-1_35/link_test.obj
+ link -lib /nologo /out:vc71/liblink_test-vc71-mt-gd-1_35.lib $(XSFLAGS) vc71/liblink_test-vc71-mt-gd-1_35/link_test.obj
+
+./vc71/liblink_test-vc71-mt-gd-1_35.exe : main.cpp ./vc71/liblink_test-vc71-mt-gd-1_35.lib
+ cl $(INCLUDES) /nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD /GX /RTC1 /DBOOST_LIB_DIAGNOSTIC=1 $(CXXFLAGS) -o ./vc71/liblink_test-vc71-mt-gd-1_35.exe main.cpp /link /LIBPATH:./vc71
+ vc71\liblink_test-vc71-mt-gd-1_35.exe
+
diff --git a/src/boost/libs/config/test/link/vc_gen.sh b/src/boost/libs/config/test/link/vc_gen.sh
new file mode 100644
index 000000000..a4f5dccaf
--- /dev/null
+++ b/src/boost/libs/config/test/link/vc_gen.sh
@@ -0,0 +1,424 @@
+#! /usr/bin/env bash
+# copyright John Maddock 2005
+# 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)
+
+libname=""
+src=""
+header=""
+all_dep=""
+
+# current makefile:
+out=""
+# temporary file:
+tout=""
+# install target temp file:
+iout=""
+# debug flag:
+debug="no"
+# compile options:
+opts=""
+# main output sub-directory:
+subdir=""
+# extra debug /RTc options:
+debug_extra=""
+
+function vc6_gen_lib()
+{
+ all_dep="$all_dep $libname""_dir ./$subdir/$libname.lib ./$subdir/$libname.exe"
+ echo " copy $subdir\\$libname.lib "'"$'"(MSVCDIR)\\lib"'"' >> $iout
+ if test $debug == "yes"; then
+ echo " copy $subdir\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout
+ fi
+#
+# set up section comments:
+ cat >> $tout << EOF
+########################################################
+#
+# section for $libname.lib
+#
+########################################################
+EOF
+#
+# process source files:
+ all_obj=""
+ for file in $src
+ do
+ obj=`echo "$file" | sed 's/\(.*\)cpp/\1obj/g'`
+ obj="$subdir/$libname/$obj"
+ all_obj="$all_obj $obj"
+ echo "$obj: $file \$(ALL_HEADER)" >> $tout
+ echo " cl /c \$(INCLUDES) $opts \$(CXXFLAGS) -Y- -Fo./$subdir/$libname/ -Fd$subdir/$libname.pdb $file" >> $tout
+ echo "" >> $tout
+ done
+#
+# now for the directories for this library:
+ echo "$libname"_dir : >> $tout
+ echo " @if not exist \"$subdir\\$libname\\\$(NULL)\" mkdir $subdir\\$libname" >> $tout
+ echo "" >> $tout
+#
+# now for the clean options for this library:
+ all_clean="$all_clean $libname""_clean"
+ echo "$libname"_clean : >> $tout
+ echo " del $subdir\\$libname\\"'*.obj' >> $tout
+ echo " del $subdir\\$libname\\"'*.idb' >> $tout
+ echo " del $subdir\\$libname\\"'*.exp' >> $tout
+ echo " del $subdir\\$libname\\"'*.pch' >> $tout
+ echo "" >> $tout
+#
+# now for the main target for this library:
+ echo ./$subdir/$libname.lib : $all_obj >> $tout
+ echo " link -lib /nologo /out:$subdir/$libname.lib \$(XSFLAGS) $all_obj" >> $tout
+ echo "" >> $tout
+# now the test program:
+ echo ./$subdir/$libname.exe : main.cpp ./$subdir/$libname.lib >> $tout
+ echo " cl \$(INCLUDES) $opts /DBOOST_LIB_DIAGNOSTIC=1 \$(CXXFLAGS) -o ./$subdir/$libname.exe main.cpp /link /LIBPATH:./$subdir" >> $tout
+ echo " $subdir"'\'"$libname.exe" >> $tout
+ echo "" >> $tout
+}
+
+function vc6_gen_dll()
+{
+ all_dep="$all_dep $libname""_dir ./$subdir/$libname.lib ./$subdir/$libname.exe"
+ echo " copy $subdir\\$libname.lib "'"$'"(MSVCDIR)\\lib"'"' >> $iout
+ echo " copy $subdir\\$libname.dll "'"$'"(MSVCDIR)\\bin"'"' >> $iout
+ if test $debug == "yes"; then
+ echo " copy $subdir\\$libname.pdb "'"$'"(MSVCDIR)\\lib"'"' >> $iout
+ fi
+#
+# set up section comments:
+ cat >> $tout << EOF
+########################################################
+#
+# section for $libname.lib
+#
+########################################################
+EOF
+#
+# process source files:
+ all_obj=""
+ for file in $src
+ do
+ obj=`echo "$file" | sed 's/\(.*\)cpp/\1obj/g'`
+ obj="$subdir/$libname/$obj"
+ all_obj="$all_obj $obj"
+ echo "$obj: $file \$(ALL_HEADER)" >> $tout
+ echo " cl /c \$(INCLUDES) $opts \$(CXXFLAGS) -Y- -Fo./$subdir/$libname/ -Fd$subdir/$libname.pdb $file" >> $tout
+ echo "" >> $tout
+ done
+#
+# now for the directories for this library:
+ echo "$libname"_dir : >> $tout
+ echo " @if not exist \"$subdir\\$libname\\\$(NULL)\" mkdir $subdir\\$libname" >> $tout
+ echo "" >> $tout
+#
+# now for the clean options for this library:
+ all_clean="$all_clean $libname""_clean"
+ echo "$libname"_clean : >> $tout
+ echo " del $subdir\\$libname\\"'*.obj' >> $tout
+ echo " del $subdir\\$libname\\"'*.idb' >> $tout
+ echo " del $subdir\\$libname\\"'*.exp' >> $tout
+ echo " del $subdir\\$libname\\"'*.pch' >> $tout
+ echo "" >> $tout
+#
+# now for the main target for this library:
+ echo ./$subdir/$libname.lib : $all_obj >> $tout
+ echo " link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:\"$subdir/$libname.pdb\" /debug /machine:I386 /out:\"$subdir/$libname.dll\" /implib:\"$subdir/$libname.lib\" /LIBPATH:\$(STLPORT_PATH)\\lib \$(XLFLAGS) $all_obj" >> $tout
+ echo "" >> $tout
+# now the test program:
+ echo ./$subdir/$libname.exe : main.cpp ./$subdir/$libname.lib >> $tout
+ echo " cl \$(INCLUDES) $opts /DBOOST_LIB_DIAGNOSTIC=1 \$(CXXFLAGS) -o ./$subdir/$libname.exe main.cpp /link /LIBPATH:./$subdir" >> $tout
+ echo " $subdir"'\'"$libname.exe" >> $tout
+ echo "" >> $tout
+}
+
+is_stlport="no"
+
+function vc6_gen()
+{
+ debug="no"
+ tout="temp"
+ iout="temp_install"
+ all_dep="main_dir"
+ all_clean=""
+ echo > $out
+ echo > $tout
+ rm -f $iout
+
+ libname="liblink_test-${subdir}-s-${boost_version}"
+ opts='/nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD'
+ vc6_gen_lib
+
+ libname="liblink_test-${subdir}-mt-s-${boost_version}"
+ opts='/nologo /MT /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD '
+ vc6_gen_lib
+
+ debug="yes"
+ libname="liblink_test-${subdir}-sgd-${boost_version}"
+ opts='/nologo /MLd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_DEBUG /D_MBCS /D_LIB /FD '"$debug_extra"' '
+ vc6_gen_lib
+
+ libname="liblink_test-${subdir}-mt-sgd-${boost_version}"
+ opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB /FD '"$debug_extra"' '
+ vc6_gen_lib
+
+ libname="link_test-${subdir}-mt-gd-${boost_version}"
+ opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /D_DEBUG /DBOOST_DYN_LINK /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD '"$debug_extra"' '
+ vc6_gen_dll
+
+ debug="no"
+ opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD '
+ libname="link_test-${subdir}-mt-${boost_version}"
+ vc6_gen_dll
+
+ debug="no"
+ opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL /FD '
+ libname="liblink_test-${subdir}-mt-${boost_version}"
+ vc6_gen_lib
+
+ debug="yes"
+ libname="liblink_test-${subdir}-mt-gd-${boost_version}"
+ opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL /FD '"$debug_extra"' '
+ vc6_gen_lib
+
+ cat > $out << EOF
+# copyright John Maddock 2005
+# 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)
+#
+# auto generated makefile for VC6 compiler
+#
+# usage:
+# make
+# brings libraries up to date
+# make install
+# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
+#
+
+#
+# Add additional compiler options here:
+#
+CXXFLAGS=
+#
+# Add additional include directories here:
+#
+INCLUDES=
+#
+# add additional linker flags here:
+#
+XLFLAGS=
+#
+# add additional static-library creation flags here:
+#
+XSFLAGS=
+
+!IF "\$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "\$(MSVCDIR)" == ""
+!ERROR Variable MSVCDIR not set.
+!ENDIF
+
+EOF
+ echo "" >> $out
+ echo "ALL_HEADER=$header" >> $out
+ echo "" >> $out
+ echo "all : $all_dep" >> $out
+ echo >> $out
+ echo "clean : $all_clean" >> $out
+ echo >> $out
+ echo "install : all" >> $out
+ cat $iout >> $out
+ echo >> $out
+ echo main_dir : >> $out
+ echo " @if not exist \"$subdir\\\$(NULL)\" mkdir $subdir" >> $out
+ echo "" >> $out
+
+ cat $tout >> $out
+}
+
+function vc6_stlp_gen()
+{
+ debug="no"
+ tout="temp"
+ iout="temp_install"
+ all_dep="main_dir"
+ all_clean=""
+ echo > $out
+ echo > $tout
+ rm -f $iout
+
+ libname="liblink_test-${subdir}-mt-s-${boost_version}"
+ opts='/nologo /MT /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D_MT /DWIN32 /DNDEBUG /D_MBCS /D_LIB '
+ vc6_gen_lib
+
+ debug="true"
+ libname="liblink_test-${subdir}-mt-sgd-${boost_version}"
+ opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB '"$debug_extra"' '
+ vc6_gen_lib
+
+ libname="link_test-${subdir}-mt-gd-${boost_version}"
+ opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' '
+ vc6_gen_dll
+
+ debug="no"
+ opts='/nologo /MD /W3 /GX /O2 /GB /GF /I$(STLPORT_PATH)\stlport /Gy /I..\..\..\..\ /DBOOST_DYN_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL '
+ libname="link_test-${subdir}-mt-${boost_version}"
+ vc6_gen_dll
+
+ debug="no"
+ opts='/nologo /MD /W3 /GX /O2 /GB /GF /Gy /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /DNDEBUG /DWIN32 /D_WINDOWS /D_MBCS /D_USRDLL '
+ libname="liblink_test-${subdir}-mt-${boost_version}"
+ vc6_gen_lib
+
+ debug="true"
+ libname="liblink_test-${subdir}-mt-gd-${boost_version}"
+ opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' '
+ vc6_gen_lib
+
+# debug STLPort mode:
+# not yet supported by bjam?
+ debug="yes"
+ opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_DYN_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' '
+ libname="link_test-${subdir}-mt-pgd-${boost_version}"
+ vc6_gen_dll
+ libname="liblink_test-${subdir}-mt-spgd-${boost_version}"
+ opts='/nologo /MTd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /D__STL_DEBUG /D_STLP_DEBUG /DWIN32 /D_MT /D_DEBUG /D_MBCS /D_LIB '"$debug_extra"' '
+ vc6_gen_lib
+ opts='/nologo /MDd /W3 /Gm /GX /Zi /Od /I$(STLPORT_PATH)\stlport /I..\..\..\..\ /DBOOST_REGEX_STATIC_LINK /D__STL_DEBUG /D_STLP_DEBUG /D_DEBUG /DWIN32 /D_WINDOWS /D_MBCS /DUSRDLL '"$debug_extra"' '
+ libname="liblink_test-${subdir}-mt-pgd-${boost_version}"
+ vc6_gen_lib
+
+ cat > $out << EOF
+# copyright John Maddock 2005
+# 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)
+#
+# auto generated makefile for VC6+STLPort
+#
+# usage:
+# make
+# brings libraries up to date
+# make install
+# brings libraries up to date and copies binaries to your VC6 /lib and /bin directories (recomended)
+#
+
+#
+# Add additional compiler options here:
+#
+CXXFLAGS=
+#
+# Add additional include directories here:
+#
+INCLUDES=
+#
+# add additional linker flags here:
+#
+XLFLAGS=
+#
+# add additional static-library creation flags here:
+#
+XSFLAGS=
+
+!IF "\$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "\$(MSVCDIR)" == ""
+!ERROR Variable MSVCDIR not set.
+!ENDIF
+
+!IF "\$(STLPORT_PATH)" == ""
+!ERROR Variable STLPORT_PATH not set.
+!ENDIF
+
+EOF
+ echo "" >> $out
+ echo "ALL_HEADER=$header" >> $out
+ echo "" >> $out
+ echo "all : $all_dep" >> $out
+ echo >> $out
+ echo "clean : $all_clean" >> $out
+ echo >> $out
+ echo "install : stlport_check all" >> $out
+ cat $iout >> $out
+ echo >> $out
+ echo main_dir : >> $out
+ echo " @if not exist \"$subdir\\\$(NULL)\" mkdir $subdir" >> $out
+ echo "" >> $out
+ echo 'stlport_check : $(STLPORT_PATH)\stlport\string' >> $out
+ echo " echo" >> $out
+ echo "" >> $out
+
+ cat $tout >> $out
+}
+
+
+. common.sh
+
+#
+# generate vc6 makefile:
+debug_extra="/GX"
+out="vc6.mak"
+subdir="vc6"
+vc6_gen
+#
+# generate vc6-stlport makefile:
+is_stlport="yes"
+out="vc6-stlport.mak"
+no_single="yes"
+subdir="vc6-stlport"
+vc6_stlp_gen
+#
+# generate vc7 makefile:
+debug_extra="/GX /RTC1"
+is_stlport="no"
+out="vc7.mak"
+no_single="no"
+subdir="vc7"
+vc6_gen
+#
+# generate vc7-stlport makefile:
+is_stlport="yes"
+out="vc7-stlport.mak"
+no_single="yes"
+subdir="vc7-stlport"
+vc6_stlp_gen
+#
+# generate vc71 makefile:
+is_stlport="no"
+out="vc71.mak"
+no_single="no"
+subdir="vc71"
+vc6_gen
+#
+# generate vc71-stlport makefile:
+is_stlport="yes"
+out="vc71-stlport.mak"
+no_single="yes"
+subdir="vc71-stlport"
+vc6_stlp_gen
+
+
+#
+# remove tmep files;
+rm -f $tout $iout
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/boost/libs/config/test/math_info.cpp b/src/boost/libs/config/test/math_info.cpp
new file mode 100644
index 000000000..47fe9ffe4
--- /dev/null
+++ b/src/boost/libs/config/test/math_info.cpp
@@ -0,0 +1,365 @@
+// (C) Copyright John Maddock 2005.
+// 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/test for most recent version.
+
+//
+// This test prints out informative information about <math.h>, <float.h>
+// and <limits>. Note that this file does require a correctly configured
+// Boost setup, and so can't be folded into config_info which is designed
+// to function without Boost.Confg support. Each test is documented in
+// more detail below.
+//
+
+#include <boost/limits.hpp>
+#include <limits.h>
+#include <math.h>
+#include <cmath>
+#include <float.h>
+#include <iostream>
+#include <iomanip>
+#include <cstring>
+#include <boost/type_traits/alignment_of.hpp>
+
+#ifdef BOOST_NO_STDC_NAMESPACE
+namespace std{ using ::strcmp; using ::pow; using ::fabs; using ::sqrt; using ::sin; using ::atan2; }
+#endif
+
+static unsigned int indent = 4;
+static unsigned int width = 40;
+
+void print_macro(const char* name, const char* value)
+{
+ // if name == value+1 then then macro is not defined,
+ // in which case we don't print anything:
+ if(0 != std::strcmp(name, value+1))
+ {
+ for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
+ std::cout << std::setw(width);
+ std::cout.setf(std::istream::left, std::istream::adjustfield);
+ std::cout << name;
+ if(value[1])
+ {
+ // macro has a value:
+ std::cout << value << "\n";
+ }
+ else
+ {
+ // macro is defined but has no value:
+ std::cout << " [no value]\n";
+ }
+ }
+}
+
+#define PRINT_MACRO(X) print_macro(#X, BOOST_STRINGIZE(=X))
+
+template <class T>
+void print_expression(const char* expression, T val)
+{
+ for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
+ std::cout << std::setw(width);
+ std::cout.setf(std::istream::left, std::istream::adjustfield);
+ std::cout << std::setprecision(std::numeric_limits<T>::digits10+2);
+ std::cout << expression << "=" << val << std::endl;
+}
+
+#define PRINT_EXPRESSION(E) print_expression(#E, E);
+
+
+template <class T>
+void print_limits(T, const char* name)
+{
+ //
+ // Output general information on numeric_limits, as well as
+ // probing known and supected problems.
+ //
+ std::cout <<
+ "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
+ "std::numeric_limits information for type " << name << std::endl;
+ std::cout <<
+ " is_specialized = " << std::numeric_limits<T>::is_specialized << std::endl;
+ std::cout <<
+ " min" "() = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::min)() << std::endl;
+ std::cout <<
+ " max" "() = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::max)() << std::endl;
+ std::cout <<
+ " digits = " << std::numeric_limits<T>::digits << std::endl;
+ std::cout <<
+ " digits10 = " << std::numeric_limits<T>::digits10 << std::endl;
+ std::cout <<
+ " is_signed = " << std::numeric_limits<T>::is_signed << std::endl;
+ std::cout <<
+ " is_integer = " << std::numeric_limits<T>::is_integer << std::endl;
+ std::cout <<
+ " is_exact = " << std::numeric_limits<T>::is_exact << std::endl;
+ std::cout <<
+ " radix = " << std::numeric_limits<T>::radix << std::endl;
+
+ std::cout <<
+ " epsilon() = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::epsilon)() << std::endl;
+ std::cout <<
+ " round_error() = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::round_error)() << std::endl;
+
+ std::cout <<
+ " min_exponent = " << std::numeric_limits<T>::min_exponent << std::endl;
+ std::cout <<
+ " min_exponent10 = " << std::numeric_limits<T>::min_exponent10 << std::endl;
+ std::cout <<
+ " max_exponent = " << std::numeric_limits<T>::max_exponent << std::endl;
+ std::cout <<
+ " max_exponent10 = " << std::numeric_limits<T>::max_exponent10 << std::endl;
+ std::cout <<
+ " has_infinity = " << std::numeric_limits<T>::has_infinity << std::endl;
+ std::cout <<
+ " has_quiet_NaN = " << std::numeric_limits<T>::has_quiet_NaN << std::endl;
+ std::cout <<
+ " has_signaling_NaN = " << std::numeric_limits<T>::has_signaling_NaN << std::endl;
+ std::cout <<
+ " has_denorm = " << std::numeric_limits<T>::has_denorm << std::endl;
+ std::cout <<
+ " has_denorm_loss = " << std::numeric_limits<T>::has_denorm_loss << std::endl;
+
+ std::cout <<
+ " infinity() = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::infinity)() << std::endl;
+ std::cout <<
+ " quiet_NaN() = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::quiet_NaN)() << std::endl;
+ std::cout <<
+ " signaling_NaN() = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::signaling_NaN)() << std::endl;
+ std::cout <<
+ " denorm_min() = " << std::setprecision(std::numeric_limits<T>::digits10 + 2) << (std::numeric_limits<T>::denorm_min)() << std::endl;
+
+
+ std::cout <<
+ " is_iec559 = " << std::numeric_limits<T>::is_iec559 << std::endl;
+ std::cout <<
+ " is_bounded = " << std::numeric_limits<T>::is_bounded << std::endl;
+ std::cout <<
+ " is_modulo = " << std::numeric_limits<T>::is_modulo << std::endl;
+ std::cout <<
+ " traps = " << std::numeric_limits<T>::traps << std::endl;
+ std::cout <<
+ " tinyness_before = " << std::numeric_limits<T>::tinyness_before << std::endl;
+ std::cout <<
+ " round_style = " << std::numeric_limits<T>::round_style << std::endl << std::endl;
+
+ if(std::numeric_limits<T>::is_exact == 0)
+ {
+ bool r = std::numeric_limits<T>::epsilon() == std::pow(static_cast<T>(std::numeric_limits<T>::radix), 1-std::numeric_limits<T>::digits);
+ if(r)
+ std::cout << "Epsilon has sane value of std::pow(std::numeric_limits<T>::radix, 1-std::numeric_limits<T>::digits)." << std::endl;
+ else
+ std::cout << "CAUTION: epsilon does not have a sane value." << std::endl;
+ std::cout << std::endl;
+ }
+ std::cout <<
+ " sizeof(" << name << ") = " << sizeof(T) << std::endl;
+ std::cout <<
+ " alignment_of<" << name << "> = " << boost::alignment_of<T>::value << std::endl << std::endl;
+}
+/*
+template <class T>
+bool is_same_type(T, T)
+{
+ return true;
+}*/
+bool is_same_type(float, float)
+{ return true; }
+bool is_same_type(double, double)
+{ return true; }
+bool is_same_type(long double, long double)
+{ return true; }
+template <class T, class U>
+bool is_same_type(T, U)
+{
+ return false;
+}
+
+//
+// We need this to test whether abs has been overloaded for
+// the floating point types or not:
+//
+namespace std{
+#if !BOOST_WORKAROUND(BOOST_MSVC, == 1300) && \
+ !defined(_LIBCPP_VERSION)
+template <class T>
+char abs(T)
+{
+ return ' ';
+}
+#endif
+}
+
+
+template <class T>
+void test_overloads(T, const char* name)
+{
+ //
+ // Probe known and suspected problems with the std lib Math functions.
+ //
+ std::cout <<
+ "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
+ "Math function overload information for type " << name << std::endl;
+
+ //
+ // Are the math functions overloaded for type T,
+ // or do we just get double versions?
+ //
+ bool r = is_same_type(std::fabs(T(0)), T(0));
+ r &= is_same_type(std::sqrt(T(0)), T(0));
+ r &= is_same_type(std::sin(T(0)), T(0));
+ if(r)
+ std::cout << "The Math functions are overloaded for type " << name << std::endl;
+ else
+ std::cout << "CAUTION: The Math functions are NOT overloaded for type " << name << std::endl;
+
+ //
+ // Check that a few of the functions work OK, we do this because if these
+ // are implemented as double precision internally then we can get
+ // overflow or underflow when passing arguments of other types.
+ //
+ r = (std::fabs((std::numeric_limits<T>::max)()) == (std::numeric_limits<T>::max)());
+ r &= (std::fabs(-(std::numeric_limits<T>::max)()) == (std::numeric_limits<T>::max)());
+ r &= (std::fabs((std::numeric_limits<T>::min)()) == (std::numeric_limits<T>::min)());
+ r &= (std::fabs(-(std::numeric_limits<T>::min)()) == (std::numeric_limits<T>::min)());
+ if(r)
+ std::cout << "std::fabs looks OK for type " << name << std::endl;
+ else
+ std::cout << "CAUTION: std::fabs is broken for type " << name << std::endl;
+
+ //
+ // abs not overloaded for real arguments with VC6 (and others?)
+ //
+ r = (std::abs((std::numeric_limits<T>::max)()) == (std::numeric_limits<T>::max)());
+ r &= (std::abs(-(std::numeric_limits<T>::max)()) == (std::numeric_limits<T>::max)());
+ r &= (std::abs((std::numeric_limits<T>::min)()) == (std::numeric_limits<T>::min)());
+ r &= (std::abs(-(std::numeric_limits<T>::min)()) == (std::numeric_limits<T>::min)());
+ if(r)
+ std::cout << "std::abs looks OK for type " << name << std::endl;
+ else
+ std::cout << "CAUTION: std::abs is broken for type " << name << std::endl;
+
+ //
+ // std::sqrt on FreeBSD converts long double arguments to double leading to
+ // overflow/underflow:
+ //
+ r = (std::sqrt((std::numeric_limits<T>::max)()) < (std::numeric_limits<T>::max)());
+ if(r)
+ std::cout << "std::sqrt looks OK for type " << name << std::endl;
+ else
+ std::cout << "CAUTION: std::sqrt is broken for type " << name << std::endl;
+
+ //
+ // Sanity check for atan2: verify that it returns arguments in the correct
+ // range and not just atan(x/y).
+ //
+ static const T half_pi = static_cast<T>(1.57079632679489661923132169163975144L);
+
+ T val = std::atan2(T(-1), T(-1));
+ r = -half_pi > val;
+ val = std::atan2(T(1), T(-1));
+ r &= half_pi < val;
+ val = std::atan2(T(1), T(1));
+ r &= (val > 0) && (val < half_pi);
+ val = std::atan2(T(-1), T(1));
+ r &= (val < 0) && (val > -half_pi);
+ if(r)
+ std::cout << "std::atan2 looks OK for type " << name << std::endl;
+ else
+ std::cout << "CAUTION: std::atan2 is broken for type " << name << std::endl;
+}
+
+
+
+int main()
+{
+ //
+ // Start by printing the values of the macros from float.h
+ //
+ std::cout <<
+ "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
+ "Macros from <math.h>" << std::endl;
+
+#ifdef __BORLANDC__
+ // Turn off hardware exceptions so we don't just abort
+ // when calling numeric_limits members.
+ _control87(MCW_EM,MCW_EM);
+#endif
+
+ PRINT_EXPRESSION(HUGE_VAL);
+#ifdef HUGE_VALF
+ PRINT_EXPRESSION(HUGE_VALF);
+#endif
+#ifdef HUGE_VALL
+ PRINT_EXPRESSION(HUGE_VALL);
+#endif
+#ifdef INFINITY
+ PRINT_EXPRESSION(INFINITY);
+#endif
+
+ PRINT_MACRO(NAN);
+ PRINT_MACRO(FP_INFINITE);
+ PRINT_MACRO(FP_NAN);
+ PRINT_MACRO(FP_NORMAL);
+ PRINT_MACRO(FP_SUBNORMAL);
+ PRINT_MACRO(FP_ZERO);
+ PRINT_MACRO(FP_FAST_FMA);
+ PRINT_MACRO(FP_FAST_FMAF);
+ PRINT_MACRO(FP_FAST_FMAL);
+ PRINT_MACRO(FP_ILOGB0);
+ PRINT_MACRO(FP_ILOGBNAN);
+ PRINT_MACRO(MATH_ERRNO);
+ PRINT_MACRO(MATH_ERREXCEPT);
+
+ PRINT_EXPRESSION(FLT_MIN_10_EXP);
+ PRINT_EXPRESSION(FLT_DIG);
+ PRINT_EXPRESSION(FLT_MIN_EXP);
+ PRINT_EXPRESSION(FLT_EPSILON);
+ PRINT_EXPRESSION(FLT_RADIX);
+ PRINT_EXPRESSION(FLT_MANT_DIG);
+ PRINT_EXPRESSION(FLT_ROUNDS);
+ PRINT_EXPRESSION(FLT_MAX);
+ PRINT_EXPRESSION(FLT_MAX_10_EXP);
+ PRINT_EXPRESSION(FLT_MAX_EXP);
+ PRINT_EXPRESSION(FLT_MIN);
+ PRINT_EXPRESSION(DBL_DIG);
+ PRINT_EXPRESSION(DBL_MIN_EXP);
+ PRINT_EXPRESSION(DBL_EPSILON);
+ PRINT_EXPRESSION(DBL_MANT_DIG);
+ PRINT_EXPRESSION(DBL_MAX);
+ PRINT_EXPRESSION(DBL_MIN);
+ PRINT_EXPRESSION(DBL_MAX_10_EXP);
+ PRINT_EXPRESSION(DBL_MAX_EXP);
+ PRINT_EXPRESSION(DBL_MIN_10_EXP);
+ PRINT_EXPRESSION(LDBL_MAX_10_EXP);
+ PRINT_EXPRESSION(LDBL_MAX_EXP);
+ PRINT_EXPRESSION(LDBL_MIN);
+ PRINT_EXPRESSION(LDBL_MIN_10_EXP);
+ PRINT_EXPRESSION(LDBL_DIG);
+ PRINT_EXPRESSION(LDBL_MIN_EXP);
+ PRINT_EXPRESSION(LDBL_EPSILON);
+ PRINT_EXPRESSION(LDBL_MANT_DIG);
+ PRINT_EXPRESSION(LDBL_MAX);
+
+ std::cout << std::endl;
+
+ //
+ // print out numeric_limits info:
+ //
+ print_limits(float(0), "float");
+ print_limits(double(0), "double");
+ print_limits((long double)(0), "long double");
+
+ //
+ // print out function overload information:
+ //
+ test_overloads(float(0), "float");
+ test_overloads(double(0), "double");
+ test_overloads((long double)(0), "long double");
+ return 0;
+}
+
+
+
+
diff --git a/src/boost/libs/config/test/no_adl_barrier_fail.cpp b/src/boost/libs/config/test/no_adl_barrier_fail.cpp
new file mode 100644
index 000000000..a21e0b3b6
--- /dev/null
+++ b/src/boost/libs/config/test/no_adl_barrier_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Mar 28 16:52:13 2008
+// 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: generate.cpp 40184 2007-10-19 12:46:54Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_ADL_BARRIER
+// This file should not compile, if it does then
+// BOOST_NO_ADL_BARRIER should not be defined.
+// See file boost_no_adl_barrier.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_ADL_BARRIER
+#include "boost_no_adl_barrier.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_adl_barrier::test();
+}
+
diff --git a/src/boost/libs/config/test/no_adl_barrier_pass.cpp b/src/boost/libs/config/test/no_adl_barrier_pass.cpp
new file mode 100644
index 000000000..39bef3fb4
--- /dev/null
+++ b/src/boost/libs/config/test/no_adl_barrier_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Mar 28 16:52:13 2008
+// 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: generate.cpp 40184 2007-10-19 12:46:54Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_ADL_BARRIER
+// This file should compile, if it does not then
+// BOOST_NO_ADL_BARRIER should be defined.
+// See file boost_no_adl_barrier.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_ADL_BARRIER
+#include "boost_no_adl_barrier.ipp"
+#else
+namespace boost_no_adl_barrier = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_adl_barrier::test();
+}
+
diff --git a/src/boost/libs/config/test/no_arg_dep_lookup_fail.cpp b/src/boost/libs/config/test/no_arg_dep_lookup_fail.cpp
new file mode 100644
index 000000000..7733f87b0
--- /dev/null
+++ b/src/boost/libs/config/test/no_arg_dep_lookup_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+// This file should not compile, if it does then
+// BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP should not be defined.
+// See file boost_no_arg_dep_lookup.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+#include "boost_no_arg_dep_lookup.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_argument_dependent_lookup::test();
+}
+
diff --git a/src/boost/libs/config/test/no_arg_dep_lookup_pass.cpp b/src/boost/libs/config/test/no_arg_dep_lookup_pass.cpp
new file mode 100644
index 000000000..1a8d7a7b8
--- /dev/null
+++ b/src/boost/libs/config/test/no_arg_dep_lookup_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+// This file should compile, if it does not then
+// BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP should be defined.
+// See file boost_no_arg_dep_lookup.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+#include "boost_no_arg_dep_lookup.ipp"
+#else
+namespace boost_no_argument_dependent_lookup = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_argument_dependent_lookup::test();
+}
+
diff --git a/src/boost/libs/config/test/no_array_type_spec_fail.cpp b/src/boost/libs/config/test/no_array_type_spec_fail.cpp
new file mode 100644
index 000000000..9299736e0
--- /dev/null
+++ b/src/boost/libs/config/test/no_array_type_spec_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
+// This file should not compile, if it does then
+// BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS should not be defined.
+// See file boost_no_array_type_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
+#include "boost_no_array_type_spec.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_array_type_specializations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_array_type_spec_pass.cpp b/src/boost/libs/config/test/no_array_type_spec_pass.cpp
new file mode 100644
index 000000000..75ab43404
--- /dev/null
+++ b/src/boost/libs/config/test/no_array_type_spec_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
+// This file should compile, if it does not then
+// BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS should be defined.
+// See file boost_no_array_type_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
+#include "boost_no_array_type_spec.ipp"
+#else
+namespace boost_no_array_type_specializations = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_array_type_specializations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_auto_declarations_fail.cpp b/src/boost/libs/config/test/no_auto_declarations_fail.cpp
new file mode 100644
index 000000000..8f770df7f
--- /dev/null
+++ b/src/boost/libs/config/test/no_auto_declarations_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Mar 12 17:32:04 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_AUTO_DECLARATIONS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_AUTO_DECLARATIONS should not be defined.
+// See file boost_no_auto_declarations.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_AUTO_DECLARATIONS
+#include "boost_no_auto_declarations.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_auto_declarations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_auto_declarations_pass.cpp b/src/boost/libs/config/test/no_auto_declarations_pass.cpp
new file mode 100644
index 000000000..b901aaff7
--- /dev/null
+++ b/src/boost/libs/config/test/no_auto_declarations_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Mar 12 17:32:04 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_AUTO_DECLARATIONS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_AUTO_DECLARATIONS should be defined.
+// See file boost_no_auto_declarations.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_AUTO_DECLARATIONS
+#include "boost_no_auto_declarations.ipp"
+#else
+namespace boost_no_cxx11_auto_declarations = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_auto_declarations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_auto_multidecl_fail.cpp b/src/boost/libs/config/test/no_auto_multidecl_fail.cpp
new file mode 100644
index 000000000..664644739
--- /dev/null
+++ b/src/boost/libs/config/test/no_auto_multidecl_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Mar 12 17:32:04 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS should not be defined.
+// See file boost_no_auto_multidecl.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#include "boost_no_auto_multidecl.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_auto_multideclarations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_auto_multidecl_pass.cpp b/src/boost/libs/config/test/no_auto_multidecl_pass.cpp
new file mode 100644
index 000000000..b2071ea64
--- /dev/null
+++ b/src/boost/libs/config/test/no_auto_multidecl_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Mar 12 17:32:04 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS should be defined.
+// See file boost_no_auto_multidecl.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
+#include "boost_no_auto_multidecl.ipp"
+#else
+namespace boost_no_cxx11_auto_multideclarations = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_auto_multideclarations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_auto_ptr_fail.cpp b/src/boost/libs/config/test/no_auto_ptr_fail.cpp
new file mode 100644
index 000000000..da64bb92c
--- /dev/null
+++ b/src/boost/libs/config/test/no_auto_ptr_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_NO_AUTO_PTR
+// This file should not compile, if it does then
+// BOOST_NO_AUTO_PTR should not be defined.
+// See file boost_no_auto_ptr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_AUTO_PTR
+#include "boost_no_auto_ptr.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_auto_ptr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_auto_ptr_pass.cpp b/src/boost/libs/config/test/no_auto_ptr_pass.cpp
new file mode 100644
index 000000000..3a978a744
--- /dev/null
+++ b/src/boost/libs/config/test/no_auto_ptr_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:00 2004
+// 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.
+
+// Test file for macro BOOST_NO_AUTO_PTR
+// This file should compile, if it does not then
+// BOOST_NO_AUTO_PTR should be defined.
+// See file boost_no_auto_ptr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_AUTO_PTR
+#include "boost_no_auto_ptr.ipp"
+#else
+namespace boost_no_auto_ptr = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_auto_ptr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_bcb_partial_spec_fail.cpp b/src/boost/libs/config/test/no_bcb_partial_spec_fail.cpp
new file mode 100644
index 000000000..c19747bdd
--- /dev/null
+++ b/src/boost/libs/config/test/no_bcb_partial_spec_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
+// This file should not compile, if it does then
+// BOOST_BCB_PARTIAL_SPECIALIZATION_BUG should not be defined.
+// See file boost_no_bcb_partial_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
+#include "boost_no_bcb_partial_spec.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_bcb_partial_specialization_bug::test();
+}
+
diff --git a/src/boost/libs/config/test/no_bcb_partial_spec_pass.cpp b/src/boost/libs/config/test/no_bcb_partial_spec_pass.cpp
new file mode 100644
index 000000000..a6605bc85
--- /dev/null
+++ b/src/boost/libs/config/test/no_bcb_partial_spec_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
+// This file should compile, if it does not then
+// BOOST_BCB_PARTIAL_SPECIALIZATION_BUG should be defined.
+// See file boost_no_bcb_partial_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
+#include "boost_no_bcb_partial_spec.ipp"
+#else
+namespace boost_bcb_partial_specialization_bug = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_bcb_partial_specialization_bug::test();
+}
+
diff --git a/src/boost/libs/config/test/no_char16_t_fail.cpp b/src/boost/libs/config/test/no_char16_t_fail.cpp
new file mode 100644
index 000000000..63ddf7ac9
--- /dev/null
+++ b/src/boost/libs/config/test/no_char16_t_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 09:24:04 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_CHAR16_T
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_CHAR16_T should not be defined.
+// See file boost_no_char16_t.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_CHAR16_T
+#include "boost_no_char16_t.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_char16_t::test();
+}
+
diff --git a/src/boost/libs/config/test/no_char16_t_pass.cpp b/src/boost/libs/config/test/no_char16_t_pass.cpp
new file mode 100644
index 000000000..b714f0983
--- /dev/null
+++ b/src/boost/libs/config/test/no_char16_t_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 09:24:04 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_CHAR16_T
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_CHAR16_T should be defined.
+// See file boost_no_char16_t.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_CHAR16_T
+#include "boost_no_char16_t.ipp"
+#else
+namespace boost_no_cxx11_char16_t = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_char16_t::test();
+}
+
diff --git a/src/boost/libs/config/test/no_char32_t_fail.cpp b/src/boost/libs/config/test/no_char32_t_fail.cpp
new file mode 100644
index 000000000..868050eea
--- /dev/null
+++ b/src/boost/libs/config/test/no_char32_t_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 09:24:04 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_CHAR32_T
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_CHAR32_T should not be defined.
+// See file boost_no_char32_t.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_CHAR32_T
+#include "boost_no_char32_t.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_char32_t::test();
+}
+
diff --git a/src/boost/libs/config/test/no_char32_t_pass.cpp b/src/boost/libs/config/test/no_char32_t_pass.cpp
new file mode 100644
index 000000000..4bb7d5f31
--- /dev/null
+++ b/src/boost/libs/config/test/no_char32_t_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 09:24:04 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_CHAR32_T
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_CHAR32_T should be defined.
+// See file boost_no_char32_t.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_CHAR32_T
+#include "boost_no_char32_t.ipp"
+#else
+namespace boost_no_cxx11_char32_t = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_char32_t::test();
+}
+
diff --git a/src/boost/libs/config/test/no_com_value_init_fail.cpp b/src/boost/libs/config/test/no_com_value_init_fail.cpp
new file mode 100644
index 000000000..ec89a8581
--- /dev/null
+++ b/src/boost/libs/config/test/no_com_value_init_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Apr 09 12:24:53 2010
+// 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: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+// This file should not compile, if it does then
+// BOOST_NO_COMPLETE_VALUE_INITIALIZATION should not be defined.
+// See file boost_no_com_value_init.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#include "boost_no_com_value_init.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_complete_value_initialization::test();
+}
+
diff --git a/src/boost/libs/config/test/no_com_value_init_pass.cpp b/src/boost/libs/config/test/no_com_value_init_pass.cpp
new file mode 100644
index 000000000..cfe00a22a
--- /dev/null
+++ b/src/boost/libs/config/test/no_com_value_init_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Apr 09 12:24:53 2010
+// 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: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+// This file should compile, if it does not then
+// BOOST_NO_COMPLETE_VALUE_INITIALIZATION should be defined.
+// See file boost_no_com_value_init.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#include "boost_no_com_value_init.ipp"
+#else
+namespace boost_no_complete_value_initialization = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_complete_value_initialization::test();
+}
+
diff --git a/src/boost/libs/config/test/no_constexpr_fail.cpp b/src/boost/libs/config/test/no_constexpr_fail.cpp
new file mode 100644
index 000000000..0f1163c40
--- /dev/null
+++ b/src/boost/libs/config/test/no_constexpr_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Jun 19 16:26:16 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_CONSTEXPR
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_CONSTEXPR should not be defined.
+// See file boost_no_constexpr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_CONSTEXPR
+#include "boost_no_constexpr.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_constexpr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_constexpr_pass.cpp b/src/boost/libs/config/test/no_constexpr_pass.cpp
new file mode 100644
index 000000000..fbacd360a
--- /dev/null
+++ b/src/boost/libs/config/test/no_constexpr_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Jun 19 16:26:16 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_CONSTEXPR
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_CONSTEXPR should be defined.
+// See file boost_no_constexpr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_CONSTEXPR
+#include "boost_no_constexpr.ipp"
+#else
+namespace boost_no_cxx11_constexpr = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_constexpr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_ctype_functions_fail.cpp b/src/boost/libs/config/test/no_ctype_functions_fail.cpp
new file mode 100644
index 000000000..5379c7d18
--- /dev/null
+++ b/src/boost/libs/config/test/no_ctype_functions_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_CTYPE_FUNCTIONS
+// This file should not compile, if it does then
+// BOOST_NO_CTYPE_FUNCTIONS should not be defined.
+// See file boost_no_ctype_functions.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CTYPE_FUNCTIONS
+#include "boost_no_ctype_functions.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_ctype_functions::test();
+}
+
diff --git a/src/boost/libs/config/test/no_ctype_functions_pass.cpp b/src/boost/libs/config/test/no_ctype_functions_pass.cpp
new file mode 100644
index 000000000..64e285fa1
--- /dev/null
+++ b/src/boost/libs/config/test/no_ctype_functions_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_CTYPE_FUNCTIONS
+// This file should compile, if it does not then
+// BOOST_NO_CTYPE_FUNCTIONS should be defined.
+// See file boost_no_ctype_functions.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CTYPE_FUNCTIONS
+#include "boost_no_ctype_functions.ipp"
+#else
+namespace boost_no_ctype_functions = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_ctype_functions::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cv_spec_fail.cpp b/src/boost/libs/config/test/no_cv_spec_fail.cpp
new file mode 100644
index 000000000..8b2658fd1
--- /dev/null
+++ b/src/boost/libs/config/test/no_cv_spec_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_CV_SPECIALIZATIONS
+// This file should not compile, if it does then
+// BOOST_NO_CV_SPECIALIZATIONS should not be defined.
+// See file boost_no_cv_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CV_SPECIALIZATIONS
+#include "boost_no_cv_spec.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cv_specializations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cv_spec_pass.cpp b/src/boost/libs/config/test/no_cv_spec_pass.cpp
new file mode 100644
index 000000000..310c4efdb
--- /dev/null
+++ b/src/boost/libs/config/test/no_cv_spec_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_CV_SPECIALIZATIONS
+// This file should compile, if it does not then
+// BOOST_NO_CV_SPECIALIZATIONS should be defined.
+// See file boost_no_cv_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CV_SPECIALIZATIONS
+#include "boost_no_cv_spec.ipp"
+#else
+namespace boost_no_cv_specializations = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cv_specializations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cv_void_spec_fail.cpp b/src/boost/libs/config/test/no_cv_void_spec_fail.cpp
new file mode 100644
index 000000000..0608d56b3
--- /dev/null
+++ b/src/boost/libs/config/test/no_cv_void_spec_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_CV_VOID_SPECIALIZATIONS
+// This file should not compile, if it does then
+// BOOST_NO_CV_VOID_SPECIALIZATIONS should not be defined.
+// See file boost_no_cv_void_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CV_VOID_SPECIALIZATIONS
+#include "boost_no_cv_void_spec.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cv_void_specializations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cv_void_spec_pass.cpp b/src/boost/libs/config/test/no_cv_void_spec_pass.cpp
new file mode 100644
index 000000000..7eac2959a
--- /dev/null
+++ b/src/boost/libs/config/test/no_cv_void_spec_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_CV_VOID_SPECIALIZATIONS
+// This file should compile, if it does not then
+// BOOST_NO_CV_VOID_SPECIALIZATIONS should be defined.
+// See file boost_no_cv_void_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
+#include "boost_no_cv_void_spec.ipp"
+#else
+namespace boost_no_cv_void_specializations = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cv_void_specializations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cwchar_fail.cpp b/src/boost/libs/config/test/no_cwchar_fail.cpp
new file mode 100644
index 000000000..e49e9837c
--- /dev/null
+++ b/src/boost/libs/config/test/no_cwchar_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_CWCHAR
+// This file should not compile, if it does then
+// BOOST_NO_CWCHAR should not be defined.
+// See file boost_no_cwchar.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CWCHAR
+#include "boost_no_cwchar.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cwchar::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cwchar_pass.cpp b/src/boost/libs/config/test/no_cwchar_pass.cpp
new file mode 100644
index 000000000..ae82820f3
--- /dev/null
+++ b/src/boost/libs/config/test/no_cwchar_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_CWCHAR
+// This file should compile, if it does not then
+// BOOST_NO_CWCHAR should be defined.
+// See file boost_no_cwchar.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CWCHAR
+#include "boost_no_cwchar.ipp"
+#else
+namespace boost_no_cwchar = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cwchar::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cwctype_fail.cpp b/src/boost/libs/config/test/no_cwctype_fail.cpp
new file mode 100644
index 000000000..85bdcbc94
--- /dev/null
+++ b/src/boost/libs/config/test/no_cwctype_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_CWCTYPE
+// This file should not compile, if it does then
+// BOOST_NO_CWCTYPE should not be defined.
+// See file boost_no_cwctype.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CWCTYPE
+#include "boost_no_cwctype.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cwctype::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cwctype_pass.cpp b/src/boost/libs/config/test/no_cwctype_pass.cpp
new file mode 100644
index 000000000..1cb1c4bec
--- /dev/null
+++ b/src/boost/libs/config/test/no_cwctype_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_CWCTYPE
+// This file should compile, if it does not then
+// BOOST_NO_CWCTYPE should be defined.
+// See file boost_no_cwctype.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CWCTYPE
+#include "boost_no_cwctype.ipp"
+#else
+namespace boost_no_cwctype = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cwctype::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_addressof_fail.cpp b/src/boost/libs/config/test/no_cxx11_addressof_fail.cpp
new file mode 100644
index 000000000..9216b5eff
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_addressof_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Tue Feb 11 17:12:27 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_ADDRESSOF
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_ADDRESSOF should not be defined.
+// See file boost_no_cxx11_addressof.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_ADDRESSOF
+#include "boost_no_cxx11_addressof.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_addressof::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_addressof_pass.cpp b/src/boost/libs/config/test/no_cxx11_addressof_pass.cpp
new file mode 100644
index 000000000..e4e84abc1
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_addressof_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Tue Feb 11 17:12:27 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_ADDRESSOF
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_ADDRESSOF should be defined.
+// See file boost_no_cxx11_addressof.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_ADDRESSOF
+#include "boost_no_cxx11_addressof.ipp"
+#else
+namespace boost_no_cxx11_addressof = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_addressof::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_alignas_fail.cpp b/src/boost/libs/config/test/no_cxx11_alignas_fail.cpp
new file mode 100644
index 000000000..767aaa34d
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_alignas_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 28 18:36:48 2013
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_ALIGNAS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_ALIGNAS should not be defined.
+// See file boost_no_cxx11_alignas.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_ALIGNAS
+#include "boost_no_cxx11_alignas.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_alignas::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_alignas_pass.cpp b/src/boost/libs/config/test/no_cxx11_alignas_pass.cpp
new file mode 100644
index 000000000..b8b84b935
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_alignas_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 28 18:36:48 2013
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_ALIGNAS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_ALIGNAS should be defined.
+// See file boost_no_cxx11_alignas.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_ALIGNAS
+#include "boost_no_cxx11_alignas.ipp"
+#else
+namespace boost_no_cxx11_alignas = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_alignas::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_allocator_fail.cpp b/src/boost/libs/config/test/no_cxx11_allocator_fail.cpp
new file mode 100644
index 000000000..0fdb14be6
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_allocator_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 22 11:15:42 2012
+// 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: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_ALLOCATOR
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_ALLOCATOR should not be defined.
+// See file boost_no_cxx11_allocator.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_ALLOCATOR
+#include "boost_no_cxx11_allocator.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_allocator::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_allocator_pass.cpp b/src/boost/libs/config/test/no_cxx11_allocator_pass.cpp
new file mode 100644
index 000000000..20a4d63b4
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_allocator_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 22 11:15:42 2012
+// 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: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_ALLOCATOR
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_ALLOCATOR should be defined.
+// See file boost_no_cxx11_allocator.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_ALLOCATOR
+#include "boost_no_cxx11_allocator.ipp"
+#else
+namespace boost_no_cxx11_allocator = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_allocator::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_atomic_sp_fail.cpp b/src/boost/libs/config/test/no_cxx11_atomic_sp_fail.cpp
new file mode 100644
index 000000000..9c8a62024
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_atomic_sp_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 22 11:15:42 2012
+// 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: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_ATOMIC_SMART_PTR
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_ATOMIC_SMART_PTR should not be defined.
+// See file boost_no_cxx11_atomic_sp.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_ATOMIC_SMART_PTR
+#include "boost_no_cxx11_atomic_sp.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_atomic_smart_ptr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_atomic_sp_pass.cpp b/src/boost/libs/config/test/no_cxx11_atomic_sp_pass.cpp
new file mode 100644
index 000000000..5b7b1719b
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_atomic_sp_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 22 11:15:42 2012
+// 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: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_ATOMIC_SMART_PTR
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_ATOMIC_SMART_PTR should be defined.
+// See file boost_no_cxx11_atomic_sp.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_ATOMIC_SMART_PTR
+#include "boost_no_cxx11_atomic_sp.ipp"
+#else
+namespace boost_no_cxx11_atomic_smart_ptr = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_atomic_smart_ptr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_defaulted_moves_fail.cpp b/src/boost/libs/config/test/no_cxx11_defaulted_moves_fail.cpp
new file mode 100644
index 000000000..782901261
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_defaulted_moves_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed Jan 03 23:31:30 2018
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_DEFAULTED_MOVES
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_DEFAULTED_MOVES should not be defined.
+// See file boost_no_cxx11_defaulted_moves.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_DEFAULTED_MOVES
+#include "boost_no_cxx11_defaulted_moves.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_defaulted_moves::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_defaulted_moves_pass.cpp b/src/boost/libs/config/test/no_cxx11_defaulted_moves_pass.cpp
new file mode 100644
index 000000000..bf26c1443
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_defaulted_moves_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed Jan 03 23:31:30 2018
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_DEFAULTED_MOVES
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_DEFAULTED_MOVES should be defined.
+// See file boost_no_cxx11_defaulted_moves.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_DEFAULTED_MOVES
+#include "boost_no_cxx11_defaulted_moves.ipp"
+#else
+namespace boost_no_cxx11_defaulted_moves = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_defaulted_moves::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_exception_fail.cpp b/src/boost/libs/config/test/no_cxx11_exception_fail.cpp
new file mode 100644
index 000000000..684f398ba
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_exception_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Aug 23 11:11:12 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_EXCEPTION
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_EXCEPTION should not be defined.
+// See file boost_no_cxx11_exception.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_EXCEPTION
+#include "boost_no_cxx11_exception.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_exception::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_exception_pass.cpp b/src/boost/libs/config/test/no_cxx11_exception_pass.cpp
new file mode 100644
index 000000000..75b705617
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_exception_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Aug 23 11:11:12 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_EXCEPTION
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_EXCEPTION should be defined.
+// See file boost_no_cxx11_exception.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_EXCEPTION
+#include "boost_no_cxx11_exception.ipp"
+#else
+namespace boost_no_cxx11_hdr_exception = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_exception::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_final_fail.cpp b/src/boost/libs/config/test/no_cxx11_final_fail.cpp
new file mode 100644
index 000000000..50c35a207
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_final_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Aug 15 15:51:00 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_FINAL
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_FINAL should not be defined.
+// See file boost_no_cxx11_final.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_FINAL
+#include "boost_no_cxx11_final.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_final::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_final_pass.cpp b/src/boost/libs/config/test/no_cxx11_final_pass.cpp
new file mode 100644
index 000000000..e18530bd4
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_final_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Aug 15 15:51:00 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_FINAL
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_FINAL should be defined.
+// See file boost_no_cxx11_final.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_FINAL
+#include "boost_no_cxx11_final.ipp"
+#else
+namespace boost_no_cxx11_final = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_final::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_array_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_array_fail.cpp
new file mode 100644
index 000000000..766c0f586
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_array_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 12:10:32 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_ARRAY
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_ARRAY should not be defined.
+// See file boost_no_cxx11_hdr_array.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_ARRAY
+#include "boost_no_cxx11_hdr_array.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_array::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_array_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_array_pass.cpp
new file mode 100644
index 000000000..493840542
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_array_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 12:10:32 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_ARRAY
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_ARRAY should be defined.
+// See file boost_no_cxx11_hdr_array.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_ARRAY
+#include "boost_no_cxx11_hdr_array.ipp"
+#else
+namespace boost_no_cxx11_hdr_array = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_array::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_atomic_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_atomic_fail.cpp
new file mode 100644
index 000000000..cb6bd124e
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_atomic_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Dec 12 19:07:12 2013
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_ATOMIC
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_ATOMIC should not be defined.
+// See file boost_no_cxx11_hdr_atomic.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_ATOMIC
+#include "boost_no_cxx11_hdr_atomic.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_atomic::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_atomic_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_atomic_pass.cpp
new file mode 100644
index 000000000..7258f646b
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_atomic_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Dec 12 19:07:12 2013
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_ATOMIC
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_ATOMIC should be defined.
+// See file boost_no_cxx11_hdr_atomic.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_ATOMIC
+#include "boost_no_cxx11_hdr_atomic.ipp"
+#else
+namespace boost_no_cxx11_hdr_atomic = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_atomic::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_chrono_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_chrono_fail.cpp
new file mode 100644
index 000000000..d1ac76e0b
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_chrono_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_CHRONO
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_CHRONO should not be defined.
+// See file boost_no_cxx11_hdr_chrono.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_CHRONO
+#include "boost_no_cxx11_hdr_chrono.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_chrono::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_chrono_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_chrono_pass.cpp
new file mode 100644
index 000000000..3bc1af88a
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_chrono_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_CHRONO
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_CHRONO should be defined.
+// See file boost_no_cxx11_hdr_chrono.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_CHRONO
+#include "boost_no_cxx11_hdr_chrono.ipp"
+#else
+namespace boost_no_cxx11_hdr_chrono = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_chrono::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_codecvt_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_codecvt_fail.cpp
new file mode 100644
index 000000000..041fd0a2d
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_codecvt_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_CODECVT
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_CODECVT should not be defined.
+// See file boost_no_cxx11_hdr_codecvt.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_CODECVT
+#include "boost_no_cxx11_hdr_codecvt.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_codecvt::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_codecvt_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_codecvt_pass.cpp
new file mode 100644
index 000000000..241a38d44
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_codecvt_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_CODECVT
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_CODECVT should be defined.
+// See file boost_no_cxx11_hdr_codecvt.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_CODECVT
+#include "boost_no_cxx11_hdr_codecvt.ipp"
+#else
+namespace boost_no_cxx11_hdr_codecvt = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_codecvt::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_condition_variable_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_condition_variable_fail.cpp
new file mode 100644
index 000000000..f34cd377c
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_condition_variable_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_CONDITION_VARIABLE should not be defined.
+// See file boost_no_cxx11_hdr_condition_variable.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#include "boost_no_cxx11_hdr_condition_variable.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_condition_variable::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_condition_variable_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_condition_variable_pass.cpp
new file mode 100644
index 000000000..017084bbb
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_condition_variable_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_CONDITION_VARIABLE should be defined.
+// See file boost_no_cxx11_hdr_condition_variable.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#include "boost_no_cxx11_hdr_condition_variable.ipp"
+#else
+namespace boost_no_cxx11_hdr_condition_variable = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_condition_variable::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_forward_list_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_forward_list_fail.cpp
new file mode 100644
index 000000000..9a1205d41
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_forward_list_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_FORWARD_LIST
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_FORWARD_LIST should not be defined.
+// See file boost_no_cxx11_hdr_forward_list.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_FORWARD_LIST
+#include "boost_no_cxx11_hdr_forward_list.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_forward_list::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_forward_list_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_forward_list_pass.cpp
new file mode 100644
index 000000000..3e8b55b59
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_forward_list_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_FORWARD_LIST
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_FORWARD_LIST should be defined.
+// See file boost_no_cxx11_hdr_forward_list.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_FORWARD_LIST
+#include "boost_no_cxx11_hdr_forward_list.ipp"
+#else
+namespace boost_no_cxx11_hdr_forward_list = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_forward_list::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_future_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_future_fail.cpp
new file mode 100644
index 000000000..7640f9d36
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_future_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_FUTURE
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_FUTURE should not be defined.
+// See file boost_no_cxx11_hdr_future.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_FUTURE
+#include "boost_no_cxx11_hdr_future.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_future::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_future_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_future_pass.cpp
new file mode 100644
index 000000000..ec169526d
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_future_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_FUTURE
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_FUTURE should be defined.
+// See file boost_no_cxx11_hdr_future.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_FUTURE
+#include "boost_no_cxx11_hdr_future.ipp"
+#else
+namespace boost_no_cxx11_hdr_future = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_future::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_initializer_list_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_initializer_list_fail.cpp
new file mode 100644
index 000000000..6dfe099e1
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_initializer_list_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_INITIALIZER_LIST should not be defined.
+// See file boost_no_cxx11_hdr_initializer_list.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#include "boost_no_cxx11_hdr_initializer_list.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_initializer_list::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_initializer_list_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_initializer_list_pass.cpp
new file mode 100644
index 000000000..2a7153905
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_initializer_list_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_INITIALIZER_LIST should be defined.
+// See file boost_no_cxx11_hdr_initializer_list.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#include "boost_no_cxx11_hdr_initializer_list.ipp"
+#else
+namespace boost_no_cxx11_hdr_initializer_list = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_initializer_list::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_mutex_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_mutex_fail.cpp
new file mode 100644
index 000000000..87432ec95
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_mutex_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_MUTEX
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_MUTEX should not be defined.
+// See file boost_no_cxx11_hdr_mutex.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_MUTEX
+#include "boost_no_cxx11_hdr_mutex.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_mutex::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_mutex_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_mutex_pass.cpp
new file mode 100644
index 000000000..a912b2cad
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_mutex_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_MUTEX
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_MUTEX should be defined.
+// See file boost_no_cxx11_hdr_mutex.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_MUTEX
+#include "boost_no_cxx11_hdr_mutex.ipp"
+#else
+namespace boost_no_cxx11_hdr_mutex = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_mutex::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_random_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_random_fail.cpp
new file mode 100644
index 000000000..e4ed0f8e7
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_random_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_RANDOM
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_RANDOM should not be defined.
+// See file boost_no_cxx11_hdr_random.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_RANDOM
+#include "boost_no_cxx11_hdr_random.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_random::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_random_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_random_pass.cpp
new file mode 100644
index 000000000..7995481a2
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_random_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_RANDOM
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_RANDOM should be defined.
+// See file boost_no_cxx11_hdr_random.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_RANDOM
+#include "boost_no_cxx11_hdr_random.ipp"
+#else
+namespace boost_no_cxx11_hdr_random = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_random::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_ratio_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_ratio_fail.cpp
new file mode 100644
index 000000000..8e15efb62
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_ratio_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_RATIO
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_RATIO should not be defined.
+// See file boost_no_cxx11_hdr_ratio.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_RATIO
+#include "boost_no_cxx11_hdr_ratio.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_ratio::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_ratio_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_ratio_pass.cpp
new file mode 100644
index 000000000..8c1b2d460
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_ratio_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_RATIO
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_RATIO should be defined.
+// See file boost_no_cxx11_hdr_ratio.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_RATIO
+#include "boost_no_cxx11_hdr_ratio.ipp"
+#else
+namespace boost_no_cxx11_hdr_ratio = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_ratio::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_regex_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_regex_fail.cpp
new file mode 100644
index 000000000..178d5b566
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_regex_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_REGEX
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_REGEX should not be defined.
+// See file boost_no_cxx11_hdr_regex.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_REGEX
+#include "boost_no_cxx11_hdr_regex.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_regex::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_regex_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_regex_pass.cpp
new file mode 100644
index 000000000..6acd2e8e0
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_regex_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_REGEX
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_REGEX should be defined.
+// See file boost_no_cxx11_hdr_regex.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_REGEX
+#include "boost_no_cxx11_hdr_regex.ipp"
+#else
+namespace boost_no_cxx11_hdr_regex = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_regex::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_system_error_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_system_error_fail.cpp
new file mode 100644
index 000000000..85bb100b0
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_system_error_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_SYSTEM_ERROR
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_SYSTEM_ERROR should not be defined.
+// See file boost_no_cxx11_hdr_system_error.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#include "boost_no_cxx11_hdr_system_error.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_system_error::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_system_error_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_system_error_pass.cpp
new file mode 100644
index 000000000..042b52f8f
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_system_error_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_SYSTEM_ERROR
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_SYSTEM_ERROR should be defined.
+// See file boost_no_cxx11_hdr_system_error.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#include "boost_no_cxx11_hdr_system_error.ipp"
+#else
+namespace boost_no_cxx11_hdr_system_error = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_system_error::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_thread_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_thread_fail.cpp
new file mode 100644
index 000000000..0e54a012b
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_thread_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 12:45:15 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_THREAD
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_THREAD should not be defined.
+// See file boost_no_cxx11_hdr_thread.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_THREAD
+#include "boost_no_cxx11_hdr_thread.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_thread::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_thread_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_thread_pass.cpp
new file mode 100644
index 000000000..34313ab3d
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_thread_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 12:45:15 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_THREAD
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_THREAD should be defined.
+// See file boost_no_cxx11_hdr_thread.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_THREAD
+#include "boost_no_cxx11_hdr_thread.ipp"
+#else
+namespace boost_no_cxx11_hdr_thread = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_thread::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_tuple_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_tuple_fail.cpp
new file mode 100644
index 000000000..655de0f66
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_tuple_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_TUPLE
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_TUPLE should not be defined.
+// See file boost_no_cxx11_hdr_tuple.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_TUPLE
+#include "boost_no_cxx11_hdr_tuple.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_tuple::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_tuple_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_tuple_pass.cpp
new file mode 100644
index 000000000..505a77933
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_tuple_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_TUPLE
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_TUPLE should be defined.
+// See file boost_no_cxx11_hdr_tuple.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_TUPLE
+#include "boost_no_cxx11_hdr_tuple.ipp"
+#else
+namespace boost_no_cxx11_hdr_tuple = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_tuple::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_type_traits_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_type_traits_fail.cpp
new file mode 100644
index 000000000..603e57e2a
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_type_traits_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_TYPE_TRAITS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_TYPE_TRAITS should not be defined.
+// See file boost_no_cxx11_hdr_type_traits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_TYPE_TRAITS
+#include "boost_no_cxx11_hdr_type_traits.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_type_traits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_type_traits_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_type_traits_pass.cpp
new file mode 100644
index 000000000..1f57ef621
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_type_traits_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_TYPE_TRAITS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_TYPE_TRAITS should be defined.
+// See file boost_no_cxx11_hdr_type_traits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_TYPE_TRAITS
+#include "boost_no_cxx11_hdr_type_traits.ipp"
+#else
+namespace boost_no_cxx11_hdr_type_traits = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_type_traits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_typeindex_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_typeindex_fail.cpp
new file mode 100644
index 000000000..3c43b7b66
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_typeindex_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Jun 04 12:51:34 2010
+// 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: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_TYPEINDEX
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_TYPEINDEX should not be defined.
+// See file boost_no_cxx11_hdr_typeindex.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_TYPEINDEX
+#include "boost_no_cxx11_hdr_typeindex.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_typeindex::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_typeindex_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_typeindex_pass.cpp
new file mode 100644
index 000000000..c0d999e8e
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_typeindex_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Jun 04 12:51:34 2010
+// 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: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_TYPEINDEX
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_TYPEINDEX should be defined.
+// See file boost_no_cxx11_hdr_typeindex.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_TYPEINDEX
+#include "boost_no_cxx11_hdr_typeindex.ipp"
+#else
+namespace boost_no_cxx11_hdr_typeindex = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_typeindex::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_unordered_map_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_unordered_map_fail.cpp
new file mode 100644
index 000000000..dad493bb2
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_unordered_map_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_UNORDERED_MAP
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_UNORDERED_MAP should not be defined.
+// See file boost_no_cxx11_hdr_unordered_map.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_UNORDERED_MAP
+#include "boost_no_cxx11_hdr_unordered_map.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_unordered_map::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_unordered_map_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_unordered_map_pass.cpp
new file mode 100644
index 000000000..cc30df478
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_unordered_map_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_UNORDERED_MAP
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_UNORDERED_MAP should be defined.
+// See file boost_no_cxx11_hdr_unordered_map.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_UNORDERED_MAP
+#include "boost_no_cxx11_hdr_unordered_map.ipp"
+#else
+namespace boost_no_cxx11_hdr_unordered_map = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_unordered_map::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_unordered_set_fail.cpp b/src/boost/libs/config/test/no_cxx11_hdr_unordered_set_fail.cpp
new file mode 100644
index 000000000..df9e75d9e
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_unordered_set_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_UNORDERED_SET
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_UNORDERED_SET should not be defined.
+// See file boost_no_cxx11_hdr_unordered_set.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_UNORDERED_SET
+#include "boost_no_cxx11_hdr_unordered_set.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_unordered_set::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_hdr_unordered_set_pass.cpp b/src/boost/libs/config/test/no_cxx11_hdr_unordered_set_pass.cpp
new file mode 100644
index 000000000..97c5632a6
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_hdr_unordered_set_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri May 15 11:57:42 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_UNORDERED_SET
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_UNORDERED_SET should be defined.
+// See file boost_no_cxx11_hdr_unordered_set.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_UNORDERED_SET
+#include "boost_no_cxx11_hdr_unordered_set.ipp"
+#else
+namespace boost_no_cxx11_hdr_unordered_set = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_unordered_set::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_inline_namespaces_fail.cpp b/src/boost/libs/config/test/no_cxx11_inline_namespaces_fail.cpp
new file mode 100644
index 000000000..09ca60c8f
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_inline_namespaces_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 28 18:36:48 2013
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_INLINE_NAMESPACES
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_INLINE_NAMESPACES should not be defined.
+// See file boost_no_cxx11_inline_namespaces.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_INLINE_NAMESPACES
+#include "boost_no_cxx11_inline_namespaces.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_inline_namespaces::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_inline_namespaces_pass.cpp b/src/boost/libs/config/test/no_cxx11_inline_namespaces_pass.cpp
new file mode 100644
index 000000000..4988af97b
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_inline_namespaces_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 28 18:36:48 2013
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_INLINE_NAMESPACES
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_INLINE_NAMESPACES should be defined.
+// See file boost_no_cxx11_inline_namespaces.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_INLINE_NAMESPACES
+#include "boost_no_cxx11_inline_namespaces.ipp"
+#else
+namespace boost_no_cxx11_inline_namespaces = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_inline_namespaces::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_non_pub_def_fun_fail.cpp b/src/boost/libs/config/test/no_cxx11_non_pub_def_fun_fail.cpp
new file mode 100644
index 000000000..59f32b6cf
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_non_pub_def_fun_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Aug 22 18:33:20 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS should not be defined.
+// See file boost_no_cxx11_non_pub_def_fun.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
+#include "boost_no_cxx11_non_pub_def_fun.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_non_public_defaulted_functions::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_non_pub_def_fun_pass.cpp b/src/boost/libs/config/test/no_cxx11_non_pub_def_fun_pass.cpp
new file mode 100644
index 000000000..2e00a6a73
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_non_pub_def_fun_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Aug 22 18:33:20 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS should be defined.
+// See file boost_no_cxx11_non_pub_def_fun.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
+#include "boost_no_cxx11_non_pub_def_fun.ipp"
+#else
+namespace boost_no_cxx11_non_public_defaulted_functions = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_non_public_defaulted_functions::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_numeric_limits_fail.cpp b/src/boost/libs/config/test/no_cxx11_numeric_limits_fail.cpp
new file mode 100644
index 000000000..607171930
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_numeric_limits_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Sep 25 16:53:41 2010
+// 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: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_NUMERIC_LIMITS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_NUMERIC_LIMITS should not be defined.
+// See file boost_no_limits_lowest.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_NUMERIC_LIMITS
+#include "boost_no_cxx11_numeric_limits.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_numeric_limits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_numeric_limits_pass.cpp b/src/boost/libs/config/test/no_cxx11_numeric_limits_pass.cpp
new file mode 100644
index 000000000..eb2c6cd41
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_numeric_limits_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Sep 25 16:53:41 2010
+// 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: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_NUMERIC_LIMITS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_NUMERIC_LIMITS should be defined.
+// See file boost_no_limits_lowest.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_NUMERIC_LIMITS
+#include "boost_no_cxx11_numeric_limits.ipp"
+#else
+namespace boost_no_cxx11_numeric_limits = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_numeric_limits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_pointer_traits_fail.cpp b/src/boost/libs/config/test/no_cxx11_pointer_traits_fail.cpp
new file mode 100644
index 000000000..59b881bb3
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_pointer_traits_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed May 17 01:29:39 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_CXX11_POINTER_TRAITS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_POINTER_TRAITS should not be defined.
+// See file boost_no_cxx11_pointer_traits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_POINTER_TRAITS
+#include "boost_no_cxx11_pointer_traits.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_pointer_traits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_pointer_traits_pass.cpp b/src/boost/libs/config/test/no_cxx11_pointer_traits_pass.cpp
new file mode 100644
index 000000000..071041b49
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_pointer_traits_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed May 17 01:29:39 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_CXX11_POINTER_TRAITS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_POINTER_TRAITS should be defined.
+// See file boost_no_cxx11_pointer_traits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_POINTER_TRAITS
+#include "boost_no_cxx11_pointer_traits.ipp"
+#else
+namespace boost_no_cxx11_pointer_traits = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_pointer_traits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_ref_qualifiers_fail.cpp b/src/boost/libs/config/test/no_cxx11_ref_qualifiers_fail.cpp
new file mode 100644
index 000000000..413ca8e9b
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_ref_qualifiers_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed May 28 17:13:04 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_REF_QUALIFIERS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_REF_QUALIFIERS should not be defined.
+// See file boost_no_cxx11_ref_qualifiers.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_REF_QUALIFIERS
+#include "boost_no_cxx11_ref_qualifiers.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_ref_qualifiers::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_ref_qualifiers_pass.cpp b/src/boost/libs/config/test/no_cxx11_ref_qualifiers_pass.cpp
new file mode 100644
index 000000000..99216f60e
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_ref_qualifiers_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed May 28 17:13:04 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_REF_QUALIFIERS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_REF_QUALIFIERS should be defined.
+// See file boost_no_cxx11_ref_qualifiers.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
+#include "boost_no_cxx11_ref_qualifiers.ipp"
+#else
+namespace boost_no_cxx11_ref_qualifiers = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_ref_qualifiers::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_sfinae_expr_fail.cpp b/src/boost/libs/config/test/no_cxx11_sfinae_expr_fail.cpp
new file mode 100644
index 000000000..1613f16e2
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_sfinae_expr_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Feb 4 00:49:07 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_CXX11_SFINAE_EXPR
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_SFINAE_EXPR should not be defined.
+// See file boost_no_cxx11_sfinae_expr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_SFINAE_EXPR
+#include "boost_no_cxx11_sfinae_expr.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_sfinae_expr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_sfinae_expr_pass.cpp b/src/boost/libs/config/test/no_cxx11_sfinae_expr_pass.cpp
new file mode 100644
index 000000000..15d988b09
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_sfinae_expr_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Feb 4 00:49:07 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_CXX11_SFINAE_EXPR
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_SFINAE_EXPR should be defined.
+// See file boost_no_cxx11_sfinae_expr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_SFINAE_EXPR
+#include "boost_no_cxx11_sfinae_expr.ipp"
+#else
+namespace boost_no_cxx11_sfinae_expr = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_sfinae_expr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_smart_ptr_fail.cpp b/src/boost/libs/config/test/no_cxx11_smart_ptr_fail.cpp
new file mode 100644
index 000000000..41908940a
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_smart_ptr_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 22 11:15:43 2012
+// 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: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_SMART_PTR
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_SMART_PTR should not be defined.
+// See file boost_no_cxx11_smart_ptr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_SMART_PTR
+#include "boost_no_cxx11_smart_ptr.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_smart_ptr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_smart_ptr_pass.cpp b/src/boost/libs/config/test/no_cxx11_smart_ptr_pass.cpp
new file mode 100644
index 000000000..334cae64c
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_smart_ptr_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 22 11:15:43 2012
+// 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: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_SMART_PTR
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_SMART_PTR should be defined.
+// See file boost_no_cxx11_smart_ptr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_SMART_PTR
+#include "boost_no_cxx11_smart_ptr.ipp"
+#else
+namespace boost_no_cxx11_smart_ptr = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_smart_ptr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_std_align_fail.cpp b/src/boost/libs/config/test/no_cxx11_std_align_fail.cpp
new file mode 100644
index 000000000..7a87dea2f
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_std_align_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Tue Feb 11 16:14:42 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_STD_ALIGN
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_STD_ALIGN should not be defined.
+// See file boost_no_cxx11_std_align.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_STD_ALIGN
+#include "boost_no_cxx11_std_align.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_std_align::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_std_align_pass.cpp b/src/boost/libs/config/test/no_cxx11_std_align_pass.cpp
new file mode 100644
index 000000000..4ee4ba65b
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_std_align_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Tue Feb 11 16:14:42 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_STD_ALIGN
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_STD_ALIGN should be defined.
+// See file boost_no_cxx11_std_align.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_STD_ALIGN
+#include "boost_no_cxx11_std_align.ipp"
+#else
+namespace boost_no_cxx11_std_align = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_std_align::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_thread_local_fail.cpp b/src/boost/libs/config/test/no_cxx11_thread_local_fail.cpp
new file mode 100644
index 000000000..957c622ee
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_thread_local_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Jul 1 18:47:25 2016
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_THREAD_LOCAL
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_THREAD_LOCAL should not be defined.
+// See file boost_no_cxx11_thread_local.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_THREAD_LOCAL
+#include "boost_no_cxx11_thread_local.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_thread_local::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_thread_local_pass.cpp b/src/boost/libs/config/test/no_cxx11_thread_local_pass.cpp
new file mode 100644
index 000000000..3e54ca2b5
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_thread_local_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Jul 1 18:47:25 2016
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_THREAD_LOCAL
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_THREAD_LOCAL should be defined.
+// See file boost_no_cxx11_thread_local.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_THREAD_LOCAL
+#include "boost_no_cxx11_thread_local.ipp"
+#else
+namespace boost_no_cxx11_thread_local = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_thread_local::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_trailing_result_types_fail.cpp b/src/boost/libs/config/test/no_cxx11_trailing_result_types_fail.cpp
new file mode 100644
index 000000000..edabc2def
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_trailing_result_types_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 28 18:36:48 2013
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_TRAILING_RESULT_TYPES
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_TRAILING_RESULT_TYPES should not be defined.
+// See file boost_no_cxx11_trailing_result_types.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
+#include "boost_no_cxx11_trailing_result_types.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_trailing_result_types::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_trailing_result_types_pass.cpp b/src/boost/libs/config/test/no_cxx11_trailing_result_types_pass.cpp
new file mode 100644
index 000000000..6cc54cf0a
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_trailing_result_types_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 28 18:36:48 2013
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_TRAILING_RESULT_TYPES
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_TRAILING_RESULT_TYPES should be defined.
+// See file boost_no_cxx11_trailing_result_types.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
+#include "boost_no_cxx11_trailing_result_types.ipp"
+#else
+namespace boost_no_cxx11_trailing_result_types = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_trailing_result_types::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_unrestricted_union_fail.cpp b/src/boost/libs/config/test/no_cxx11_unrestricted_union_fail.cpp
new file mode 100644
index 000000000..04321c4f4
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_unrestricted_union_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_UNRESTRICTED_UNION
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_UNRESTRICTED_UNION should not be defined.
+// See file boost_no_cxx11_unrestricted_union.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_UNRESTRICTED_UNION
+#include "boost_no_cxx11_unrestricted_union.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_unrestricted_union::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_unrestricted_union_pass.cpp b/src/boost/libs/config/test/no_cxx11_unrestricted_union_pass.cpp
new file mode 100644
index 000000000..b4e7b5b79
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_unrestricted_union_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon Dec 09 09:47:37 2019
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_UNRESTRICTED_UNION
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_UNRESTRICTED_UNION should be defined.
+// See file boost_no_cxx11_unrestricted_union.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_UNRESTRICTED_UNION
+#include "boost_no_cxx11_unrestricted_union.ipp"
+#else
+namespace boost_no_cxx11_unrestricted_union = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_unrestricted_union::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_user_lit_fail.cpp b/src/boost/libs/config/test/no_cxx11_user_lit_fail.cpp
new file mode 100644
index 000000000..266645569
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_user_lit_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 28 18:36:48 2013
+// 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: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_USER_DEFINED_LITERALS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_USER_DEFINED_LITERALS should not be defined.
+// See file boost_no_cxx11_user_lit.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#include "boost_no_cxx11_user_lit.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_user_defined_literals::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx11_user_lit_pass.cpp b/src/boost/libs/config/test/no_cxx11_user_lit_pass.cpp
new file mode 100644
index 000000000..d1408f5ea
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx11_user_lit_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 28 18:36:48 2013
+// 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: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_USER_DEFINED_LITERALS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_USER_DEFINED_LITERALS should be defined.
+// See file boost_no_cxx11_user_lit.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_USER_DEFINED_LITERALS
+#include "boost_no_cxx11_user_lit.ipp"
+#else
+namespace boost_no_cxx11_user_defined_literals = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_user_defined_literals::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_binary_literals_fail.cpp b/src/boost/libs/config/test/no_cxx14_binary_literals_fail.cpp
new file mode 100644
index 000000000..759e87197
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_binary_literals_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:16 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_BINARY_LITERALS
+// This file should not compile, if it does then
+// BOOST_NO_CXX14_BINARY_LITERALS should not be defined.
+// See file boost_no_cxx14_binary_literals.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX14_BINARY_LITERALS
+#include "boost_no_cxx14_binary_literals.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_binary_literals::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_binary_literals_pass.cpp b/src/boost/libs/config/test/no_cxx14_binary_literals_pass.cpp
new file mode 100644
index 000000000..94debc27f
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_binary_literals_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:16 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_BINARY_LITERALS
+// This file should compile, if it does not then
+// BOOST_NO_CXX14_BINARY_LITERALS should be defined.
+// See file boost_no_cxx14_binary_literals.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX14_BINARY_LITERALS
+#include "boost_no_cxx14_binary_literals.ipp"
+#else
+namespace boost_no_cxx14_binary_literals = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_binary_literals::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_constexpr_fail.cpp b/src/boost/libs/config/test/no_cxx14_constexpr_fail.cpp
new file mode 100644
index 000000000..0028023ba
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_constexpr_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:16 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_CONSTEXPR
+// This file should not compile, if it does then
+// BOOST_NO_CXX14_CONSTEXPR should not be defined.
+// See file boost_no_cxx14_constexpr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX14_CONSTEXPR
+#include "boost_no_cxx14_constexpr.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_constexpr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_constexpr_pass.cpp b/src/boost/libs/config/test/no_cxx14_constexpr_pass.cpp
new file mode 100644
index 000000000..8272f9189
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_constexpr_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:16 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_CONSTEXPR
+// This file should compile, if it does not then
+// BOOST_NO_CXX14_CONSTEXPR should be defined.
+// See file boost_no_cxx14_constexpr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX14_CONSTEXPR
+#include "boost_no_cxx14_constexpr.ipp"
+#else
+namespace boost_no_cxx14_constexpr = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_constexpr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_decltype_auto_fail.cpp b/src/boost/libs/config/test/no_cxx14_decltype_auto_fail.cpp
new file mode 100644
index 000000000..78639cf56
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_decltype_auto_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:16 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_DECLTYPE_AUTO
+// This file should not compile, if it does then
+// BOOST_NO_CXX14_DECLTYPE_AUTO should not be defined.
+// See file boost_no_cxx14_decltype_auto.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX14_DECLTYPE_AUTO
+#include "boost_no_cxx14_decltype_auto.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_decltype_auto::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_decltype_auto_pass.cpp b/src/boost/libs/config/test/no_cxx14_decltype_auto_pass.cpp
new file mode 100644
index 000000000..e36cb64d2
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_decltype_auto_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:16 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_DECLTYPE_AUTO
+// This file should compile, if it does not then
+// BOOST_NO_CXX14_DECLTYPE_AUTO should be defined.
+// See file boost_no_cxx14_decltype_auto.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX14_DECLTYPE_AUTO
+#include "boost_no_cxx14_decltype_auto.ipp"
+#else
+namespace boost_no_cxx14_decltype_auto = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_decltype_auto::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_digit_separator_fail.cpp b/src/boost/libs/config/test/no_cxx14_digit_separator_fail.cpp
new file mode 100644
index 000000000..59a300183
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_digit_separator_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:16 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_DIGIT_SEPARATORS
+// This file should not compile, if it does then
+// BOOST_NO_CXX14_DIGIT_SEPARATORS should not be defined.
+// See file boost_no_cxx14_digit_separator.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX14_DIGIT_SEPARATORS
+#include "boost_no_cxx14_digit_separator.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_digit_separators::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_digit_separator_pass.cpp b/src/boost/libs/config/test/no_cxx14_digit_separator_pass.cpp
new file mode 100644
index 000000000..a8814fe07
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_digit_separator_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:16 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_DIGIT_SEPARATORS
+// This file should compile, if it does not then
+// BOOST_NO_CXX14_DIGIT_SEPARATORS should be defined.
+// See file boost_no_cxx14_digit_separator.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX14_DIGIT_SEPARATORS
+#include "boost_no_cxx14_digit_separator.ipp"
+#else
+namespace boost_no_cxx14_digit_separators = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_digit_separators::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_generic_lambda_fail.cpp b/src/boost/libs/config/test/no_cxx14_generic_lambda_fail.cpp
new file mode 100644
index 000000000..928f76532
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_generic_lambda_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:16 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_GENERIC_LAMBDAS
+// This file should not compile, if it does then
+// BOOST_NO_CXX14_GENERIC_LAMBDAS should not be defined.
+// See file boost_no_cxx14_generic_lambda.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX14_GENERIC_LAMBDAS
+#include "boost_no_cxx14_generic_lambda.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_generic_lambdas::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_generic_lambda_pass.cpp b/src/boost/libs/config/test/no_cxx14_generic_lambda_pass.cpp
new file mode 100644
index 000000000..bef36ac6e
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_generic_lambda_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:16 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_GENERIC_LAMBDAS
+// This file should compile, if it does not then
+// BOOST_NO_CXX14_GENERIC_LAMBDAS should be defined.
+// See file boost_no_cxx14_generic_lambda.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX14_GENERIC_LAMBDAS
+#include "boost_no_cxx14_generic_lambda.ipp"
+#else
+namespace boost_no_cxx14_generic_lambdas = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_generic_lambdas::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_hdr_shared_mutex_fail.cpp b/src/boost/libs/config/test/no_cxx14_hdr_shared_mutex_fail.cpp
new file mode 100644
index 000000000..11c93bbe1
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_hdr_shared_mutex_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Jun 26 21:47:59 2015
+// 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_CXX14_HDR_SHARED_MUTEX
+// This file should not compile, if it does then
+// BOOST_NO_CXX14_HDR_SHARED_MUTEX should not be defined.
+// See file boost_no_cxx14_hdr_shared_mutex.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX14_HDR_SHARED_MUTEX
+#include "boost_no_cxx14_hdr_shared_mutex.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_hdr_shared_mutex::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_hdr_shared_mutex_pass.cpp b/src/boost/libs/config/test/no_cxx14_hdr_shared_mutex_pass.cpp
new file mode 100644
index 000000000..20c5f7bbc
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_hdr_shared_mutex_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Jun 26 21:47:59 2015
+// 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_CXX14_HDR_SHARED_MUTEX
+// This file should compile, if it does not then
+// BOOST_NO_CXX14_HDR_SHARED_MUTEX should be defined.
+// See file boost_no_cxx14_hdr_shared_mutex.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
+#include "boost_no_cxx14_hdr_shared_mutex.ipp"
+#else
+namespace boost_no_cxx14_hdr_shared_mutex = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_hdr_shared_mutex::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_lambda_capture_fail.cpp b/src/boost/libs/config/test/no_cxx14_lambda_capture_fail.cpp
new file mode 100644
index 000000000..515cc08e9
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_lambda_capture_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:17 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
+// This file should not compile, if it does then
+// BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES should not be defined.
+// See file boost_no_cxx14_lambda_capture.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
+#include "boost_no_cxx14_lambda_capture.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_initialized_lambda_captures::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_lambda_capture_pass.cpp b/src/boost/libs/config/test/no_cxx14_lambda_capture_pass.cpp
new file mode 100644
index 000000000..d5c09c5f0
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_lambda_capture_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:17 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
+// This file should compile, if it does not then
+// BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES should be defined.
+// See file boost_no_cxx14_lambda_capture.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
+#include "boost_no_cxx14_lambda_capture.ipp"
+#else
+namespace boost_no_cxx14_initialized_lambda_captures = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_initialized_lambda_captures::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_member_init_fail.cpp b/src/boost/libs/config/test/no_cxx14_member_init_fail.cpp
new file mode 100644
index 000000000..ba3ae4e26
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_member_init_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:17 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_AGGREGATE_NSDMI
+// This file should not compile, if it does then
+// BOOST_NO_CXX14_AGGREGATE_NSDMI should not be defined.
+// See file boost_no_cxx14_member_init.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX14_AGGREGATE_NSDMI
+#include "boost_no_cxx14_member_init.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_aggregate_nsdmi::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_member_init_pass.cpp b/src/boost/libs/config/test/no_cxx14_member_init_pass.cpp
new file mode 100644
index 000000000..9dd8e8977
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_member_init_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:17 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_AGGREGATE_NSDMI
+// This file should compile, if it does not then
+// BOOST_NO_CXX14_AGGREGATE_NSDMI should be defined.
+// See file boost_no_cxx14_member_init.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX14_AGGREGATE_NSDMI
+#include "boost_no_cxx14_member_init.ipp"
+#else
+namespace boost_no_cxx14_aggregate_nsdmi = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_aggregate_nsdmi::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_return_type_ded_fail.cpp b/src/boost/libs/config/test/no_cxx14_return_type_ded_fail.cpp
new file mode 100644
index 000000000..a969c8405
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_return_type_ded_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:17 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
+// This file should not compile, if it does then
+// BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION should not be defined.
+// See file boost_no_cxx14_return_type_ded.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
+#include "boost_no_cxx14_return_type_ded.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_return_type_deduction::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_return_type_ded_pass.cpp b/src/boost/libs/config/test/no_cxx14_return_type_ded_pass.cpp
new file mode 100644
index 000000000..f3e35f375
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_return_type_ded_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:17 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
+// This file should compile, if it does not then
+// BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION should be defined.
+// See file boost_no_cxx14_return_type_ded.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
+#include "boost_no_cxx14_return_type_ded.ipp"
+#else
+namespace boost_no_cxx14_return_type_deduction = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_return_type_deduction::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_std_exchange_fail.cpp b/src/boost/libs/config/test/no_cxx14_std_exchange_fail.cpp
new file mode 100644
index 000000000..c71003774
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_std_exchange_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Oct 14 12:13:46 2016
+// 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_CXX17_STD_APPLY
+// This file should not compile, if it does then
+// BOOST_NO_CXX17_STD_APPLY should not be defined.
+// See file boost_no_cxx17_std_apply.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX14_STD_EXCHANGE
+#include "boost_no_cxx14_std_exchange.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_std_exchange::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_std_exchange_pass.cpp b/src/boost/libs/config/test/no_cxx14_std_exchange_pass.cpp
new file mode 100644
index 000000000..edac2fbf5
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_std_exchange_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Oct 14 12:13:46 2016
+// 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_CXX17_STD_APPLY
+// This file should compile, if it does not then
+// BOOST_NO_CXX!/_STD_APPLY should be defined.
+// See file boost_no_cxx17_std_apply.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX14_STD_EXCHANGE
+#include "boost_no_cxx14_std_exchange.ipp"
+#else
+namespace boost_no_cxx14_std_exchange = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_std_exchange::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_var_templ_fail.cpp b/src/boost/libs/config/test/no_cxx14_var_templ_fail.cpp
new file mode 100644
index 000000000..438ccd7e6
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_var_templ_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:17 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_VARIABLE_TEMPLATES
+// This file should not compile, if it does then
+// BOOST_NO_CXX14_VARIABLE_TEMPLATES should not be defined.
+// See file boost_no_cxx14_var_templ.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX14_VARIABLE_TEMPLATES
+#include "boost_no_cxx14_var_templ.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_variable_templates::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx14_var_templ_pass.cpp b/src/boost/libs/config/test/no_cxx14_var_templ_pass.cpp
new file mode 100644
index 000000000..90c7b4c51
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx14_var_templ_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Oct 11 19:26:17 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX14_VARIABLE_TEMPLATES
+// This file should compile, if it does not then
+// BOOST_NO_CXX14_VARIABLE_TEMPLATES should be defined.
+// See file boost_no_cxx14_var_templ.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX14_VARIABLE_TEMPLATES
+#include "boost_no_cxx14_var_templ.ipp"
+#else
+namespace boost_no_cxx14_variable_templates = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx14_variable_templates::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_fold_expressions_fail.cpp b/src/boost/libs/config/test/no_cxx17_fold_expressions_fail.cpp
new file mode 100644
index 000000000..db22b1521
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_fold_expressions_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon May 29 10:27:35 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_CXX17_FOLD_EXPRESSIONS
+// This file should not compile, if it does then
+// BOOST_NO_CXX17_FOLD_EXPRESSIONS should not be defined.
+// See file boost_no_cxx17_fold_expressions.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX17_FOLD_EXPRESSIONS
+#include "boost_no_cxx17_fold_expressions.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_fold_expressions::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_fold_expressions_pass.cpp b/src/boost/libs/config/test/no_cxx17_fold_expressions_pass.cpp
new file mode 100644
index 000000000..bc2feeab6
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_fold_expressions_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon May 29 10:27:35 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_CXX17_FOLD_EXPRESSIONS
+// This file should compile, if it does not then
+// BOOST_NO_CXX17_FOLD_EXPRESSIONS should be defined.
+// See file boost_no_cxx17_fold_expressions.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX17_FOLD_EXPRESSIONS
+#include "boost_no_cxx17_fold_expressions.ipp"
+#else
+namespace boost_no_cxx17_fold_expressions = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_fold_expressions::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_hdr_optional_fail.cpp b/src/boost/libs/config/test/no_cxx17_hdr_optional_fail.cpp
new file mode 100644
index 000000000..74bac133f
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_hdr_optional_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Aug 4 19:11:09 2018
+// 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_CXX17_HDR_OPTIONAL
+// This file should not compile, if it does then
+// BOOST_NO_CXX17_HDR_OPTIONAL should not be defined.
+// See file boost_no_cxx17_hdr_optional.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX17_HDR_OPTIONAL
+#include "boost_no_cxx17_hdr_optional.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_hdr_optional::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_hdr_optional_pass.cpp b/src/boost/libs/config/test/no_cxx17_hdr_optional_pass.cpp
new file mode 100644
index 000000000..e4a83ef69
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_hdr_optional_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sat Aug 4 19:11:08 2018
+// 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_CXX17_HDR_OPTIONAL
+// This file should compile, if it does not then
+// BOOST_NO_CXX17_HDR_OPTIONAL should be defined.
+// See file boost_no_cxx17_hdr_optional.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX17_HDR_OPTIONAL
+#include "boost_no_cxx17_hdr_optional.ipp"
+#else
+namespace boost_no_cxx17_hdr_optional = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_hdr_optional::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_hdr_string_view_fail.cpp b/src/boost/libs/config/test/no_cxx17_hdr_string_view_fail.cpp
new file mode 100644
index 000000000..632413131
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_hdr_string_view_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Aug 16 11:20:17 2018
+// 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_CXX17_HDR_STRING_VIEW
+// This file should not compile, if it does then
+// BOOST_NO_CXX17_HDR_STRING_VIEW should not be defined.
+// See file boost_no_cxx17_hdr_string_view.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX17_HDR_STRING_VIEW
+#include "boost_no_cxx17_hdr_string_view.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_hdr_string_view::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_hdr_string_view_pass.cpp b/src/boost/libs/config/test/no_cxx17_hdr_string_view_pass.cpp
new file mode 100644
index 000000000..e50648ac5
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_hdr_string_view_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Aug 16 11:20:17 2018
+// 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_CXX17_HDR_STRING_VIEW
+// This file should compile, if it does not then
+// BOOST_NO_CXX17_HDR_STRING_VIEW should be defined.
+// See file boost_no_cxx17_hdr_string_view.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX17_HDR_STRING_VIEW
+#include "boost_no_cxx17_hdr_string_view.ipp"
+#else
+namespace boost_no_cxx17_hdr_string_view = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_hdr_string_view::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_hdr_variant_fail.cpp b/src/boost/libs/config/test/no_cxx17_hdr_variant_fail.cpp
new file mode 100644
index 000000000..46cfe2e8f
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_hdr_variant_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon Apr 1 19:04:04 2019
+// 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_CXX17_HDR_VARIANT
+// This file should not compile, if it does then
+// BOOST_NO_CXX17_HDR_VARIANT should not be defined.
+// See file boost_no_cxx17_hdr_variant.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX17_HDR_VARIANT
+#include "boost_no_cxx17_hdr_variant.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_hdr_variant::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_hdr_variant_pass.cpp b/src/boost/libs/config/test/no_cxx17_hdr_variant_pass.cpp
new file mode 100644
index 000000000..13f4de73f
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_hdr_variant_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon Apr 1 19:04:04 2019
+// 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_CXX17_HDR_VARIANT
+// This file should compile, if it does not then
+// BOOST_NO_CXX17_HDR_VARIANT should be defined.
+// See file boost_no_cxx17_hdr_variant.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX17_HDR_VARIANT
+#include "boost_no_cxx17_hdr_variant.ipp"
+#else
+namespace boost_no_cxx17_hdr_variant = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_hdr_variant::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_if_constexpr_fail.cpp b/src/boost/libs/config/test/no_cxx17_if_constexpr_fail.cpp
new file mode 100644
index 000000000..63137ff30
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_if_constexpr_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Tue Mar 6 00:52:32 2018
+// 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_CXX17_IF_CONSTEXPR
+// This file should not compile, if it does then
+// BOOST_NO_CXX17_IF_CONSTEXPR should not be defined.
+// See file boost_no_cxx17_if_constexpr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX17_IF_CONSTEXPR
+#include "boost_no_cxx17_if_constexpr.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_if_constexpr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_if_constexpr_pass.cpp b/src/boost/libs/config/test/no_cxx17_if_constexpr_pass.cpp
new file mode 100644
index 000000000..bcbd808c2
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_if_constexpr_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Tue Mar 6 00:52:32 2018
+// 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_CXX17_IF_CONSTEXPR
+// This file should compile, if it does not then
+// BOOST_NO_CXX17_IF_CONSTEXPR should be defined.
+// See file boost_no_cxx17_if_constexpr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX17_IF_CONSTEXPR
+#include "boost_no_cxx17_if_constexpr.ipp"
+#else
+namespace boost_no_cxx17_if_constexpr = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_if_constexpr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_inline_variables_fail.cpp b/src/boost/libs/config/test/no_cxx17_inline_variables_fail.cpp
new file mode 100644
index 000000000..58e688b3f
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_inline_variables_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon May 29 10:00:26 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_CXX17_INLINE_VARIABLES
+// This file should not compile, if it does then
+// BOOST_NO_CXX17_INLINE_VARIABLES should not be defined.
+// See file boost_no_cxx17_inline_variables.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX17_INLINE_VARIABLES
+#include "boost_no_cxx17_inline_variables.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_inline_variables::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_inline_variables_pass.cpp b/src/boost/libs/config/test/no_cxx17_inline_variables_pass.cpp
new file mode 100644
index 000000000..ec5f69e28
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_inline_variables_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon May 29 10:00:26 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_CXX17_INLINE_VARIABLES
+// This file should compile, if it does not then
+// BOOST_NO_CXX17_INLINE_VARIABLES should be defined.
+// See file boost_no_cxx17_inline_variables.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX17_INLINE_VARIABLES
+#include "boost_no_cxx17_inline_variables.ipp"
+#else
+namespace boost_no_cxx17_inline_variables = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_inline_variables::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_iterator_traits_fail.cpp b/src/boost/libs/config/test/no_cxx17_iterator_traits_fail.cpp
new file mode 100644
index 000000000..4b241c980
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_iterator_traits_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Jul 9 15:26:23 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_CXX17_ITERATOR_TRAITS
+// This file should not compile, if it does then
+// BOOST_NO_CXX17_ITERATOR_TRAITS should not be defined.
+// See file boost_no_cxx17_iterator_traits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX17_ITERATOR_TRAITS
+#include "boost_no_cxx17_iterator_traits.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_iterator_traits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_iterator_traits_pass.cpp b/src/boost/libs/config/test/no_cxx17_iterator_traits_pass.cpp
new file mode 100644
index 000000000..a2a29bb63
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_iterator_traits_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Jul 9 15:26:23 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_CXX17_ITERATOR_TRAITS
+// This file should compile, if it does not then
+// BOOST_NO_CXX17_ITERATOR_TRAITS should be defined.
+// See file boost_no_cxx17_iterator_traits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX17_ITERATOR_TRAITS
+#include "boost_no_cxx17_iterator_traits.ipp"
+#else
+namespace boost_no_cxx17_iterator_traits = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_iterator_traits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_std_apply_fail.cpp b/src/boost/libs/config/test/no_cxx17_std_apply_fail.cpp
new file mode 100644
index 000000000..e1c3d367a
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_std_apply_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Oct 14 12:13:46 2016
+// 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_CXX17_STD_APPLY
+// This file should not compile, if it does then
+// BOOST_NO_CXX17_STD_APPLY should not be defined.
+// See file boost_no_cxx17_std_apply.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX17_STD_APPLY
+#include "boost_no_cxx17_std_apply.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_std_apply::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_std_apply_pass.cpp b/src/boost/libs/config/test/no_cxx17_std_apply_pass.cpp
new file mode 100644
index 000000000..b3aa87448
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_std_apply_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Oct 14 12:13:46 2016
+// 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_CXX17_STD_APPLY
+// This file should compile, if it does not then
+// BOOST_NO_CXX!/_STD_APPLY should be defined.
+// See file boost_no_cxx17_std_apply.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX17_STD_APPLY
+#include "boost_no_cxx17_std_apply.ipp"
+#else
+namespace boost_no_cxx17_std_apply = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_std_apply::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_std_invoke_fail.cpp b/src/boost/libs/config/test/no_cxx17_std_invoke_fail.cpp
new file mode 100644
index 000000000..a34fc7a88
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_std_invoke_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Oct 14 12:13:46 2016
+// 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_CXX17_STD_INVOKE
+// This file should not compile, if it does then
+// BOOST_NO_STD_INVOKE should not be defined.
+// See file boost_no_cxx17_std_invoke.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX17_STD_INVOKE
+#include "boost_no_cxx17_std_invoke.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_std_invoke::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_std_invoke_pass.cpp b/src/boost/libs/config/test/no_cxx17_std_invoke_pass.cpp
new file mode 100644
index 000000000..76e28e17d
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_std_invoke_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Oct 14 12:13:46 2016
+// 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_CXX17_STD_INVOKE
+// This file should compile, if it does not then
+// BOOST_NO_STD_INVOKE should be defined.
+// See file boost_no_cxx17_std_invoke.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX17_STD_INVOKE
+#include "boost_no_cxx17_std_invoke.ipp"
+#else
+namespace boost_no_cxx17_std_invoke = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_std_invoke::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_structured_bindings_fail.cpp b/src/boost/libs/config/test/no_cxx17_structured_bindings_fail.cpp
new file mode 100644
index 000000000..9b7b1fb1b
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_structured_bindings_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon May 29 09:56:04 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_CXX17_STRUCTURED_BINDINGS
+// This file should not compile, if it does then
+// BOOST_NO_CXX17_STRUCTURED_BINDINGS should not be defined.
+// See file boost_no_cxx17_structured_bindings.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX17_STRUCTURED_BINDINGS
+#include "boost_no_cxx17_structured_bindings.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_structured_bindings::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx17_structured_bindings_pass.cpp b/src/boost/libs/config/test/no_cxx17_structured_bindings_pass.cpp
new file mode 100644
index 000000000..312e0c0c2
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx17_structured_bindings_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon May 29 09:56:04 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_CXX17_STRUCTURED_BINDINGS
+// This file should compile, if it does not then
+// BOOST_NO_CXX17_STRUCTURED_BINDINGS should be defined.
+// See file boost_no_cxx17_structured_bindings.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX17_STRUCTURED_BINDINGS
+#include "boost_no_cxx17_structured_bindings.ipp"
+#else
+namespace boost_no_cxx17_structured_bindings = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx17_structured_bindings::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx98_binders_fail.cpp b/src/boost/libs/config/test/no_cxx98_binders_fail.cpp
new file mode 100644
index 000000000..d17f14902
--- /dev/null
+++ b/src/boost/libs/config/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 <boost/config.hpp>
+#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/src/boost/libs/config/test/no_cxx98_binders_pass.cpp b/src/boost/libs/config/test/no_cxx98_binders_pass.cpp
new file mode 100644
index 000000000..55878792d
--- /dev/null
+++ b/src/boost/libs/config/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 <boost/config.hpp>
+#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/src/boost/libs/config/test/no_cxx98_function_base_fail.cpp b/src/boost/libs/config/test/no_cxx98_function_base_fail.cpp
new file mode 100644
index 000000000..132edce8d
--- /dev/null
+++ b/src/boost/libs/config/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 <boost/config.hpp>
+#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/src/boost/libs/config/test/no_cxx98_function_base_pass.cpp b/src/boost/libs/config/test/no_cxx98_function_base_pass.cpp
new file mode 100644
index 000000000..a608e75bb
--- /dev/null
+++ b/src/boost/libs/config/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 <boost/config.hpp>
+#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/src/boost/libs/config/test/no_cxx98_random_shuffle_fail.cpp b/src/boost/libs/config/test/no_cxx98_random_shuffle_fail.cpp
new file mode 100644
index 000000000..419e22edf
--- /dev/null
+++ b/src/boost/libs/config/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 <boost/config.hpp>
+#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/src/boost/libs/config/test/no_cxx98_random_shuffle_pass.cpp b/src/boost/libs/config/test/no_cxx98_random_shuffle_pass.cpp
new file mode 100644
index 000000000..1d3355e82
--- /dev/null
+++ b/src/boost/libs/config/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 <boost/config.hpp>
+#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/src/boost/libs/config/test/no_cxx_hdr_functional_fail.cpp b/src/boost/libs/config/test/no_cxx_hdr_functional_fail.cpp
new file mode 100644
index 000000000..15f885a29
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx_hdr_functional_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 22 11:15:43 2012
+// 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: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_FUNCTIONAL
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_HDR_FUNCTIONAL should not be defined.
+// See file boost_no_cxx_hdr_functional.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL
+#include "boost_no_cxx_hdr_functional.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_functional::test();
+}
+
diff --git a/src/boost/libs/config/test/no_cxx_hdr_functional_pass.cpp b/src/boost/libs/config/test/no_cxx_hdr_functional_pass.cpp
new file mode 100644
index 000000000..a5fe5c5c1
--- /dev/null
+++ b/src/boost/libs/config/test/no_cxx_hdr_functional_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Apr 22 11:15:43 2012
+// 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: generate.cpp 72327 2011-06-01 14:51:03Z eric_niebler $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_HDR_FUNCTIONAL
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_HDR_FUNCTIONAL should be defined.
+// See file boost_no_cxx_hdr_functional.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL
+#include "boost_no_cxx_hdr_functional.ipp"
+#else
+namespace boost_no_cxx11_hdr_functional = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_hdr_functional::test();
+}
+
diff --git a/src/boost/libs/config/test/no_decltype_fail.cpp b/src/boost/libs/config/test/no_decltype_fail.cpp
new file mode 100644
index 000000000..59be58668
--- /dev/null
+++ b/src/boost/libs/config/test/no_decltype_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 07:24:54 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_DECLTYPE
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_DECLTYPE should not be defined.
+// See file boost_no_decltype.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_DECLTYPE
+#include "boost_no_decltype.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_decltype::test();
+}
+
diff --git a/src/boost/libs/config/test/no_decltype_n3276_fail.cpp b/src/boost/libs/config/test/no_decltype_n3276_fail.cpp
new file mode 100644
index 000000000..1e86fb6f4
--- /dev/null
+++ b/src/boost/libs/config/test/no_decltype_n3276_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed Jun 1 21:44:56 2011
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_DECLTYPE_N3276
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_DECLTYPE_N3276 should not be defined.
+// See file boost_no_decltype_n3276.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_DECLTYPE_N3276
+#include "boost_no_decltype_n3276.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_decltype_n3276::test();
+}
+
diff --git a/src/boost/libs/config/test/no_decltype_n3276_pass.cpp b/src/boost/libs/config/test/no_decltype_n3276_pass.cpp
new file mode 100644
index 000000000..0eb3a21f9
--- /dev/null
+++ b/src/boost/libs/config/test/no_decltype_n3276_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed Jun 1 21:44:56 2011
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_DECLTYPE_N3276
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_DECLTYPE_N3276 should be defined.
+// See file boost_no_decltype_n3276.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_DECLTYPE_N3276
+#include "boost_no_decltype_n3276.ipp"
+#else
+namespace boost_no_cxx11_decltype_n3276 = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_decltype_n3276::test();
+}
+
diff --git a/src/boost/libs/config/test/no_decltype_pass.cpp b/src/boost/libs/config/test/no_decltype_pass.cpp
new file mode 100644
index 000000000..91dfe258d
--- /dev/null
+++ b/src/boost/libs/config/test/no_decltype_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 07:24:54 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_DECLTYPE
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_DECLTYPE should be defined.
+// See file boost_no_decltype.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_DECLTYPE
+#include "boost_no_decltype.ipp"
+#else
+namespace boost_no_cxx11_decltype = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_decltype::test();
+}
+
diff --git a/src/boost/libs/config/test/no_ded_typename_fail.cpp b/src/boost/libs/config/test/no_ded_typename_fail.cpp
new file mode 100644
index 000000000..d82937f2a
--- /dev/null
+++ b/src/boost/libs/config/test/no_ded_typename_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_DEDUCED_TYPENAME
+// This file should not compile, if it does then
+// BOOST_DEDUCED_TYPENAME should not be defined.
+// See file boost_no_ded_typename.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_DEDUCED_TYPENAME
+#include "boost_no_ded_typename.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_deduced_typename::test();
+}
+
diff --git a/src/boost/libs/config/test/no_ded_typename_pass.cpp b/src/boost/libs/config/test/no_ded_typename_pass.cpp
new file mode 100644
index 000000000..fe59f3651
--- /dev/null
+++ b/src/boost/libs/config/test/no_ded_typename_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_DEDUCED_TYPENAME
+// This file should compile, if it does not then
+// BOOST_DEDUCED_TYPENAME should be defined.
+// See file boost_no_ded_typename.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_DEDUCED_TYPENAME
+#include "boost_no_ded_typename.ipp"
+#else
+namespace boost_deduced_typename = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_deduced_typename::test();
+}
+
diff --git a/src/boost/libs/config/test/no_defaulted_functions_fail.cpp b/src/boost/libs/config/test/no_defaulted_functions_fail.cpp
new file mode 100644
index 000000000..58569579f
--- /dev/null
+++ b/src/boost/libs/config/test/no_defaulted_functions_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Jun 20 11:01:41 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_DEFAULTED_FUNCTIONS should not be defined.
+// See file boost_no_defaulted_functions.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#include "boost_no_defaulted_functions.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_defaulted_functions::test();
+}
+
diff --git a/src/boost/libs/config/test/no_defaulted_functions_pass.cpp b/src/boost/libs/config/test/no_defaulted_functions_pass.cpp
new file mode 100644
index 000000000..d35f89e0a
--- /dev/null
+++ b/src/boost/libs/config/test/no_defaulted_functions_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Jun 20 11:01:41 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_DEFAULTED_FUNCTIONS should be defined.
+// See file boost_no_defaulted_functions.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
+#include "boost_no_defaulted_functions.ipp"
+#else
+namespace boost_no_cxx11_defaulted_functions = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_defaulted_functions::test();
+}
+
diff --git a/src/boost/libs/config/test/no_deleted_functions_fail.cpp b/src/boost/libs/config/test/no_deleted_functions_fail.cpp
new file mode 100644
index 000000000..e08abe885
--- /dev/null
+++ b/src/boost/libs/config/test/no_deleted_functions_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Jun 19 16:26:16 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_DELETED_FUNCTIONS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_DELETED_FUNCTIONS should not be defined.
+// See file boost_no_deleted_functions.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_DELETED_FUNCTIONS
+#include "boost_no_deleted_functions.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_deleted_functions::test();
+}
+
diff --git a/src/boost/libs/config/test/no_deleted_functions_pass.cpp b/src/boost/libs/config/test/no_deleted_functions_pass.cpp
new file mode 100644
index 000000000..d157332a9
--- /dev/null
+++ b/src/boost/libs/config/test/no_deleted_functions_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Jun 19 16:26:16 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_DELETED_FUNCTIONS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_DELETED_FUNCTIONS should be defined.
+// See file boost_no_deleted_functions.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
+#include "boost_no_deleted_functions.ipp"
+#else
+namespace boost_no_cxx11_deleted_functions = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_deleted_functions::test();
+}
+
diff --git a/src/boost/libs/config/test/no_dep_nested_class_fail.cpp b/src/boost/libs/config/test/no_dep_nested_class_fail.cpp
new file mode 100644
index 000000000..ca98977c8
--- /dev/null
+++ b/src/boost/libs/config/test/no_dep_nested_class_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+// This file should not compile, if it does then
+// BOOST_NO_DEPENDENT_NESTED_DERIVATIONS should not be defined.
+// See file boost_no_dep_nested_class.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+#include "boost_no_dep_nested_class.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_dependent_nested_derivations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_dep_nested_class_pass.cpp b/src/boost/libs/config/test/no_dep_nested_class_pass.cpp
new file mode 100644
index 000000000..1eaa6e616
--- /dev/null
+++ b/src/boost/libs/config/test/no_dep_nested_class_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+// This file should compile, if it does not then
+// BOOST_NO_DEPENDENT_NESTED_DERIVATIONS should be defined.
+// See file boost_no_dep_nested_class.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+#include "boost_no_dep_nested_class.ipp"
+#else
+namespace boost_no_dependent_nested_derivations = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_dependent_nested_derivations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_dep_val_param_fail.cpp b/src/boost/libs/config/test/no_dep_val_param_fail.cpp
new file mode 100644
index 000000000..1c0a96f45
--- /dev/null
+++ b/src/boost/libs/config/test/no_dep_val_param_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+// This file should not compile, if it does then
+// BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS should not be defined.
+// See file boost_no_dep_val_param.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+#include "boost_no_dep_val_param.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_dependent_types_in_template_value_parameters::test();
+}
+
diff --git a/src/boost/libs/config/test/no_dep_val_param_pass.cpp b/src/boost/libs/config/test/no_dep_val_param_pass.cpp
new file mode 100644
index 000000000..57f6bdf21
--- /dev/null
+++ b/src/boost/libs/config/test/no_dep_val_param_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+// This file should compile, if it does not then
+// BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS should be defined.
+// See file boost_no_dep_val_param.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+#include "boost_no_dep_val_param.ipp"
+#else
+namespace boost_no_dependent_types_in_template_value_parameters = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_dependent_types_in_template_value_parameters::test();
+}
+
diff --git a/src/boost/libs/config/test/no_excep_std_fail.cpp b/src/boost/libs/config/test/no_excep_std_fail.cpp
new file mode 100644
index 000000000..0c557ac45
--- /dev/null
+++ b/src/boost/libs/config/test/no_excep_std_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_EXCEPTION_STD_NAMESPACE
+// This file should not compile, if it does then
+// BOOST_NO_EXCEPTION_STD_NAMESPACE should not be defined.
+// See file boost_no_excep_std.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_EXCEPTION_STD_NAMESPACE
+#include "boost_no_excep_std.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_exception_std_namespace::test();
+}
+
diff --git a/src/boost/libs/config/test/no_excep_std_pass.cpp b/src/boost/libs/config/test/no_excep_std_pass.cpp
new file mode 100644
index 000000000..9b5f9ca1c
--- /dev/null
+++ b/src/boost/libs/config/test/no_excep_std_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_EXCEPTION_STD_NAMESPACE
+// This file should compile, if it does not then
+// BOOST_NO_EXCEPTION_STD_NAMESPACE should be defined.
+// See file boost_no_excep_std.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_EXCEPTION_STD_NAMESPACE
+#include "boost_no_excep_std.ipp"
+#else
+namespace boost_no_exception_std_namespace = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_exception_std_namespace::test();
+}
+
diff --git a/src/boost/libs/config/test/no_exceptions_fail.cpp b/src/boost/libs/config/test/no_exceptions_fail.cpp
new file mode 100644
index 000000000..e1f3f4902
--- /dev/null
+++ b/src/boost/libs/config/test/no_exceptions_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_EXCEPTIONS
+// This file should not compile, if it does then
+// BOOST_NO_EXCEPTIONS should not be defined.
+// See file boost_no_exceptions.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_EXCEPTIONS
+#include "boost_no_exceptions.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_exceptions::test();
+}
+
diff --git a/src/boost/libs/config/test/no_exceptions_pass.cpp b/src/boost/libs/config/test/no_exceptions_pass.cpp
new file mode 100644
index 000000000..f2bf58214
--- /dev/null
+++ b/src/boost/libs/config/test/no_exceptions_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_EXCEPTIONS
+// This file should compile, if it does not then
+// BOOST_NO_EXCEPTIONS should be defined.
+// See file boost_no_exceptions.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_EXCEPTIONS
+#include "boost_no_exceptions.ipp"
+#else
+namespace boost_no_exceptions = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_exceptions::test();
+}
+
diff --git a/src/boost/libs/config/test/no_exp_func_tem_arg_fail.cpp b/src/boost/libs/config/test/no_exp_func_tem_arg_fail.cpp
new file mode 100644
index 000000000..e491c4dba
--- /dev/null
+++ b/src/boost/libs/config/test/no_exp_func_tem_arg_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+// This file should not compile, if it does then
+// BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS should not be defined.
+// See file boost_no_exp_func_tem_arg.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+#include "boost_no_exp_func_tem_arg.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_explicit_function_template_arguments::test();
+}
+
diff --git a/src/boost/libs/config/test/no_exp_func_tem_arg_pass.cpp b/src/boost/libs/config/test/no_exp_func_tem_arg_pass.cpp
new file mode 100644
index 000000000..6e2377788
--- /dev/null
+++ b/src/boost/libs/config/test/no_exp_func_tem_arg_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+// This file should compile, if it does not then
+// BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS should be defined.
+// See file boost_no_exp_func_tem_arg.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+#include "boost_no_exp_func_tem_arg.ipp"
+#else
+namespace boost_no_explicit_function_template_arguments = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_explicit_function_template_arguments::test();
+}
+
diff --git a/src/boost/libs/config/test/no_explicit_cvt_ops_fail.cpp b/src/boost/libs/config/test/no_explicit_cvt_ops_fail.cpp
new file mode 100644
index 000000000..ba150874e
--- /dev/null
+++ b/src/boost/libs/config/test/no_explicit_cvt_ops_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Jun 20 11:51:15 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS should not be defined.
+// See file boost_no_explicit_cvt_ops.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#include "boost_no_explicit_cvt_ops.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_explicit_conversion_operators::test();
+}
+
diff --git a/src/boost/libs/config/test/no_explicit_cvt_ops_pass.cpp b/src/boost/libs/config/test/no_explicit_cvt_ops_pass.cpp
new file mode 100644
index 000000000..2e3c42069
--- /dev/null
+++ b/src/boost/libs/config/test/no_explicit_cvt_ops_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Fri Jun 20 11:51:15 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS should be defined.
+// See file boost_no_explicit_cvt_ops.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
+#include "boost_no_explicit_cvt_ops.ipp"
+#else
+namespace boost_no_cxx11_explicit_conversion_operators = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_explicit_conversion_operators::test();
+}
+
diff --git a/src/boost/libs/config/test/no_extern_template_fail.cpp b/src/boost/libs/config/test/no_extern_template_fail.cpp
new file mode 100644
index 000000000..80c87744e
--- /dev/null
+++ b/src/boost/libs/config/test/no_extern_template_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 09:24:04 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_EXTERN_TEMPLATE
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_EXTERN_TEMPLATE should not be defined.
+// See file boost_no_extern_template.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_EXTERN_TEMPLATE
+#include "boost_no_extern_template.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_extern_template::test();
+}
+
diff --git a/src/boost/libs/config/test/no_extern_template_pass.cpp b/src/boost/libs/config/test/no_extern_template_pass.cpp
new file mode 100644
index 000000000..acbd037c0
--- /dev/null
+++ b/src/boost/libs/config/test/no_extern_template_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 09:24:04 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_EXTERN_TEMPLATE
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_EXTERN_TEMPLATE should be defined.
+// See file boost_no_extern_template.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_EXTERN_TEMPLATE
+#include "boost_no_extern_template.ipp"
+#else
+namespace boost_no_cxx11_extern_template = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_extern_template::test();
+}
+
diff --git a/src/boost/libs/config/test/no_fenv_h_fail.cpp b/src/boost/libs/config/test/no_fenv_h_fail.cpp
new file mode 100644
index 000000000..9b2f41039
--- /dev/null
+++ b/src/boost/libs/config/test/no_fenv_h_fail.cpp
@@ -0,0 +1,33 @@
+// Copyright Bryce Lelbach 2010.
+// 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.
+
+// Test file for macro BOOST_NO_FENV_H
+// This file should not compile, if it does then
+// BOOST_NO_FENV_H should not be defined.
+// See file boost_no_fenv_h.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_FENV_H
+#include "boost_no_fenv_h.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_fenv_h::test();
+}
+
diff --git a/src/boost/libs/config/test/no_fenv_h_pass.cpp b/src/boost/libs/config/test/no_fenv_h_pass.cpp
new file mode 100644
index 000000000..573d62449
--- /dev/null
+++ b/src/boost/libs/config/test/no_fenv_h_pass.cpp
@@ -0,0 +1,33 @@
+// Copyright Bryce Lelbach 2010.
+// 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.
+
+// Test file for macro BOOST_NO_FENV_H
+// This file should compile, if it does not then
+// BOOST_NO_FENV_H should be defined.
+// See file boost_no_fenv_h.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_FENV_H
+#include "boost_no_fenv_h.ipp"
+#else
+namespace boost_no_fenv_h = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_fenv_h::test();
+}
+
diff --git a/src/boost/libs/config/test/no_fixed_len_variadic_templates_fail.cpp b/src/boost/libs/config/test/no_fixed_len_variadic_templates_fail.cpp
new file mode 100644
index 000000000..70988291d
--- /dev/null
+++ b/src/boost/libs/config/test/no_fixed_len_variadic_templates_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon Aug 25 18:12:27 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS should not be defined.
+// See file boost_no_fixed_len_variadic_templates.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
+#include "boost_no_fixed_len_variadic_templates.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_fixed_length_variadic_template_expansion_packs::test();
+}
+
diff --git a/src/boost/libs/config/test/no_fixed_len_variadic_templates_pass.cpp b/src/boost/libs/config/test/no_fixed_len_variadic_templates_pass.cpp
new file mode 100644
index 000000000..2c52f5343
--- /dev/null
+++ b/src/boost/libs/config/test/no_fixed_len_variadic_templates_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon Aug 25 18:12:27 2014
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS should be defined.
+// See file boost_no_fixed_len_variadic_templates.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
+#include "boost_no_fixed_len_variadic_templates.ipp"
+#else
+namespace boost_no_cxx11_fixed_length_variadic_template_expansion_packs = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_fixed_length_variadic_template_expansion_packs::test();
+}
+
diff --git a/src/boost/libs/config/test/no_func_tmp_order_fail.cpp b/src/boost/libs/config/test/no_func_tmp_order_fail.cpp
new file mode 100644
index 000000000..7736e908d
--- /dev/null
+++ b/src/boost/libs/config/test/no_func_tmp_order_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+// This file should not compile, if it does then
+// BOOST_NO_FUNCTION_TEMPLATE_ORDERING should not be defined.
+// See file boost_no_func_tmp_order.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#include "boost_no_func_tmp_order.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_function_template_ordering::test();
+}
+
diff --git a/src/boost/libs/config/test/no_func_tmp_order_pass.cpp b/src/boost/libs/config/test/no_func_tmp_order_pass.cpp
new file mode 100644
index 000000000..003829f54
--- /dev/null
+++ b/src/boost/libs/config/test/no_func_tmp_order_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+// This file should compile, if it does not then
+// BOOST_NO_FUNCTION_TEMPLATE_ORDERING should be defined.
+// See file boost_no_func_tmp_order.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+#include "boost_no_func_tmp_order.ipp"
+#else
+namespace boost_no_function_template_ordering = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_function_template_ordering::test();
+}
+
diff --git a/src/boost/libs/config/test/no_function_template_default_args_fail.cpp b/src/boost/libs/config/test/no_function_template_default_args_fail.cpp
new file mode 100644
index 000000000..e10568e88
--- /dev/null
+++ b/src/boost/libs/config/test/no_function_template_default_args_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Aug 02 08:25:59 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS should not be defined.
+// See file boost_no_function_template_default_args.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#include "boost_no_function_template_default_args.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_function_template_default_args::test();
+}
+
diff --git a/src/boost/libs/config/test/no_function_template_default_args_pass.cpp b/src/boost/libs/config/test/no_function_template_default_args_pass.cpp
new file mode 100644
index 000000000..478c98629
--- /dev/null
+++ b/src/boost/libs/config/test/no_function_template_default_args_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Aug 02 08:25:59 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS should be defined.
+// See file boost_no_function_template_default_args.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#include "boost_no_function_template_default_args.ipp"
+#else
+namespace boost_no_cxx11_function_template_default_args = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_function_template_default_args::test();
+}
+
diff --git a/src/boost/libs/config/test/no_function_type_spec_fail.cpp b/src/boost/libs/config/test/no_function_type_spec_fail.cpp
new file mode 100644
index 000000000..6ae1dba27
--- /dev/null
+++ b/src/boost/libs/config/test/no_function_type_spec_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sun Dec 31 16:23:48 2006
+// 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.
+
+// Test file for macro BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
+// This file should not compile, if it does then
+// BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS should not be defined.
+// See file boost_no_function_type_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
+#include "boost_no_function_type_spec.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_function_type_specializations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_function_type_spec_pass.cpp b/src/boost/libs/config/test/no_function_type_spec_pass.cpp
new file mode 100644
index 000000000..e70de0c40
--- /dev/null
+++ b/src/boost/libs/config/test/no_function_type_spec_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sun Dec 31 16:23:48 2006
+// 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.
+
+// Test file for macro BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
+// This file should compile, if it does not then
+// BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS should be defined.
+// See file boost_no_function_type_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
+#include "boost_no_function_type_spec.ipp"
+#else
+namespace boost_no_function_type_specializations = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_function_type_specializations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_i64_limits_fail.cpp b/src/boost/libs/config/test/no_i64_limits_fail.cpp
new file mode 100644
index 000000000..63f01b342
--- /dev/null
+++ b/src/boost/libs/config/test/no_i64_limits_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_MS_INT64_NUMERIC_LIMITS
+// This file should not compile, if it does then
+// BOOST_NO_MS_INT64_NUMERIC_LIMITS should not be defined.
+// See file boost_no_i64_limits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_MS_INT64_NUMERIC_LIMITS
+#include "boost_no_i64_limits.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_ms_int64_numeric_limits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_i64_limits_pass.cpp b/src/boost/libs/config/test/no_i64_limits_pass.cpp
new file mode 100644
index 000000000..58e63e710
--- /dev/null
+++ b/src/boost/libs/config/test/no_i64_limits_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_MS_INT64_NUMERIC_LIMITS
+// This file should compile, if it does not then
+// BOOST_NO_MS_INT64_NUMERIC_LIMITS should be defined.
+// See file boost_no_i64_limits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_MS_INT64_NUMERIC_LIMITS
+#include "boost_no_i64_limits.ipp"
+#else
+namespace boost_no_ms_int64_numeric_limits = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_ms_int64_numeric_limits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_inline_memb_init_fail.cpp b/src/boost/libs/config/test/no_inline_memb_init_fail.cpp
new file mode 100644
index 000000000..e4b9a6f6f
--- /dev/null
+++ b/src/boost/libs/config/test/no_inline_memb_init_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+// This file should not compile, if it does then
+// BOOST_NO_INCLASS_MEMBER_INITIALIZATION should not be defined.
+// See file boost_no_inline_memb_init.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#include "boost_no_inline_memb_init.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_inclass_member_initialization::test();
+}
+
diff --git a/src/boost/libs/config/test/no_inline_memb_init_pass.cpp b/src/boost/libs/config/test/no_inline_memb_init_pass.cpp
new file mode 100644
index 000000000..1b5131340
--- /dev/null
+++ b/src/boost/libs/config/test/no_inline_memb_init_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+// This file should compile, if it does not then
+// BOOST_NO_INCLASS_MEMBER_INITIALIZATION should be defined.
+// See file boost_no_inline_memb_init.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#include "boost_no_inline_memb_init.ipp"
+#else
+namespace boost_no_inclass_member_initialization = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_inclass_member_initialization::test();
+}
+
diff --git a/src/boost/libs/config/test/no_integral_int64_t_fail.cpp b/src/boost/libs/config/test/no_integral_int64_t_fail.cpp
new file mode 100644
index 000000000..92280dfd6
--- /dev/null
+++ b/src/boost/libs/config/test/no_integral_int64_t_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_INTEGRAL_INT64_T
+// This file should not compile, if it does then
+// BOOST_NO_INTEGRAL_INT64_T should not be defined.
+// See file boost_no_integral_int64_t.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_INTEGRAL_INT64_T
+#include "boost_no_integral_int64_t.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_integral_int64_t::test();
+}
+
diff --git a/src/boost/libs/config/test/no_integral_int64_t_pass.cpp b/src/boost/libs/config/test/no_integral_int64_t_pass.cpp
new file mode 100644
index 000000000..012a562fe
--- /dev/null
+++ b/src/boost/libs/config/test/no_integral_int64_t_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_INTEGRAL_INT64_T
+// This file should compile, if it does not then
+// BOOST_NO_INTEGRAL_INT64_T should be defined.
+// See file boost_no_integral_int64_t.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_INTEGRAL_INT64_T
+#include "boost_no_integral_int64_t.ipp"
+#else
+namespace boost_no_integral_int64_t = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_integral_int64_t::test();
+}
+
diff --git a/src/boost/libs/config/test/no_iosfwd_fail.cpp b/src/boost/libs/config/test/no_iosfwd_fail.cpp
new file mode 100644
index 000000000..a1c6d9188
--- /dev/null
+++ b/src/boost/libs/config/test/no_iosfwd_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:21 2007
+// 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.
+
+// Test file for macro BOOST_NO_IOSFWD
+// This file should not compile, if it does then
+// BOOST_NO_IOSFWD should not be defined.
+// See file boost_no_iosfwd.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_IOSFWD
+#include "boost_no_iosfwd.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_iosfwd::test();
+}
+
diff --git a/src/boost/libs/config/test/no_iosfwd_pass.cpp b/src/boost/libs/config/test/no_iosfwd_pass.cpp
new file mode 100644
index 000000000..6e631d903
--- /dev/null
+++ b/src/boost/libs/config/test/no_iosfwd_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:21 2007
+// 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.
+
+// Test file for macro BOOST_NO_IOSFWD
+// This file should compile, if it does not then
+// BOOST_NO_IOSFWD should be defined.
+// See file boost_no_iosfwd.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_IOSFWD
+#include "boost_no_iosfwd.ipp"
+#else
+namespace boost_no_iosfwd = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_iosfwd::test();
+}
+
diff --git a/src/boost/libs/config/test/no_iostream_fail.cpp b/src/boost/libs/config/test/no_iostream_fail.cpp
new file mode 100644
index 000000000..67a845955
--- /dev/null
+++ b/src/boost/libs/config/test/no_iostream_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:21 2007
+// 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.
+
+// Test file for macro BOOST_NO_IOSTREAM
+// This file should not compile, if it does then
+// BOOST_NO_IOSTREAM should not be defined.
+// See file boost_no_iostream.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_IOSTREAM
+#include "boost_no_iostream.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_iostream::test();
+}
+
diff --git a/src/boost/libs/config/test/no_iostream_pass.cpp b/src/boost/libs/config/test/no_iostream_pass.cpp
new file mode 100644
index 000000000..ba1d0ac30
--- /dev/null
+++ b/src/boost/libs/config/test/no_iostream_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:21 2007
+// 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.
+
+// Test file for macro BOOST_NO_IOSTREAM
+// This file should compile, if it does not then
+// BOOST_NO_IOSTREAM should be defined.
+// See file boost_no_iostream.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_IOSTREAM
+#include "boost_no_iostream.ipp"
+#else
+namespace boost_no_iostream = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_iostream::test();
+}
+
diff --git a/src/boost/libs/config/test/no_is_abstract_fail.cpp b/src/boost/libs/config/test/no_is_abstract_fail.cpp
new file mode 100644
index 000000000..1a5c57bef
--- /dev/null
+++ b/src/boost/libs/config/test/no_is_abstract_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_IS_ABSTRACT
+// This file should not compile, if it does then
+// BOOST_NO_IS_ABSTRACT should not be defined.
+// See file boost_no_is_abstract.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_IS_ABSTRACT
+#include "boost_no_is_abstract.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_is_abstract::test();
+}
+
diff --git a/src/boost/libs/config/test/no_is_abstract_pass.cpp b/src/boost/libs/config/test/no_is_abstract_pass.cpp
new file mode 100644
index 000000000..a9caf6863
--- /dev/null
+++ b/src/boost/libs/config/test/no_is_abstract_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_IS_ABSTRACT
+// This file should compile, if it does not then
+// BOOST_NO_IS_ABSTRACT should be defined.
+// See file boost_no_is_abstract.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_IS_ABSTRACT
+#include "boost_no_is_abstract.ipp"
+#else
+namespace boost_no_is_abstract = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_is_abstract::test();
+}
+
diff --git a/src/boost/libs/config/test/no_iter_construct_fail.cpp b/src/boost/libs/config/test/no_iter_construct_fail.cpp
new file mode 100644
index 000000000..bc618648a
--- /dev/null
+++ b/src/boost/libs/config/test/no_iter_construct_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+// This file should not compile, if it does then
+// BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS should not be defined.
+// See file boost_no_iter_construct.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+#include "boost_no_iter_construct.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_templated_iterator_constructors::test();
+}
+
diff --git a/src/boost/libs/config/test/no_iter_construct_pass.cpp b/src/boost/libs/config/test/no_iter_construct_pass.cpp
new file mode 100644
index 000000000..6d063bedf
--- /dev/null
+++ b/src/boost/libs/config/test/no_iter_construct_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+// This file should compile, if it does not then
+// BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS should be defined.
+// See file boost_no_iter_construct.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+#include "boost_no_iter_construct.ipp"
+#else
+namespace boost_no_templated_iterator_constructors = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_templated_iterator_constructors::test();
+}
+
diff --git a/src/boost/libs/config/test/no_lambdas_fail.cpp b/src/boost/libs/config/test/no_lambdas_fail.cpp
new file mode 100644
index 000000000..68680bc99
--- /dev/null
+++ b/src/boost/libs/config/test/no_lambdas_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 14 16:01:35 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_LAMBDAS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_LAMBDAS should not be defined.
+// See file boost_no_lambdas.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_LAMBDAS
+#include "boost_no_lambdas.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_lambdas::test();
+}
+
diff --git a/src/boost/libs/config/test/no_lambdas_pass.cpp b/src/boost/libs/config/test/no_lambdas_pass.cpp
new file mode 100644
index 000000000..453a72a73
--- /dev/null
+++ b/src/boost/libs/config/test/no_lambdas_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 14 16:01:35 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_LAMBDAS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_LAMBDAS should be defined.
+// See file boost_no_lambdas.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_LAMBDAS
+#include "boost_no_lambdas.ipp"
+#else
+namespace boost_no_cxx11_lambdas = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_lambdas::test();
+}
+
diff --git a/src/boost/libs/config/test/no_limits_const_exp_fail.cpp b/src/boost/libs/config/test/no_limits_const_exp_fail.cpp
new file mode 100644
index 000000000..9f916d9bd
--- /dev/null
+++ b/src/boost/libs/config/test/no_limits_const_exp_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+// This file should not compile, if it does then
+// BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS should not be defined.
+// See file boost_no_limits_const_exp.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#include "boost_no_limits_const_exp.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_limits_compile_time_constants::test();
+}
+
diff --git a/src/boost/libs/config/test/no_limits_const_exp_pass.cpp b/src/boost/libs/config/test/no_limits_const_exp_pass.cpp
new file mode 100644
index 000000000..a280b7657
--- /dev/null
+++ b/src/boost/libs/config/test/no_limits_const_exp_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+// This file should compile, if it does not then
+// BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS should be defined.
+// See file boost_no_limits_const_exp.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#include "boost_no_limits_const_exp.ipp"
+#else
+namespace boost_no_limits_compile_time_constants = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_limits_compile_time_constants::test();
+}
+
diff --git a/src/boost/libs/config/test/no_limits_fail.cpp b/src/boost/libs/config/test/no_limits_fail.cpp
new file mode 100644
index 000000000..d685397cc
--- /dev/null
+++ b/src/boost/libs/config/test/no_limits_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_LIMITS
+// This file should not compile, if it does then
+// BOOST_NO_LIMITS should not be defined.
+// See file boost_no_limits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_LIMITS
+#include "boost_no_limits.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_limits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_limits_pass.cpp b/src/boost/libs/config/test/no_limits_pass.cpp
new file mode 100644
index 000000000..7d77cac32
--- /dev/null
+++ b/src/boost/libs/config/test/no_limits_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_LIMITS
+// This file should compile, if it does not then
+// BOOST_NO_LIMITS should be defined.
+// See file boost_no_limits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_LIMITS
+#include "boost_no_limits.ipp"
+#else
+namespace boost_no_limits = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_limits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_ll_limits_fail.cpp b/src/boost/libs/config/test/no_ll_limits_fail.cpp
new file mode 100644
index 000000000..477262c7b
--- /dev/null
+++ b/src/boost/libs/config/test/no_ll_limits_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_LONG_LONG_NUMERIC_LIMITS
+// This file should not compile, if it does then
+// BOOST_NO_LONG_LONG_NUMERIC_LIMITS should not be defined.
+// See file boost_no_ll_limits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_LONG_LONG_NUMERIC_LIMITS
+#include "boost_no_ll_limits.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_long_long_numeric_limits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_ll_limits_pass.cpp b/src/boost/libs/config/test/no_ll_limits_pass.cpp
new file mode 100644
index 000000000..2c6a3860a
--- /dev/null
+++ b/src/boost/libs/config/test/no_ll_limits_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_LONG_LONG_NUMERIC_LIMITS
+// This file should compile, if it does not then
+// BOOST_NO_LONG_LONG_NUMERIC_LIMITS should be defined.
+// See file boost_no_ll_limits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_LONG_LONG_NUMERIC_LIMITS
+#include "boost_no_ll_limits.ipp"
+#else
+namespace boost_no_long_long_numeric_limits = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_long_long_numeric_limits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_long_long_fail.cpp b/src/boost/libs/config/test/no_long_long_fail.cpp
new file mode 100644
index 000000000..2a2e724f0
--- /dev/null
+++ b/src/boost/libs/config/test/no_long_long_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 07:24:54 2008
+// 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_LONG_LONG
+// This file should not compile, if it does then
+// BOOST_NO_LONG_LONG should not be defined.
+// See file boost_no_long_long.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_LONG_LONG
+#include "boost_no_long_long.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_long_long::test();
+}
+
diff --git a/src/boost/libs/config/test/no_long_long_pass.cpp b/src/boost/libs/config/test/no_long_long_pass.cpp
new file mode 100644
index 000000000..3e00f1b39
--- /dev/null
+++ b/src/boost/libs/config/test/no_long_long_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 07:24:54 2008
+// 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_LONG_LONG
+// This file should compile, if it does not then
+// BOOST_NO_LONG_LONG should be defined.
+// See file boost_no_long_long.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_LONG_LONG
+#include "boost_no_long_long.ipp"
+#else
+namespace boost_no_long_long = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_long_long::test();
+}
+
diff --git a/src/boost/libs/config/test/no_mem_func_spec_fail.cpp b/src/boost/libs/config/test/no_mem_func_spec_fail.cpp
new file mode 100644
index 000000000..4216ed409
--- /dev/null
+++ b/src/boost/libs/config/test/no_mem_func_spec_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
+// This file should not compile, if it does then
+// BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS should not be defined.
+// See file boost_no_mem_func_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
+#include "boost_no_mem_func_spec.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_member_function_specializations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_mem_func_spec_pass.cpp b/src/boost/libs/config/test/no_mem_func_spec_pass.cpp
new file mode 100644
index 000000000..a26ceb0e3
--- /dev/null
+++ b/src/boost/libs/config/test/no_mem_func_spec_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
+// This file should compile, if it does not then
+// BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS should be defined.
+// See file boost_no_mem_func_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
+#include "boost_no_mem_func_spec.ipp"
+#else
+namespace boost_no_member_function_specializations = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_member_function_specializations::test();
+}
+
diff --git a/src/boost/libs/config/test/no_mem_tem_keyword_fail.cpp b/src/boost/libs/config/test/no_mem_tem_keyword_fail.cpp
new file mode 100644
index 000000000..fe6b96289
--- /dev/null
+++ b/src/boost/libs/config/test/no_mem_tem_keyword_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_MEMBER_TEMPLATE_KEYWORD
+// This file should not compile, if it does then
+// BOOST_NO_MEMBER_TEMPLATE_KEYWORD should not be defined.
+// See file boost_no_mem_tem_keyword.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
+#include "boost_no_mem_tem_keyword.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_member_template_keyword::test();
+}
+
diff --git a/src/boost/libs/config/test/no_mem_tem_keyword_pass.cpp b/src/boost/libs/config/test/no_mem_tem_keyword_pass.cpp
new file mode 100644
index 000000000..7beb15975
--- /dev/null
+++ b/src/boost/libs/config/test/no_mem_tem_keyword_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_MEMBER_TEMPLATE_KEYWORD
+// This file should compile, if it does not then
+// BOOST_NO_MEMBER_TEMPLATE_KEYWORD should be defined.
+// See file boost_no_mem_tem_keyword.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
+#include "boost_no_mem_tem_keyword.ipp"
+#else
+namespace boost_no_member_template_keyword = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_member_template_keyword::test();
+}
+
diff --git a/src/boost/libs/config/test/no_mem_tem_pnts_fail.cpp b/src/boost/libs/config/test/no_mem_tem_pnts_fail.cpp
new file mode 100644
index 000000000..bca3ee0af
--- /dev/null
+++ b/src/boost/libs/config/test/no_mem_tem_pnts_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
+// This file should not compile, if it does then
+// BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS should not be defined.
+// See file boost_no_mem_tem_pnts.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
+#include "boost_no_mem_tem_pnts.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_pointer_to_member_template_parameters::test();
+}
+
diff --git a/src/boost/libs/config/test/no_mem_tem_pnts_pass.cpp b/src/boost/libs/config/test/no_mem_tem_pnts_pass.cpp
new file mode 100644
index 000000000..bf273cc36
--- /dev/null
+++ b/src/boost/libs/config/test/no_mem_tem_pnts_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
+// This file should compile, if it does not then
+// BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS should be defined.
+// See file boost_no_mem_tem_pnts.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
+#include "boost_no_mem_tem_pnts.ipp"
+#else
+namespace boost_no_pointer_to_member_template_parameters = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_pointer_to_member_template_parameters::test();
+}
+
diff --git a/src/boost/libs/config/test/no_mem_templ_frnds_fail.cpp b/src/boost/libs/config/test/no_mem_templ_frnds_fail.cpp
new file mode 100644
index 000000000..a8602c1f1
--- /dev/null
+++ b/src/boost/libs/config/test/no_mem_templ_frnds_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+// This file should not compile, if it does then
+// BOOST_NO_MEMBER_TEMPLATE_FRIENDS should not be defined.
+// See file boost_no_mem_templ_frnds.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#include "boost_no_mem_templ_frnds.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_member_template_friends::test();
+}
+
diff --git a/src/boost/libs/config/test/no_mem_templ_frnds_pass.cpp b/src/boost/libs/config/test/no_mem_templ_frnds_pass.cpp
new file mode 100644
index 000000000..a234eba7b
--- /dev/null
+++ b/src/boost/libs/config/test/no_mem_templ_frnds_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+// This file should compile, if it does not then
+// BOOST_NO_MEMBER_TEMPLATE_FRIENDS should be defined.
+// See file boost_no_mem_templ_frnds.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+#include "boost_no_mem_templ_frnds.ipp"
+#else
+namespace boost_no_member_template_friends = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_member_template_friends::test();
+}
+
diff --git a/src/boost/libs/config/test/no_mem_templates_fail.cpp b/src/boost/libs/config/test/no_mem_templates_fail.cpp
new file mode 100644
index 000000000..3b6227da6
--- /dev/null
+++ b/src/boost/libs/config/test/no_mem_templates_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_MEMBER_TEMPLATES
+// This file should not compile, if it does then
+// BOOST_NO_MEMBER_TEMPLATES should not be defined.
+// See file boost_no_mem_templates.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_MEMBER_TEMPLATES
+#include "boost_no_mem_templates.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_member_templates::test();
+}
+
diff --git a/src/boost/libs/config/test/no_mem_templates_pass.cpp b/src/boost/libs/config/test/no_mem_templates_pass.cpp
new file mode 100644
index 000000000..7935f1146
--- /dev/null
+++ b/src/boost/libs/config/test/no_mem_templates_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:01 2004
+// 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.
+
+// Test file for macro BOOST_NO_MEMBER_TEMPLATES
+// This file should compile, if it does not then
+// BOOST_NO_MEMBER_TEMPLATES should be defined.
+// See file boost_no_mem_templates.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_MEMBER_TEMPLATES
+#include "boost_no_mem_templates.ipp"
+#else
+namespace boost_no_member_templates = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_member_templates::test();
+}
+
diff --git a/src/boost/libs/config/test/no_nested_friendship_fail.cpp b/src/boost/libs/config/test/no_nested_friendship_fail.cpp
new file mode 100644
index 000000000..dd90e404a
--- /dev/null
+++ b/src/boost/libs/config/test/no_nested_friendship_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Sep 18 23:32:18 2008
+// 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_NESTED_FRIENDSHIP
+// This file should not compile, if it does then
+// BOOST_NO_NESTED_FRIENDSHIP should not be defined.
+// See file boost_no_nested_friendship.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_NESTED_FRIENDSHIP
+#include "boost_no_nested_friendship.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_nested_friendship::test();
+}
+
diff --git a/src/boost/libs/config/test/no_nested_friendship_pass.cpp b/src/boost/libs/config/test/no_nested_friendship_pass.cpp
new file mode 100644
index 000000000..3e114bc9d
--- /dev/null
+++ b/src/boost/libs/config/test/no_nested_friendship_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Sep 18 23:32:18 2008
+// 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_NESTED_FRIENDSHIP
+// This file should compile, if it does not then
+// BOOST_NO_NESTED_FRIENDSHIP should be defined.
+// See file boost_no_nested_friendship.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_NESTED_FRIENDSHIP
+#include "boost_no_nested_friendship.ipp"
+#else
+namespace boost_no_nested_friendship = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_nested_friendship::test();
+}
+
diff --git a/src/boost/libs/config/test/no_noexcept_fail.cpp b/src/boost/libs/config/test/no_noexcept_fail.cpp
new file mode 100644
index 000000000..b49d9bed7
--- /dev/null
+++ b/src/boost/libs/config/test/no_noexcept_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 5 04:40:08 2011
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_NOEXCEPT
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_NOEXCEPT should not be defined.
+// See file boost_no_noexcept.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_NOEXCEPT
+#include "boost_no_noexcept.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_noexcept::test();
+}
+
diff --git a/src/boost/libs/config/test/no_noexcept_pass.cpp b/src/boost/libs/config/test/no_noexcept_pass.cpp
new file mode 100644
index 000000000..4f07f7d07
--- /dev/null
+++ b/src/boost/libs/config/test/no_noexcept_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 5 04:40:08 2011
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_NOEXCEPT
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_NOEXCEPT should be defined.
+// See file boost_no_noexcept.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_NOEXCEPT
+#include "boost_no_noexcept.ipp"
+#else
+namespace boost_no_cxx11_noexcept = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_noexcept::test();
+}
+
diff --git a/src/boost/libs/config/test/no_nullptr_fail.cpp b/src/boost/libs/config/test/no_nullptr_fail.cpp
new file mode 100644
index 000000000..c870ef236
--- /dev/null
+++ b/src/boost/libs/config/test/no_nullptr_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 14 16:01:35 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_NULLPTR
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_NULLPTR should not be defined.
+// See file boost_no_nullptr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_NULLPTR
+#include "boost_no_nullptr.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_nullptr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_nullptr_pass.cpp b/src/boost/libs/config/test/no_nullptr_pass.cpp
new file mode 100644
index 000000000..34450ad50
--- /dev/null
+++ b/src/boost/libs/config/test/no_nullptr_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 14 16:01:35 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_NULLPTR
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_NULLPTR should be defined.
+// See file boost_no_nullptr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_NULLPTR
+#include "boost_no_nullptr.ipp"
+#else
+namespace boost_no_cxx11_nullptr = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_nullptr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_ops_in_namespace_fail.cpp b/src/boost/libs/config/test/no_ops_in_namespace_fail.cpp
new file mode 100644
index 000000000..2e746ece0
--- /dev/null
+++ b/src/boost/libs/config/test/no_ops_in_namespace_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_OPERATORS_IN_NAMESPACE
+// This file should not compile, if it does then
+// BOOST_NO_OPERATORS_IN_NAMESPACE should not be defined.
+// See file boost_no_ops_in_namespace.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_OPERATORS_IN_NAMESPACE
+#include "boost_no_ops_in_namespace.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_operators_in_namespace::test();
+}
+
diff --git a/src/boost/libs/config/test/no_ops_in_namespace_pass.cpp b/src/boost/libs/config/test/no_ops_in_namespace_pass.cpp
new file mode 100644
index 000000000..5004411dd
--- /dev/null
+++ b/src/boost/libs/config/test/no_ops_in_namespace_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_OPERATORS_IN_NAMESPACE
+// This file should compile, if it does not then
+// BOOST_NO_OPERATORS_IN_NAMESPACE should be defined.
+// See file boost_no_ops_in_namespace.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE
+#include "boost_no_ops_in_namespace.ipp"
+#else
+namespace boost_no_operators_in_namespace = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_operators_in_namespace::test();
+}
+
diff --git a/src/boost/libs/config/test/no_part_spec_def_args_fail.cpp b/src/boost/libs/config/test/no_part_spec_def_args_fail.cpp
new file mode 100644
index 000000000..68f34d275
--- /dev/null
+++ b/src/boost/libs/config/test/no_part_spec_def_args_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon Apr 21 12:40:41 2008
+// 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: generate.cpp 44422 2008-04-14 18:06:59Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+// This file should not compile, if it does then
+// BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS should not be defined.
+// See file boost_no_part_spec_def_args.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+#include "boost_no_part_spec_def_args.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_partial_specialization_implicit_default_args::test();
+}
+
diff --git a/src/boost/libs/config/test/no_part_spec_def_args_pass.cpp b/src/boost/libs/config/test/no_part_spec_def_args_pass.cpp
new file mode 100644
index 000000000..06864228b
--- /dev/null
+++ b/src/boost/libs/config/test/no_part_spec_def_args_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon Apr 21 12:40:41 2008
+// 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: generate.cpp 44422 2008-04-14 18:06:59Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+// This file should compile, if it does not then
+// BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS should be defined.
+// See file boost_no_part_spec_def_args.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+#include "boost_no_part_spec_def_args.ipp"
+#else
+namespace boost_no_partial_specialization_implicit_default_args = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_partial_specialization_implicit_default_args::test();
+}
+
diff --git a/src/boost/libs/config/test/no_partial_spec_fail.cpp b/src/boost/libs/config/test/no_partial_spec_fail.cpp
new file mode 100644
index 000000000..0b24a97d8
--- /dev/null
+++ b/src/boost/libs/config/test/no_partial_spec_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+// This file should not compile, if it does then
+// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION should not be defined.
+// See file boost_no_partial_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#include "boost_no_partial_spec.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_template_partial_specialization::test();
+}
+
diff --git a/src/boost/libs/config/test/no_partial_spec_pass.cpp b/src/boost/libs/config/test/no_partial_spec_pass.cpp
new file mode 100644
index 000000000..5767410a6
--- /dev/null
+++ b/src/boost/libs/config/test/no_partial_spec_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+// This file should compile, if it does not then
+// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION should be defined.
+// See file boost_no_partial_spec.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#include "boost_no_partial_spec.ipp"
+#else
+namespace boost_no_template_partial_specialization = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_template_partial_specialization::test();
+}
+
diff --git a/src/boost/libs/config/test/no_priv_aggregate_fail.cpp b/src/boost/libs/config/test/no_priv_aggregate_fail.cpp
new file mode 100644
index 000000000..22ed88fa6
--- /dev/null
+++ b/src/boost/libs/config/test/no_priv_aggregate_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_PRIVATE_IN_AGGREGATE
+// This file should not compile, if it does then
+// BOOST_NO_PRIVATE_IN_AGGREGATE should not be defined.
+// See file boost_no_priv_aggregate.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_PRIVATE_IN_AGGREGATE
+#include "boost_no_priv_aggregate.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_private_in_aggregate::test();
+}
+
diff --git a/src/boost/libs/config/test/no_priv_aggregate_pass.cpp b/src/boost/libs/config/test/no_priv_aggregate_pass.cpp
new file mode 100644
index 000000000..839be57a9
--- /dev/null
+++ b/src/boost/libs/config/test/no_priv_aggregate_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_PRIVATE_IN_AGGREGATE
+// This file should compile, if it does not then
+// BOOST_NO_PRIVATE_IN_AGGREGATE should be defined.
+// See file boost_no_priv_aggregate.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_PRIVATE_IN_AGGREGATE
+#include "boost_no_priv_aggregate.ipp"
+#else
+namespace boost_no_private_in_aggregate = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_private_in_aggregate::test();
+}
+
diff --git a/src/boost/libs/config/test/no_ptr_mem_const_fail.cpp b/src/boost/libs/config/test/no_ptr_mem_const_fail.cpp
new file mode 100644
index 000000000..36eb9dc35
--- /dev/null
+++ b/src/boost/libs/config/test/no_ptr_mem_const_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_POINTER_TO_MEMBER_CONST
+// This file should not compile, if it does then
+// BOOST_NO_POINTER_TO_MEMBER_CONST should not be defined.
+// See file boost_no_ptr_mem_const.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_POINTER_TO_MEMBER_CONST
+#include "boost_no_ptr_mem_const.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_pointer_to_member_const::test();
+}
+
diff --git a/src/boost/libs/config/test/no_ptr_mem_const_pass.cpp b/src/boost/libs/config/test/no_ptr_mem_const_pass.cpp
new file mode 100644
index 000000000..c15d7ad1a
--- /dev/null
+++ b/src/boost/libs/config/test/no_ptr_mem_const_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_POINTER_TO_MEMBER_CONST
+// This file should compile, if it does not then
+// BOOST_NO_POINTER_TO_MEMBER_CONST should be defined.
+// See file boost_no_ptr_mem_const.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_POINTER_TO_MEMBER_CONST
+#include "boost_no_ptr_mem_const.ipp"
+#else
+namespace boost_no_pointer_to_member_const = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_pointer_to_member_const::test();
+}
+
diff --git a/src/boost/libs/config/test/no_range_based_for_fail.cpp b/src/boost/libs/config/test/no_range_based_for_fail.cpp
new file mode 100644
index 000000000..6b0a0f54d
--- /dev/null
+++ b/src/boost/libs/config/test/no_range_based_for_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Tue Jul 10 14:28:33 2012
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_RANGE_BASED_FOR
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_RANGE_BASED_FOR should not be defined.
+// See file boost_no_range_based_for.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_RANGE_BASED_FOR
+#include "boost_no_range_based_for.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_range_based_for::test();
+}
+
diff --git a/src/boost/libs/config/test/no_range_based_for_pass.cpp b/src/boost/libs/config/test/no_range_based_for_pass.cpp
new file mode 100644
index 000000000..b8207c579
--- /dev/null
+++ b/src/boost/libs/config/test/no_range_based_for_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Tue Jul 10 14:28:33 2012
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_RANGE_BASED_FOR
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_RANGE_BASED_FOR should be defined.
+// See file boost_no_range_based_for.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_RANGE_BASED_FOR
+#include "boost_no_range_based_for.ipp"
+#else
+namespace boost_no_cxx11_range_based_for = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_range_based_for::test();
+}
+
diff --git a/src/boost/libs/config/test/no_raw_literals_fail.cpp b/src/boost/libs/config/test/no_raw_literals_fail.cpp
new file mode 100644
index 000000000..3c535fadf
--- /dev/null
+++ b/src/boost/libs/config/test/no_raw_literals_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Jun 19 16:26:16 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_RAW_LITERALS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_RAW_LITERALS should not be defined.
+// See file boost_no_raw_literals.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_RAW_LITERALS
+#include "boost_no_raw_literals.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_raw_literals::test();
+}
+
diff --git a/src/boost/libs/config/test/no_raw_literals_pass.cpp b/src/boost/libs/config/test/no_raw_literals_pass.cpp
new file mode 100644
index 000000000..ddf99c271
--- /dev/null
+++ b/src/boost/libs/config/test/no_raw_literals_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Jun 19 16:26:16 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_RAW_LITERALS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_RAW_LITERALS should be defined.
+// See file boost_no_raw_literals.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_RAW_LITERALS
+#include "boost_no_raw_literals.ipp"
+#else
+namespace boost_no_cxx11_raw_literals = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_raw_literals::test();
+}
+
diff --git a/src/boost/libs/config/test/no_restrict_references_fail.cpp b/src/boost/libs/config/test/no_restrict_references_fail.cpp
new file mode 100644
index 000000000..867aa0cb9
--- /dev/null
+++ b/src/boost/libs/config/test/no_restrict_references_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Feb 5 18:12:09 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_RESTRICT_REFERENCES
+// This file should not compile, if it does then
+// BOOST_NO_RESTRICT_REFERENCES should not be defined.
+// See file boost_no_restrict_references.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_RESTRICT_REFERENCES
+#include "boost_no_restrict_references.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_restrict_references::test();
+}
+
diff --git a/src/boost/libs/config/test/no_restrict_references_pass.cpp b/src/boost/libs/config/test/no_restrict_references_pass.cpp
new file mode 100644
index 000000000..878c54ebb
--- /dev/null
+++ b/src/boost/libs/config/test/no_restrict_references_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Feb 5 18:12:09 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_RESTRICT_REFERENCES
+// This file should compile, if it does not then
+// BOOST_NO_RESTRICT_REFERENCES should be defined.
+// See file boost_no_restrict_references.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_RESTRICT_REFERENCES
+#include "boost_no_restrict_references.ipp"
+#else
+namespace boost_no_restrict_references = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_restrict_references::test();
+}
+
diff --git a/src/boost/libs/config/test/no_ret_det_fail.cpp b/src/boost/libs/config/test/no_ret_det_fail.cpp
new file mode 100644
index 000000000..e48bfa4f7
--- /dev/null
+++ b/src/boost/libs/config/test/no_ret_det_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_UNREACHABLE_RETURN_DETECTION
+// This file should not compile, if it does then
+// BOOST_NO_UNREACHABLE_RETURN_DETECTION should not be defined.
+// See file boost_no_ret_det.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
+#include "boost_no_ret_det.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_unreachable_return_detection::test();
+}
+
diff --git a/src/boost/libs/config/test/no_ret_det_pass.cpp b/src/boost/libs/config/test/no_ret_det_pass.cpp
new file mode 100644
index 000000000..7d45813f7
--- /dev/null
+++ b/src/boost/libs/config/test/no_ret_det_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_UNREACHABLE_RETURN_DETECTION
+// This file should compile, if it does not then
+// BOOST_NO_UNREACHABLE_RETURN_DETECTION should be defined.
+// See file boost_no_ret_det.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_UNREACHABLE_RETURN_DETECTION
+#include "boost_no_ret_det.ipp"
+#else
+namespace boost_no_unreachable_return_detection = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_unreachable_return_detection::test();
+}
+
diff --git a/src/boost/libs/config/test/no_rtti_fail.cpp b/src/boost/libs/config/test/no_rtti_fail.cpp
new file mode 100644
index 000000000..f24f15d62
--- /dev/null
+++ b/src/boost/libs/config/test/no_rtti_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon Aug 25 10:51:51 2008
+// 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: generate.cpp 47351 2008-07-12 12:41:52Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_RTTI
+// This file should not compile, if it does then
+// BOOST_NO_RTTI should not be defined.
+// See file boost_no_rtti.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_RTTI
+#include "boost_no_rtti.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_rtti::test();
+}
+
diff --git a/src/boost/libs/config/test/no_rtti_pass.cpp b/src/boost/libs/config/test/no_rtti_pass.cpp
new file mode 100644
index 000000000..9809213f2
--- /dev/null
+++ b/src/boost/libs/config/test/no_rtti_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon Aug 25 10:51:51 2008
+// 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: generate.cpp 47351 2008-07-12 12:41:52Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_RTTI
+// This file should compile, if it does not then
+// BOOST_NO_RTTI should be defined.
+// See file boost_no_rtti.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_RTTI
+#include "boost_no_rtti.ipp"
+#else
+namespace boost_no_rtti = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_rtti::test();
+}
+
diff --git a/src/boost/libs/config/test/no_rvalue_references_fail.cpp b/src/boost/libs/config/test/no_rvalue_references_fail.cpp
new file mode 100644
index 000000000..390b6c5f5
--- /dev/null
+++ b/src/boost/libs/config/test/no_rvalue_references_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 07:24:54 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_RVALUE_REFERENCES
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_RVALUE_REFERENCES should not be defined.
+// See file boost_no_rvalue_references.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
+#include "boost_no_rvalue_references.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_rvalue_references::test();
+}
+
diff --git a/src/boost/libs/config/test/no_rvalue_references_pass.cpp b/src/boost/libs/config/test/no_rvalue_references_pass.cpp
new file mode 100644
index 000000000..c11494c6c
--- /dev/null
+++ b/src/boost/libs/config/test/no_rvalue_references_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 07:24:54 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_RVALUE_REFERENCES
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_RVALUE_REFERENCES should be defined.
+// See file boost_no_rvalue_references.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+#include "boost_no_rvalue_references.ipp"
+#else
+namespace boost_no_cxx11_rvalue_references = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_rvalue_references::test();
+}
+
diff --git a/src/boost/libs/config/test/no_scoped_enums_fail.cpp b/src/boost/libs/config/test/no_scoped_enums_fail.cpp
new file mode 100644
index 000000000..4c1c184df
--- /dev/null
+++ b/src/boost/libs/config/test/no_scoped_enums_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 08:00:48 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_SCOPED_ENUMS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_SCOPED_ENUMS should not be defined.
+// See file boost_no_scoped_enums.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_SCOPED_ENUMS
+#include "boost_no_scoped_enums.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_scoped_enums::test();
+}
+
diff --git a/src/boost/libs/config/test/no_scoped_enums_pass.cpp b/src/boost/libs/config/test/no_scoped_enums_pass.cpp
new file mode 100644
index 000000000..501fea90e
--- /dev/null
+++ b/src/boost/libs/config/test/no_scoped_enums_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 08:00:48 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_SCOPED_ENUMS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_SCOPED_ENUMS should be defined.
+// See file boost_no_scoped_enums.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_SCOPED_ENUMS
+#include "boost_no_scoped_enums.ipp"
+#else
+namespace boost_no_cxx11_scoped_enums = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_scoped_enums::test();
+}
+
diff --git a/src/boost/libs/config/test/no_sfinae_expr_fail.cpp b/src/boost/libs/config/test/no_sfinae_expr_fail.cpp
new file mode 100644
index 000000000..e7c8b03d7
--- /dev/null
+++ b/src/boost/libs/config/test/no_sfinae_expr_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Aug 02 08:25:59 2009
+// 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_SFINAE_EXPR
+// This file should not compile, if it does then
+// BOOST_NO_SFINAE_EXPR should not be defined.
+// See file boost_no_sfinae_expr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_SFINAE_EXPR
+#include "boost_no_sfinae_expr.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_sfinae_expr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_sfinae_expr_pass.cpp b/src/boost/libs/config/test/no_sfinae_expr_pass.cpp
new file mode 100644
index 000000000..fc87d786b
--- /dev/null
+++ b/src/boost/libs/config/test/no_sfinae_expr_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Sun Aug 02 08:25:59 2009
+// 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_SFINAE_EXPR
+// This file should compile, if it does not then
+// BOOST_NO_SFINAE_EXPR should be defined.
+// See file boost_no_sfinae_expr.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_SFINAE_EXPR
+#include "boost_no_sfinae_expr.ipp"
+#else
+namespace boost_no_sfinae_expr = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_sfinae_expr::test();
+}
+
diff --git a/src/boost/libs/config/test/no_sfinae_fail.cpp b/src/boost/libs/config/test/no_sfinae_fail.cpp
new file mode 100644
index 000000000..915f92460
--- /dev/null
+++ b/src/boost/libs/config/test/no_sfinae_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_SFINAE
+// This file should not compile, if it does then
+// BOOST_NO_SFINAE should not be defined.
+// See file boost_no_sfinae.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_SFINAE
+#include "boost_no_sfinae.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_sfinae::test();
+}
+
diff --git a/src/boost/libs/config/test/no_sfinae_pass.cpp b/src/boost/libs/config/test/no_sfinae_pass.cpp
new file mode 100644
index 000000000..8ebfc383f
--- /dev/null
+++ b/src/boost/libs/config/test/no_sfinae_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_SFINAE
+// This file should compile, if it does not then
+// BOOST_NO_SFINAE should be defined.
+// See file boost_no_sfinae.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_SFINAE
+#include "boost_no_sfinae.ipp"
+#else
+namespace boost_no_sfinae = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_sfinae::test();
+}
+
diff --git a/src/boost/libs/config/test/no_sstream_fail.cpp b/src/boost/libs/config/test/no_sstream_fail.cpp
new file mode 100644
index 000000000..3cb5d9af1
--- /dev/null
+++ b/src/boost/libs/config/test/no_sstream_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STRINGSTREAM
+// This file should not compile, if it does then
+// BOOST_NO_STRINGSTREAM should not be defined.
+// See file boost_no_sstream.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STRINGSTREAM
+#include "boost_no_sstream.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_stringstream::test();
+}
+
diff --git a/src/boost/libs/config/test/no_sstream_pass.cpp b/src/boost/libs/config/test/no_sstream_pass.cpp
new file mode 100644
index 000000000..de325a397
--- /dev/null
+++ b/src/boost/libs/config/test/no_sstream_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STRINGSTREAM
+// This file should compile, if it does not then
+// BOOST_NO_STRINGSTREAM should be defined.
+// See file boost_no_sstream.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STRINGSTREAM
+#include "boost_no_sstream.ipp"
+#else
+namespace boost_no_stringstream = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_stringstream::test();
+}
+
diff --git a/src/boost/libs/config/test/no_static_assert_fail.cpp b/src/boost/libs/config/test/no_static_assert_fail.cpp
new file mode 100644
index 000000000..f958c683d
--- /dev/null
+++ b/src/boost/libs/config/test/no_static_assert_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 07:24:54 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_STATIC_ASSERT
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_STATIC_ASSERT should not be defined.
+// See file boost_no_static_assert.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_STATIC_ASSERT
+#include "boost_no_static_assert.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_static_assert::test();
+}
+
diff --git a/src/boost/libs/config/test/no_static_assert_pass.cpp b/src/boost/libs/config/test/no_static_assert_pass.cpp
new file mode 100644
index 000000000..852988763
--- /dev/null
+++ b/src/boost/libs/config/test/no_static_assert_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 07:24:54 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_STATIC_ASSERT
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_STATIC_ASSERT should be defined.
+// See file boost_no_static_assert.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_STATIC_ASSERT
+#include "boost_no_static_assert.ipp"
+#else
+namespace boost_no_cxx11_static_assert = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_static_assert::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_allocator_fail.cpp b/src/boost/libs/config/test/no_std_allocator_fail.cpp
new file mode 100644
index 000000000..e5213dcc2
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_allocator_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_ALLOCATOR
+// This file should not compile, if it does then
+// BOOST_NO_STD_ALLOCATOR should not be defined.
+// See file boost_no_std_allocator.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STD_ALLOCATOR
+#include "boost_no_std_allocator.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_allocator::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_allocator_pass.cpp b/src/boost/libs/config/test/no_std_allocator_pass.cpp
new file mode 100644
index 000000000..63ab611c6
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_allocator_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_ALLOCATOR
+// This file should compile, if it does not then
+// BOOST_NO_STD_ALLOCATOR should be defined.
+// See file boost_no_std_allocator.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STD_ALLOCATOR
+#include "boost_no_std_allocator.ipp"
+#else
+namespace boost_no_std_allocator = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_allocator::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_distance_fail.cpp b/src/boost/libs/config/test/no_std_distance_fail.cpp
new file mode 100644
index 000000000..a8c21a43a
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_distance_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_DISTANCE
+// This file should not compile, if it does then
+// BOOST_NO_STD_DISTANCE should not be defined.
+// See file boost_no_std_distance.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STD_DISTANCE
+#include "boost_no_std_distance.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_distance::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_distance_pass.cpp b/src/boost/libs/config/test/no_std_distance_pass.cpp
new file mode 100644
index 000000000..870d86d9c
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_distance_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_DISTANCE
+// This file should compile, if it does not then
+// BOOST_NO_STD_DISTANCE should be defined.
+// See file boost_no_std_distance.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STD_DISTANCE
+#include "boost_no_std_distance.ipp"
+#else
+namespace boost_no_std_distance = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_distance::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_iter_traits_fail.cpp b/src/boost/libs/config/test/no_std_iter_traits_fail.cpp
new file mode 100644
index 000000000..98ba389f7
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_iter_traits_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_ITERATOR_TRAITS
+// This file should not compile, if it does then
+// BOOST_NO_STD_ITERATOR_TRAITS should not be defined.
+// See file boost_no_std_iter_traits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STD_ITERATOR_TRAITS
+#include "boost_no_std_iter_traits.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_iterator_traits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_iter_traits_pass.cpp b/src/boost/libs/config/test/no_std_iter_traits_pass.cpp
new file mode 100644
index 000000000..30b7399d9
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_iter_traits_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_ITERATOR_TRAITS
+// This file should compile, if it does not then
+// BOOST_NO_STD_ITERATOR_TRAITS should be defined.
+// See file boost_no_std_iter_traits.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STD_ITERATOR_TRAITS
+#include "boost_no_std_iter_traits.ipp"
+#else
+namespace boost_no_std_iterator_traits = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_iterator_traits::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_iterator_fail.cpp b/src/boost/libs/config/test/no_std_iterator_fail.cpp
new file mode 100644
index 000000000..7da3216dc
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_iterator_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_ITERATOR
+// This file should not compile, if it does then
+// BOOST_NO_STD_ITERATOR should not be defined.
+// See file boost_no_std_iterator.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STD_ITERATOR
+#include "boost_no_std_iterator.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_iterator::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_iterator_pass.cpp b/src/boost/libs/config/test/no_std_iterator_pass.cpp
new file mode 100644
index 000000000..7dbd9ce5f
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_iterator_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_ITERATOR
+// This file should compile, if it does not then
+// BOOST_NO_STD_ITERATOR should be defined.
+// See file boost_no_std_iterator.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STD_ITERATOR
+#include "boost_no_std_iterator.ipp"
+#else
+namespace boost_no_std_iterator = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_iterator::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_locale_fail.cpp b/src/boost/libs/config/test/no_std_locale_fail.cpp
new file mode 100644
index 000000000..46d2a4656
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_locale_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_LOCALE
+// This file should not compile, if it does then
+// BOOST_NO_STD_LOCALE should not be defined.
+// See file boost_no_std_locale.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STD_LOCALE
+#include "boost_no_std_locale.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_locale::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_locale_pass.cpp b/src/boost/libs/config/test/no_std_locale_pass.cpp
new file mode 100644
index 000000000..95a16483c
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_locale_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_LOCALE
+// This file should compile, if it does not then
+// BOOST_NO_STD_LOCALE should be defined.
+// See file boost_no_std_locale.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STD_LOCALE
+#include "boost_no_std_locale.ipp"
+#else
+namespace boost_no_std_locale = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_locale::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_messages_fail.cpp b/src/boost/libs/config/test/no_std_messages_fail.cpp
new file mode 100644
index 000000000..f5da5a28b
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_messages_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_MESSAGES
+// This file should not compile, if it does then
+// BOOST_NO_STD_MESSAGES should not be defined.
+// See file boost_no_std_messages.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STD_MESSAGES
+#include "boost_no_std_messages.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_messages::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_messages_pass.cpp b/src/boost/libs/config/test/no_std_messages_pass.cpp
new file mode 100644
index 000000000..c3d1786e0
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_messages_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_MESSAGES
+// This file should compile, if it does not then
+// BOOST_NO_STD_MESSAGES should be defined.
+// See file boost_no_std_messages.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STD_MESSAGES
+#include "boost_no_std_messages.ipp"
+#else
+namespace boost_no_std_messages = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_messages::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_min_max_fail.cpp b/src/boost/libs/config/test/no_std_min_max_fail.cpp
new file mode 100644
index 000000000..438d55a2b
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_min_max_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_MIN_MAX
+// This file should not compile, if it does then
+// BOOST_NO_STD_MIN_MAX should not be defined.
+// See file boost_no_std_min_max.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STD_MIN_MAX
+#include "boost_no_std_min_max.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_min_max::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_min_max_pass.cpp b/src/boost/libs/config/test/no_std_min_max_pass.cpp
new file mode 100644
index 000000000..f5349aa39
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_min_max_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_MIN_MAX
+// This file should compile, if it does not then
+// BOOST_NO_STD_MIN_MAX should be defined.
+// See file boost_no_std_min_max.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STD_MIN_MAX
+#include "boost_no_std_min_max.ipp"
+#else
+namespace boost_no_std_min_max = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_min_max::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_oi_assign_fail.cpp b/src/boost/libs/config/test/no_std_oi_assign_fail.cpp
new file mode 100644
index 000000000..353e3a109
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_oi_assign_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
+// This file should not compile, if it does then
+// BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN should not be defined.
+// See file boost_no_std_oi_assign.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
+#include "boost_no_std_oi_assign.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_output_iterator_assign::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_oi_assign_pass.cpp b/src/boost/libs/config/test/no_std_oi_assign_pass.cpp
new file mode 100644
index 000000000..7f16148db
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_oi_assign_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
+// This file should compile, if it does not then
+// BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN should be defined.
+// See file boost_no_std_oi_assign.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
+#include "boost_no_std_oi_assign.ipp"
+#else
+namespace boost_no_std_output_iterator_assign = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_output_iterator_assign::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_typeinfo_fail.cpp b/src/boost/libs/config/test/no_std_typeinfo_fail.cpp
new file mode 100644
index 000000000..7bb145f07
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_typeinfo_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:22 2007
+// 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.
+
+// Test file for macro BOOST_NO_STD_TYPEINFO
+// This file should not compile, if it does then
+// BOOST_NO_STD_TYPEINFO should not be defined.
+// See file boost_no_std_typeinfo.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STD_TYPEINFO
+#include "boost_no_std_typeinfo.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_typeinfo::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_typeinfo_pass.cpp b/src/boost/libs/config/test/no_std_typeinfo_pass.cpp
new file mode 100644
index 000000000..0bfd031a3
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_typeinfo_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:22 2007
+// 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.
+
+// Test file for macro BOOST_NO_STD_TYPEINFO
+// This file should compile, if it does not then
+// BOOST_NO_STD_TYPEINFO should be defined.
+// See file boost_no_std_typeinfo.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STD_TYPEINFO
+#include "boost_no_std_typeinfo.ipp"
+#else
+namespace boost_no_std_typeinfo = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_typeinfo::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_use_facet_fail.cpp b/src/boost/libs/config/test/no_std_use_facet_fail.cpp
new file mode 100644
index 000000000..e1c06b6a9
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_use_facet_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_USE_FACET
+// This file should not compile, if it does then
+// BOOST_NO_STD_USE_FACET should not be defined.
+// See file boost_no_std_use_facet.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STD_USE_FACET
+#include "boost_no_std_use_facet.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_use_facet::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_use_facet_pass.cpp b/src/boost/libs/config/test/no_std_use_facet_pass.cpp
new file mode 100644
index 000000000..111f38233
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_use_facet_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_USE_FACET
+// This file should compile, if it does not then
+// BOOST_NO_STD_USE_FACET should be defined.
+// See file boost_no_std_use_facet.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STD_USE_FACET
+#include "boost_no_std_use_facet.ipp"
+#else
+namespace boost_no_std_use_facet = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_use_facet::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_wstreambuf_fail.cpp b/src/boost/libs/config/test/no_std_wstreambuf_fail.cpp
new file mode 100644
index 000000000..40e6ecb94
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_wstreambuf_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_WSTREAMBUF
+// This file should not compile, if it does then
+// BOOST_NO_STD_WSTREAMBUF should not be defined.
+// See file boost_no_std_wstreambuf.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#include "boost_no_std_wstreambuf.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_wstreambuf::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_wstreambuf_pass.cpp b/src/boost/libs/config/test/no_std_wstreambuf_pass.cpp
new file mode 100644
index 000000000..f5aa6c639
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_wstreambuf_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_WSTREAMBUF
+// This file should compile, if it does not then
+// BOOST_NO_STD_WSTREAMBUF should be defined.
+// See file boost_no_std_wstreambuf.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STD_WSTREAMBUF
+#include "boost_no_std_wstreambuf.ipp"
+#else
+namespace boost_no_std_wstreambuf = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_wstreambuf::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_wstring_fail.cpp b/src/boost/libs/config/test/no_std_wstring_fail.cpp
new file mode 100644
index 000000000..39a5fa83f
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_wstring_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_WSTRING
+// This file should not compile, if it does then
+// BOOST_NO_STD_WSTRING should not be defined.
+// See file boost_no_std_wstring.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STD_WSTRING
+#include "boost_no_std_wstring.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_wstring::test();
+}
+
diff --git a/src/boost/libs/config/test/no_std_wstring_pass.cpp b/src/boost/libs/config/test/no_std_wstring_pass.cpp
new file mode 100644
index 000000000..0fb8e0319
--- /dev/null
+++ b/src/boost/libs/config/test/no_std_wstring_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STD_WSTRING
+// This file should compile, if it does not then
+// BOOST_NO_STD_WSTRING should be defined.
+// See file boost_no_std_wstring.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STD_WSTRING
+#include "boost_no_std_wstring.ipp"
+#else
+namespace boost_no_std_wstring = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_std_wstring::test();
+}
+
diff --git a/src/boost/libs/config/test/no_stdc_namespace_fail.cpp b/src/boost/libs/config/test/no_stdc_namespace_fail.cpp
new file mode 100644
index 000000000..745a2b899
--- /dev/null
+++ b/src/boost/libs/config/test/no_stdc_namespace_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STDC_NAMESPACE
+// This file should not compile, if it does then
+// BOOST_NO_STDC_NAMESPACE should not be defined.
+// See file boost_no_stdc_namespace.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_STDC_NAMESPACE
+#include "boost_no_stdc_namespace.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_stdc_namespace::test();
+}
+
diff --git a/src/boost/libs/config/test/no_stdc_namespace_pass.cpp b/src/boost/libs/config/test/no_stdc_namespace_pass.cpp
new file mode 100644
index 000000000..8b8eeafe7
--- /dev/null
+++ b/src/boost/libs/config/test/no_stdc_namespace_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_STDC_NAMESPACE
+// This file should compile, if it does not then
+// BOOST_NO_STDC_NAMESPACE should be defined.
+// See file boost_no_stdc_namespace.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_STDC_NAMESPACE
+#include "boost_no_stdc_namespace.ipp"
+#else
+namespace boost_no_stdc_namespace = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_stdc_namespace::test();
+}
+
diff --git a/src/boost/libs/config/test/no_swprintf_fail.cpp b/src/boost/libs/config/test/no_swprintf_fail.cpp
new file mode 100644
index 000000000..3df0b132f
--- /dev/null
+++ b/src/boost/libs/config/test/no_swprintf_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_SWPRINTF
+// This file should not compile, if it does then
+// BOOST_NO_SWPRINTF should not be defined.
+// See file boost_no_swprintf.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_SWPRINTF
+#include "boost_no_swprintf.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_swprintf::test();
+}
+
diff --git a/src/boost/libs/config/test/no_swprintf_pass.cpp b/src/boost/libs/config/test/no_swprintf_pass.cpp
new file mode 100644
index 000000000..3d4ef7096
--- /dev/null
+++ b/src/boost/libs/config/test/no_swprintf_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_SWPRINTF
+// This file should compile, if it does not then
+// BOOST_NO_SWPRINTF should be defined.
+// See file boost_no_swprintf.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_SWPRINTF
+#include "boost_no_swprintf.ipp"
+#else
+namespace boost_no_swprintf = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_swprintf::test();
+}
+
diff --git a/src/boost/libs/config/test/no_tem_local_classes_fail.cpp b/src/boost/libs/config/test/no_tem_local_classes_fail.cpp
new file mode 100644
index 000000000..f6c2a31ff
--- /dev/null
+++ b/src/boost/libs/config/test/no_tem_local_classes_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed Mar 21 13:05:19 2012
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS should not be defined.
+// See file boost_no_tem_local_classes.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#include "boost_no_tem_local_classes.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_local_class_template_parameters::test();
+}
+
diff --git a/src/boost/libs/config/test/no_tem_local_classes_pass.cpp b/src/boost/libs/config/test/no_tem_local_classes_pass.cpp
new file mode 100644
index 000000000..036819c18
--- /dev/null
+++ b/src/boost/libs/config/test/no_tem_local_classes_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Wed Mar 21 13:05:19 2012
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS should be defined.
+// See file boost_no_tem_local_classes.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
+#include "boost_no_tem_local_classes.ipp"
+#else
+namespace boost_no_cxx11_local_class_template_parameters = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_local_class_template_parameters::test();
+}
+
diff --git a/src/boost/libs/config/test/no_template_aliases_fail.cpp b/src/boost/libs/config/test/no_template_aliases_fail.cpp
new file mode 100644
index 000000000..fd4af49e5
--- /dev/null
+++ b/src/boost/libs/config/test/no_template_aliases_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 14 16:01:36 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_TEMPLATE_ALIASES
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_TEMPLATE_ALIASES should not be defined.
+// See file boost_no_template_aliases.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_TEMPLATE_ALIASES
+#include "boost_no_template_aliases.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_template_aliases::test();
+}
+
diff --git a/src/boost/libs/config/test/no_template_aliases_pass.cpp b/src/boost/libs/config/test/no_template_aliases_pass.cpp
new file mode 100644
index 000000000..ed66a355e
--- /dev/null
+++ b/src/boost/libs/config/test/no_template_aliases_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 14 16:01:36 2009
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_TEMPLATE_ALIASES
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_TEMPLATE_ALIASES should be defined.
+// See file boost_no_template_aliases.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_TEMPLATE_ALIASES
+#include "boost_no_template_aliases.ipp"
+#else
+namespace boost_no_cxx11_template_aliases = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_template_aliases::test();
+}
+
diff --git a/src/boost/libs/config/test/no_template_streams_fail.cpp b/src/boost/libs/config/test/no_template_streams_fail.cpp
new file mode 100644
index 000000000..16dfd5b16
--- /dev/null
+++ b/src/boost/libs/config/test/no_template_streams_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon Apr 21 10:10:52 2008
+// 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: generate.cpp 44422 2008-04-14 18:06:59Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_TEMPLATED_IOSTREAMS
+// This file should not compile, if it does then
+// BOOST_NO_TEMPLATED_IOSTREAMS should not be defined.
+// See file boost_no_template_streams.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_TEMPLATED_IOSTREAMS
+#include "boost_no_template_streams.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_templated_iostreams::test();
+}
+
diff --git a/src/boost/libs/config/test/no_template_streams_pass.cpp b/src/boost/libs/config/test/no_template_streams_pass.cpp
new file mode 100644
index 000000000..9ea790981
--- /dev/null
+++ b/src/boost/libs/config/test/no_template_streams_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon Apr 21 10:10:52 2008
+// 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: generate.cpp 44422 2008-04-14 18:06:59Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_TEMPLATED_IOSTREAMS
+// This file should compile, if it does not then
+// BOOST_NO_TEMPLATED_IOSTREAMS should be defined.
+// See file boost_no_template_streams.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_TEMPLATED_IOSTREAMS
+#include "boost_no_template_streams.ipp"
+#else
+namespace boost_no_templated_iostreams = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_templated_iostreams::test();
+}
+
diff --git a/src/boost/libs/config/test/no_template_template_fail.cpp b/src/boost/libs/config/test/no_template_template_fail.cpp
new file mode 100644
index 000000000..44f8a2b61
--- /dev/null
+++ b/src/boost/libs/config/test/no_template_template_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_TEMPLATE_TEMPLATES
+// This file should not compile, if it does then
+// BOOST_NO_TEMPLATE_TEMPLATES should not be defined.
+// See file boost_no_template_template.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_TEMPLATE_TEMPLATES
+#include "boost_no_template_template.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_template_templates::test();
+}
+
diff --git a/src/boost/libs/config/test/no_template_template_pass.cpp b/src/boost/libs/config/test/no_template_template_pass.cpp
new file mode 100644
index 000000000..e70c33e16
--- /dev/null
+++ b/src/boost/libs/config/test/no_template_template_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_TEMPLATE_TEMPLATES
+// This file should compile, if it does not then
+// BOOST_NO_TEMPLATE_TEMPLATES should be defined.
+// See file boost_no_template_template.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_TEMPLATE_TEMPLATES
+#include "boost_no_template_template.ipp"
+#else
+namespace boost_no_template_templates = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_template_templates::test();
+}
+
diff --git a/src/boost/libs/config/test/no_two_phase_lookup_fail.cpp b/src/boost/libs/config/test/no_two_phase_lookup_fail.cpp
new file mode 100644
index 000000000..6be607227
--- /dev/null
+++ b/src/boost/libs/config/test/no_two_phase_lookup_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Mon Jan 01 12:05:16 2007
+// 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.
+
+// Test file for macro BOOST_NO_TWO_PHASE_NAME_LOOKUP
+// This file should not compile, if it does then
+// BOOST_NO_TWO_PHASE_NAME_LOOKUP should not be defined.
+// See file boost_no_two_phase_lookup.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#include "boost_no_two_phase_lookup.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_two_phase_name_lookup::test();
+}
+
diff --git a/src/boost/libs/config/test/no_two_phase_lookup_pass.cpp b/src/boost/libs/config/test/no_two_phase_lookup_pass.cpp
new file mode 100644
index 000000000..544958767
--- /dev/null
+++ b/src/boost/libs/config/test/no_two_phase_lookup_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Mon Jan 01 12:05:16 2007
+// 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.
+
+// Test file for macro BOOST_NO_TWO_PHASE_NAME_LOOKUP
+// This file should compile, if it does not then
+// BOOST_NO_TWO_PHASE_NAME_LOOKUP should be defined.
+// See file boost_no_two_phase_lookup.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#include "boost_no_two_phase_lookup.ipp"
+#else
+namespace boost_no_two_phase_name_lookup = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_two_phase_name_lookup::test();
+}
+
diff --git a/src/boost/libs/config/test/no_typeid_fail.cpp b/src/boost/libs/config/test/no_typeid_fail.cpp
new file mode 100644
index 000000000..7c3e4b23b
--- /dev/null
+++ b/src/boost/libs/config/test/no_typeid_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:22 2007
+// 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.
+
+// Test file for macro BOOST_NO_TYPEID
+// This file should not compile, if it does then
+// BOOST_NO_TYPEID should not be defined.
+// See file boost_no_typeid.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_TYPEID
+#include "boost_no_typeid.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_typeid::test();
+}
+
diff --git a/src/boost/libs/config/test/no_typeid_pass.cpp b/src/boost/libs/config/test/no_typeid_pass.cpp
new file mode 100644
index 000000000..80582ef3b
--- /dev/null
+++ b/src/boost/libs/config/test/no_typeid_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Sat Aug 25 12:32:22 2007
+// 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.
+
+// Test file for macro BOOST_NO_TYPEID
+// This file should compile, if it does not then
+// BOOST_NO_TYPEID should be defined.
+// See file boost_no_typeid.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_TYPEID
+#include "boost_no_typeid.ipp"
+#else
+namespace boost_no_typeid = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_typeid::test();
+}
+
diff --git a/src/boost/libs/config/test/no_typename_with_ctor_fail.cpp b/src/boost/libs/config/test/no_typename_with_ctor_fail.cpp
new file mode 100644
index 000000000..74ee7b0e6
--- /dev/null
+++ b/src/boost/libs/config/test/no_typename_with_ctor_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Sep 18 23:32:18 2008
+// 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_TYPENAME_WITH_CTOR
+// This file should not compile, if it does then
+// BOOST_NO_TYPENAME_WITH_CTOR should not be defined.
+// See file boost_no_typename_with_ctor.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_TYPENAME_WITH_CTOR
+#include "boost_no_typename_with_ctor.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_typename_with_ctor::test();
+}
+
diff --git a/src/boost/libs/config/test/no_typename_with_ctor_pass.cpp b/src/boost/libs/config/test/no_typename_with_ctor_pass.cpp
new file mode 100644
index 000000000..4a2d9bbcc
--- /dev/null
+++ b/src/boost/libs/config/test/no_typename_with_ctor_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu Sep 18 23:32:18 2008
+// 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_TYPENAME_WITH_CTOR
+// This file should compile, if it does not then
+// BOOST_NO_TYPENAME_WITH_CTOR should be defined.
+// See file boost_no_typename_with_ctor.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_TYPENAME_WITH_CTOR
+#include "boost_no_typename_with_ctor.ipp"
+#else
+namespace boost_no_typename_with_ctor = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_typename_with_ctor::test();
+}
+
diff --git a/src/boost/libs/config/test/no_unicode_literals_fail.cpp b/src/boost/libs/config/test/no_unicode_literals_fail.cpp
new file mode 100644
index 000000000..381f562ac
--- /dev/null
+++ b/src/boost/libs/config/test/no_unicode_literals_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 09:24:04 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_UNICODE_LITERALS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_UNICODE_LITERALS should not be defined.
+// See file boost_no_unicode_literals.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_UNICODE_LITERALS
+#include "boost_no_unicode_literals.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_unicode_literals::test();
+}
+
diff --git a/src/boost/libs/config/test/no_unicode_literals_pass.cpp b/src/boost/libs/config/test/no_unicode_literals_pass.cpp
new file mode 100644
index 000000000..3fd454707
--- /dev/null
+++ b/src/boost/libs/config/test/no_unicode_literals_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 09:24:04 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_UNICODE_LITERALS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_UNICODE_LITERALS should be defined.
+// See file boost_no_unicode_literals.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_UNICODE_LITERALS
+#include "boost_no_unicode_literals.ipp"
+#else
+namespace boost_no_cxx11_unicode_literals = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_unicode_literals::test();
+}
+
diff --git a/src/boost/libs/config/test/no_unified_init_fail.cpp b/src/boost/libs/config/test/no_unified_init_fail.cpp
new file mode 100644
index 000000000..5535fe7d3
--- /dev/null
+++ b/src/boost/libs/config/test/no_unified_init_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon May 09 12:11:17 2011
+// 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: generate.cpp 70001 2011-03-15 13:17:46Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX should not be defined.
+// See file boost_no_unified_init.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#include "boost_no_unified_init.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_unified_initialization_syntax::test();
+}
+
diff --git a/src/boost/libs/config/test/no_unified_init_pass.cpp b/src/boost/libs/config/test/no_unified_init_pass.cpp
new file mode 100644
index 000000000..f4cf57178
--- /dev/null
+++ b/src/boost/libs/config/test/no_unified_init_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Mon May 09 12:11:17 2011
+// 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: generate.cpp 70001 2011-03-15 13:17:46Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX should be defined.
+// See file boost_no_unified_init.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
+#include "boost_no_unified_init.ipp"
+#else
+namespace boost_no_cxx11_unified_initialization_syntax = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_unified_initialization_syntax::test();
+}
+
diff --git a/src/boost/libs/config/test/no_using_breaks_adl_fail.cpp b/src/boost/libs/config/test/no_using_breaks_adl_fail.cpp
new file mode 100644
index 000000000..39a9b84d6
--- /dev/null
+++ b/src/boost/libs/config/test/no_using_breaks_adl_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+// This file should not compile, if it does then
+// BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL should not be defined.
+// See file boost_no_using_breaks_adl.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#include "boost_no_using_breaks_adl.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_function_scope_using_declaration_breaks_adl::test();
+}
+
diff --git a/src/boost/libs/config/test/no_using_breaks_adl_pass.cpp b/src/boost/libs/config/test/no_using_breaks_adl_pass.cpp
new file mode 100644
index 000000000..5f4cb4933
--- /dev/null
+++ b/src/boost/libs/config/test/no_using_breaks_adl_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+// This file should compile, if it does not then
+// BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL should be defined.
+// See file boost_no_using_breaks_adl.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#include "boost_no_using_breaks_adl.ipp"
+#else
+namespace boost_function_scope_using_declaration_breaks_adl = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_function_scope_using_declaration_breaks_adl::test();
+}
+
diff --git a/src/boost/libs/config/test/no_using_decl_overld_fail.cpp b/src/boost/libs/config/test/no_using_decl_overld_fail.cpp
new file mode 100644
index 000000000..35e12697a
--- /dev/null
+++ b/src/boost/libs/config/test/no_using_decl_overld_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+// This file should not compile, if it does then
+// BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE should not be defined.
+// See file boost_no_using_decl_overld.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+#include "boost_no_using_decl_overld.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_using_declaration_overloads_from_typename_base::test();
+}
+
diff --git a/src/boost/libs/config/test/no_using_decl_overld_pass.cpp b/src/boost/libs/config/test/no_using_decl_overld_pass.cpp
new file mode 100644
index 000000000..c5290fc45
--- /dev/null
+++ b/src/boost/libs/config/test/no_using_decl_overld_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+// This file should compile, if it does not then
+// BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE should be defined.
+// See file boost_no_using_decl_overld.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+#include "boost_no_using_decl_overld.ipp"
+#else
+namespace boost_no_using_declaration_overloads_from_typename_base = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_using_declaration_overloads_from_typename_base::test();
+}
+
diff --git a/src/boost/libs/config/test/no_using_template_fail.cpp b/src/boost/libs/config/test/no_using_template_fail.cpp
new file mode 100644
index 000000000..febbbcd66
--- /dev/null
+++ b/src/boost/libs/config/test/no_using_template_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_USING_TEMPLATE
+// This file should not compile, if it does then
+// BOOST_NO_USING_TEMPLATE should not be defined.
+// See file boost_no_using_template.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_USING_TEMPLATE
+#include "boost_no_using_template.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_using_template::test();
+}
+
diff --git a/src/boost/libs/config/test/no_using_template_pass.cpp b/src/boost/libs/config/test/no_using_template_pass.cpp
new file mode 100644
index 000000000..b48a31e36
--- /dev/null
+++ b/src/boost/libs/config/test/no_using_template_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_USING_TEMPLATE
+// This file should compile, if it does not then
+// BOOST_NO_USING_TEMPLATE should be defined.
+// See file boost_no_using_template.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_USING_TEMPLATE
+#include "boost_no_using_template.ipp"
+#else
+namespace boost_no_using_template = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_using_template::test();
+}
+
diff --git a/src/boost/libs/config/test/no_variadic_macros_fail.cpp b/src/boost/libs/config/test/no_variadic_macros_fail.cpp
new file mode 100644
index 000000000..d76c4f362
--- /dev/null
+++ b/src/boost/libs/config/test/no_variadic_macros_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Tue Aug 17 09:59:01 2010
+// 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: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_VARIADIC_MACROS
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_VARIADIC_MACROS should not be defined.
+// See file boost_no_variadic_macros.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_VARIADIC_MACROS
+#include "boost_no_variadic_macros.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_variadic_macros::test();
+}
+
diff --git a/src/boost/libs/config/test/no_variadic_macros_pass.cpp b/src/boost/libs/config/test/no_variadic_macros_pass.cpp
new file mode 100644
index 000000000..291b6ea66
--- /dev/null
+++ b/src/boost/libs/config/test/no_variadic_macros_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Tue Aug 17 09:59:01 2010
+// 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: generate.cpp 49281 2008-10-11 15:40:44Z johnmaddock $
+//
+
+
+// Test file for macro BOOST_NO_CXX11_VARIADIC_MACROS
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_VARIADIC_MACROS should be defined.
+// See file boost_no_variadic_macros.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_VARIADIC_MACROS
+#include "boost_no_variadic_macros.ipp"
+#else
+namespace boost_no_cxx11_variadic_macros = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_variadic_macros::test();
+}
+
diff --git a/src/boost/libs/config/test/no_variadic_templates_fail.cpp b/src/boost/libs/config/test/no_variadic_templates_fail.cpp
new file mode 100644
index 000000000..05fc2c7ad
--- /dev/null
+++ b/src/boost/libs/config/test/no_variadic_templates_fail.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 07:24:54 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_VARIADIC_TEMPLATES
+// This file should not compile, if it does then
+// BOOST_NO_CXX11_VARIADIC_TEMPLATES should not be defined.
+// See file boost_no_variadic_templates.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#include "boost_no_variadic_templates.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_variadic_templates::test();
+}
+
diff --git a/src/boost/libs/config/test/no_variadic_templates_pass.cpp b/src/boost/libs/config/test/no_variadic_templates_pass.cpp
new file mode 100644
index 000000000..2b95540ea
--- /dev/null
+++ b/src/boost/libs/config/test/no_variadic_templates_pass.cpp
@@ -0,0 +1,37 @@
+// This file was automatically generated on Thu May 29 07:24:54 2008
+// by libs/config/tools/generate.cpp
+// Copyright John Maddock 2002-4.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for the most recent version.//
+// Revision $Id$
+//
+
+
+// Test file for macro BOOST_NO_CXX11_VARIADIC_TEMPLATES
+// This file should compile, if it does not then
+// BOOST_NO_CXX11_VARIADIC_TEMPLATES should be defined.
+// See file boost_no_variadic_templates.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
+#include "boost_no_variadic_templates.ipp"
+#else
+namespace boost_no_cxx11_variadic_templates = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_cxx11_variadic_templates::test();
+}
+
diff --git a/src/boost/libs/config/test/no_void_returns_fail.cpp b/src/boost/libs/config/test/no_void_returns_fail.cpp
new file mode 100644
index 000000000..ff08562a3
--- /dev/null
+++ b/src/boost/libs/config/test/no_void_returns_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_VOID_RETURNS
+// This file should not compile, if it does then
+// BOOST_NO_VOID_RETURNS should not be defined.
+// See file boost_no_void_returns.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_VOID_RETURNS
+#include "boost_no_void_returns.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_void_returns::test();
+}
+
diff --git a/src/boost/libs/config/test/no_void_returns_pass.cpp b/src/boost/libs/config/test/no_void_returns_pass.cpp
new file mode 100644
index 000000000..73a0882b7
--- /dev/null
+++ b/src/boost/libs/config/test/no_void_returns_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_VOID_RETURNS
+// This file should compile, if it does not then
+// BOOST_NO_VOID_RETURNS should be defined.
+// See file boost_no_void_returns.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_VOID_RETURNS
+#include "boost_no_void_returns.ipp"
+#else
+namespace boost_no_void_returns = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_void_returns::test();
+}
+
diff --git a/src/boost/libs/config/test/no_wchar_t_fail.cpp b/src/boost/libs/config/test/no_wchar_t_fail.cpp
new file mode 100644
index 000000000..c1b0712e3
--- /dev/null
+++ b/src/boost/libs/config/test/no_wchar_t_fail.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_INTRINSIC_WCHAR_T
+// This file should not compile, if it does then
+// BOOST_NO_INTRINSIC_WCHAR_T should not be defined.
+// See file boost_no_wchar_t.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef BOOST_NO_INTRINSIC_WCHAR_T
+#include "boost_no_wchar_t.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_intrinsic_wchar_t::test();
+}
+
diff --git a/src/boost/libs/config/test/no_wchar_t_pass.cpp b/src/boost/libs/config/test/no_wchar_t_pass.cpp
new file mode 100644
index 000000000..b31c07fb5
--- /dev/null
+++ b/src/boost/libs/config/test/no_wchar_t_pass.cpp
@@ -0,0 +1,34 @@
+// This file was automatically generated on Fri Dec 03 18:04:02 2004
+// 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.
+
+// Test file for macro BOOST_NO_INTRINSIC_WCHAR_T
+// This file should compile, if it does not then
+// BOOST_NO_INTRINSIC_WCHAR_T should be defined.
+// See file boost_no_wchar_t.ipp for details
+
+// Must not have BOOST_ASSERT_CONFIG set; it defeats
+// the objective of this file:
+#ifdef BOOST_ASSERT_CONFIG
+# undef BOOST_ASSERT_CONFIG
+#endif
+
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef BOOST_NO_INTRINSIC_WCHAR_T
+#include "boost_no_wchar_t.ipp"
+#else
+namespace boost_no_intrinsic_wchar_t = empty_boost;
+#endif
+
+int main( int, char *[] )
+{
+ return boost_no_intrinsic_wchar_t::test();
+}
+
diff --git a/src/boost/libs/config/test/pragma_message_test.cpp b/src/boost/libs/config/test/pragma_message_test.cpp
new file mode 100644
index 000000000..9464897c3
--- /dev/null
+++ b/src/boost/libs/config/test/pragma_message_test.cpp
@@ -0,0 +1,18 @@
+// Copyright 2017 Peter Dimov.
+//
+// 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
+
+#include <boost/config/pragma_message.hpp>
+
+BOOST_PRAGMA_MESSAGE("first message")
+
+#define MSG2 "second message"
+BOOST_PRAGMA_MESSAGE(MSG2)
+
+#include <boost/config.hpp> // BOOST_STRINGIZE
+
+#define MSG3 third message
+BOOST_PRAGMA_MESSAGE(BOOST_STRINGIZE(MSG3))
diff --git a/src/boost/libs/config/test/test.hpp b/src/boost/libs/config/test/test.hpp
new file mode 100644
index 000000000..af7578096
--- /dev/null
+++ b/src/boost/libs/config/test/test.hpp
@@ -0,0 +1,21 @@
+// (C) Copyright John Maddock 2001.
+// 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.
+
+#ifndef BOOST_CONFIG_TEST_HPP
+#define BOOST_CONFIG_TEST_HPP
+
+namespace empty_boost{
+
+int test()
+{
+ return 0;
+}
+
+}
+
+#endif
+
diff --git a/src/boost/libs/config/test/threads/test_thread_fail1.cpp b/src/boost/libs/config/test/threads/test_thread_fail1.cpp
new file mode 100644
index 000000000..5e0406bb3
--- /dev/null
+++ b/src/boost/libs/config/test/threads/test_thread_fail1.cpp
@@ -0,0 +1,10 @@
+// (C) Copyright John Maddock 2003.
+// 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)
+
+// disable thread support:
+#define BOOST_DISABLE_THREADS
+// this should now be a compiler error:
+#include <boost/config/requires_threads.hpp>
+// we should never get here...
diff --git a/src/boost/libs/config/test/threads/test_thread_fail2.cpp b/src/boost/libs/config/test/threads/test_thread_fail2.cpp
new file mode 100644
index 000000000..56ba4a073
--- /dev/null
+++ b/src/boost/libs/config/test/threads/test_thread_fail2.cpp
@@ -0,0 +1,13 @@
+// (C) Copyright John Maddock 2003.
+// 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)
+
+#include <boost/config.hpp>
+// disable thread support:
+#ifdef BOOST_HAS_THREADS
+# undef BOOST_HAS_THREADS
+#endif
+// this should now be a compiler error:
+#include <boost/config/requires_threads.hpp>
+// we should never get here...
diff --git a/src/boost/libs/config/tools/Jamfile.v2 b/src/boost/libs/config/tools/Jamfile.v2
new file mode 100644
index 000000000..de66b8d22
--- /dev/null
+++ b/src/boost/libs/config/tools/Jamfile.v2
@@ -0,0 +1,15 @@
+# Copyright John Maddock 2005.
+# 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)
+
+run generate.cpp
+ ../../regex/build//boost_regex
+ ../../filesystem/build//boost_filesystem ../../system/build//boost_system
+ : ../../..
+;
+
+
+
+
+
diff --git a/src/boost/libs/config/tools/configure.in b/src/boost/libs/config/tools/configure.in
new file mode 100644
index 000000000..3e1425cec
--- /dev/null
+++ b/src/boost/libs/config/tools/configure.in
@@ -0,0 +1,463 @@
+# copyright John Maddock 2003
+# 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)
+#
+# the following variables contain our macro definitions:
+#
+required_defs=""
+required_undefs=""
+
+dnl Process this file with autoconf to produce a configure script.
+dnl disable cache processing, it has no effect here:
+define([AC_CACHE_LOAD], )dnl
+define([AC_CACHE_SAVE], )dnl
+AC_INIT(./tools/configure.in)
+
+
+AC_ARG_ENABLE(test, --enable-test tests current settings rather than defining new ones)
+
+if test "foo"$enable_test = "foo"; then
+ enable_test="no"
+fi
+
+cat << EOF
+*** $0: boost configuration utility ***
+
+Please stand by while exploring compiler capabilities...
+Be patient - this could take some time...
+
+Note that this test script only gives an approximate
+configuration - you will need to test the results carefully
+using the boost regression test suite before using the results.
+EOF
+
+if test $enable_test = 'yes'; then
+
+cat << EOF
+
+This script reports only the difference between the detected
+configuration, and the existing boost configuration. Its
+primary aim is to quickly report how well boost is configured
+for one compiler.
+
+***
+
+EOF
+
+else
+
+cat << EOF
+
+***
+
+EOF
+fi
+
+AC_ARG_ENABLE(extension,[--enable-extension=<ext>],
+[
+case "$enableval" in
+ no) AC_MSG_RESULT(Info :.cpp used as extension for tests)
+ ac_ext=cpp
+ ;;
+ *) AC_MSG_RESULT(Argument : .$enableval used as extension)
+ ac_ext=$enableval
+esac
+],
+[AC_MSG_RESULT(Info : .cpp used as extension for tests)
+ ac_ext=cpp
+]
+)
+
+dnl figure out which version of sed to use, on some platforms
+dnl the version in the path is not Unix conforming (MacOS X ? )
+
+if test -f /bin/sed ; then
+ SED=/bin/sed
+else
+ if test -f /usr/bin/sed ; then
+ SED=/usr/bin/sed
+ else
+ SED=sed
+ fi
+fi
+
+dnl Set the boost main directory.
+AC_MSG_CHECKING(for boost main tree)
+boost_base=
+AC_ARG_WITH(boost,
+ AC_HELP_STRING([--with-boost=DIR],[path to the boost main tree]),
+ [
+ #echo "--with boost is set"
+ if test "x$withval" != "x"; then
+ if test "x$withval" != no; then
+ boost_base=`echo "$withval" | $SED 's,//*,/,g' | $SED 's,/$,,'`
+ #echo boost_base=$boost_base
+ if test -f "$boost_base/boost/config.hpp"; then
+ if test -f "$boost_base/libs/config/configure"; then :; else
+ boost_base=
+ #echo "$boost_base/libs/config/configure" not found
+ fi
+ else
+ #echo "$boost_base/boost/config.hpp" not found
+ boost_base=
+ fi
+ fi
+ fi
+ ]
+)
+if test "x$boost_base" = "x"; then
+ #echo '$0 = ' $0
+ boost_base=`expr "x$0" : 'x\(.*\)/@<:@/@:>@*' \| '.'`
+ boost_base="$boost_base/../.."
+ #echo boost_base=$boost_base
+ if test -f "$boost_base/boost/config.hpp"; then
+ if test -f "$boost_base/libs/config/configure"; then :; else
+ boost_base=
+ fi
+ else
+ boost_base=
+ fi
+fi
+if test "x$boost_base" != "x"; then
+ AC_MSG_RESULT([$boost_base])
+else
+ AC_MSG_RESULT([not found])
+ AC_MSG_ERROR([The boost main tree was not found.
+ Specify its location by the --with-boost option.])
+fi
+
+
+
+# Save that, as it is being redefined several times
+use_ac_ext=$ac_ext
+
+AC_PROG_CXX
+ac_ext=$use_ac_ext
+
+AC_LANG_CPLUSPLUS
+
+OLD_CXXFLAGS="$CXXFLAGS"
+
+
+if test $enable_test = 'yes'; then
+ CXXFLAGS="-I$boost_base -I$boost_base/libs/config/test $CXXFLAGS"
+else
+ CXXFLAGS="-I$boost_base -I$boost_base/libs/config/test $CXXFLAGS -DBOOST_NO_CONFIG"
+fi
+
+# add the -AA conformance option to CXXFLAGS for HP aCC only
+if test $CXX = 'aCC'; then
+ CXXFLAGS="-AA $CXXFLAGS"
+fi
+
+dnl check for some standard libraries
+dnl without these some of the tests may fail:
+
+AC_CHECK_LIB(pthread, pthread_exit)
+AC_CHECK_LIB(m, cos)
+AC_CHECK_LIB(rt, clock)
+
+#
+# enumerate test files and test each one:
+#
+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 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+
+#echo file = $file
+#echo basename = $basename
+#echo macroname = $macroname
+#echo title = $title
+#echo namespace = $namespace
+
+ ac_ext=$use_ac_ext
+ if test $enable_test = 'yes'; then
+ AC_MSG_CHECKING($title (pass expected) )
+ else
+ AC_MSG_CHECKING($title )
+ fi
+ AC_TRY_RUN(
+ [
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#if !defined($macroname) || defined(BOOST_NO_CONFIG)
+#include "boost_$basename.ipp"
+#else
+namespace ${namespace} = empty_boost;
+#endif
+
+int main(){ return ${namespace}::test(); } ]
+ ,
+ [AC_MSG_RESULT(OK)]
+ ,
+ [AC_MSG_RESULT(Failed)
+ required_defs="$macroname $required_defs"]
+ )
+
+ if test $enable_test = 'yes'; then
+
+ ac_ext=$use_ac_ext
+ AC_MSG_CHECKING($title (fail expected) )
+ AC_TRY_RUN(
+ [
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef $macroname
+#include "boost_$basename.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main() { return ${namespace}::test(); }]
+ ,
+ [AC_MSG_RESULT(failed)
+ required_undefs="$macroname $required_undefs"]
+ ,
+ [AC_MSG_RESULT(OK)]
+ )
+
+ fi
+
+done
+
+#
+# enumerate optional test files and test each one:
+#
+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 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+
+# echo $file
+# echo $basename
+# echo $macroname
+# echo $title
+
+ ac_ext=$use_ac_ext
+ if test $enable_test = 'yes'; then
+ AC_MSG_CHECKING($title (pass expected) )
+ AC_TRY_RUN(
+ [
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifdef $macroname
+#include "boost_$basename.ipp"
+#else
+namespace ${namespace} = empty_boost;
+#endif
+
+int main(){ return ${namespace}::test(); }]
+ ,
+ [AC_MSG_RESULT(OK)]
+ ,
+ [AC_MSG_RESULT(Failed)
+ required_undefs="$macroname $required_undefs"]
+ )
+
+ AC_MSG_CHECKING($title (fail expected) )
+ AC_TRY_RUN(
+ [
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#ifndef $macroname
+#include "boost_$basename.ipp"
+#else
+#error "this file should not compile"
+#endif
+
+int main(){ return ${namespace}::test(); }]
+ ,
+ [
+ AC_MSG_RESULT(failed)
+ required_defs="$macroname $required_defs"
+ ]
+ ,
+ [
+ AC_MSG_RESULT(OK)
+ ]
+ )
+
+ else
+
+ ac_ext=$use_ac_ext
+ AC_MSG_CHECKING($title)
+ AC_TRY_RUN(
+ [
+#include <boost/config.hpp>
+#include "test.hpp"
+
+#include "boost_$basename.ipp"
+
+int main(){ return ${namespace}::test(); }]
+ ,
+ [
+ AC_MSG_RESULT(Yes)
+ required_defs="$macroname $required_defs"
+ ]
+ ,
+ [
+ AC_MSG_RESULT(no)
+ ]
+ )
+
+ fi
+
+done
+
+
+#echo $required_defs
+#echo $required_undefs
+
+if test $enable_test = 'yes'; then
+
+if test "$required_defs" = ""; then
+echo no boost macros need to be defined
+echo no boost macros need to be defined >&5
+else
+echo the following macros need to be defined
+echo $required_defs
+echo the following macros need to be defined >&5
+echo $required_defs >&5
+fi
+if test "$required_undefs" = ""; then
+echo no boost macros need to be undefined
+echo no boost macros need to be undefined >&5
+else
+echo "the following macros need to be undef'ed"
+echo $required_undefs
+echo "the following macros need to be undef'ed" >&5
+echo $required_undefs >&5
+fi
+
+else
+
+date_string=`date`
+
+echo boost_base=$boost_base
+
+cat > user.hpp << EOF
+// (C) Copyright Boost.org 2001.
+// Do not check in modified versions of this file,
+// This file may be customised by the end user, but not by boost.
+
+//
+// Use this file to define a site and compiler specific
+// configuration policy, this version was auto-generated by
+// configure on ${date_string}
+// With the following options:
+// CXX = ${CXX}
+// CXXFLAGS = ${CXXFLAGS}
+// LDFLAGS = ${LDFLAGS}
+// LIBS = ${LIBS}
+//
+
+// define this to disable all config options,
+// excluding the user config. Use if your
+// setup is fully ISO complient, and has no
+// useful extentions, or for autoconf generated
+// setups:
+#ifndef BOOST_NO_CONFIG
+# define BOOST_NO_CONFIG
+#endif
+
+
+// define if you want to disable threading support, even
+// when available:
+// #define BOOST_DISABLE_THREADS
+
+// define if you want the regex library to use the C locale
+// even on Win32:
+// #define BOOST_REGEX_USE_C_LOCALE
+
+// define this is you want the regex library to use the C++
+// locale:
+// #define BOOST_REGEX_USE_CPP_LOCALE
+
+
+//
+// options added by configure:
+//
+EOF
+
+for name in $required_defs; do
+echo '#define '"$name" >> user.hpp
+done
+
+cat_conts=`cat user.hpp`
+
+#
+# post configuration step:
+#
+AC_MSG_CHECKING(original configuration )
+rm -f conftest$ac_exeext
+$CXX -I$boost_base $OLD_CXXFLAGS -DBOOST_NO_USER_CONFIG -o conftest$ac_exeext $LDFLAGS $boost_base/libs/config/test/config_info.cpp $LIBS >&5 2>&1
+./conftest >&5 2>&1
+AC_MSG_RESULT(done)
+AC_MSG_CHECKING(new configuration )
+rm -f conftest$ac_exeext
+$CXX -I$boost_base -I$boost_base/libs/config $OLD_CXXFLAGS -DBOOST_USER_CONFIG='"user.hpp"' -o conftest$ac_exeext $LDFLAGS $boost_base/libs/config/test/config_info.cpp $LIBS >&5 2>&1
+./conftest >&5 2>&1
+AC_MSG_RESULT(done)
+
+AC_OUTPUT(
+[],
+[
+cat > user.hpp << EEEOF
+${cat_conts}
+EEEOF
+cat << EEEOF
+
+Adjustments to boost configuration have been written to
+user.hpp. Copy this to boost/config/user.hpp to use "as is",
+or define BOOST_SITE_CONFIG to point to its location.
+
+TREAT THIS FILE WITH CARE.
+Autoconf generated options are not infallible!
+
+EEEOF
+],
+[
+cat_conts="$cat_conts"
+]
+)
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/boost/libs/config/tools/generate.cpp b/src/boost/libs/config/tools/generate.cpp
new file mode 100644
index 000000000..b1b3c496e
--- /dev/null
+++ b/src/boost/libs/config/tools/generate.cpp
@@ -0,0 +1,522 @@
+// (C) Copyright John Maddock 2004.
+// 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)
+
+//
+// This progam scans for *.ipp files in the libs/config/test
+// directory and then generates the *.cpp test files from them
+// along with config_test.cpp and a Jamfile.
+//
+
+#include <boost/regex.hpp>
+#include <boost/filesystem/path.hpp>
+#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem/fstream.hpp>
+#include <boost/detail/lightweight_main.hpp>
+#include <iostream>
+#include <sstream>
+#include <string>
+#include <set>
+#include <ctime>
+
+namespace fs = boost::filesystem;
+
+fs::path config_path;
+
+std::string copyright(
+"// Copyright John Maddock 2002-4.\n"
+"// Use, modification and distribution are subject to the \n"
+"// Boost Software License, Version 1.0. (See accompanying file \n"
+"// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n"
+"\n"
+"// See http://www.boost.org/libs/config for the most recent version."
+"//\n// Revision $Id$\n//\n");
+
+std::stringstream config_test1;
+std::stringstream config_test1a;
+std::stringstream config_test2;
+std::stringstream jamfile;
+std::stringstream jamfile_v2;
+std::stringstream build_config_test;
+std::stringstream build_config_jamfile;
+std::set<std::string> macro_list;
+std::set<std::string> feature_list;
+
+void write_config_info()
+{
+ // load the file into memory so we can scan it:
+ fs::ifstream ifs(config_path / "config_info.cpp");
+ std::string file_text;
+ std::copy(std::istreambuf_iterator<char>(ifs), std::istreambuf_iterator<char>(), std::back_inserter(file_text));
+ ifs.close();
+ // create macro list:
+ std::stringstream ss;
+ for(std::set<std::string>::const_iterator i(macro_list.begin()), j(macro_list.end());
+ i != j;
+ ++i)
+ {
+ ss << " PRINT_MACRO(" << *i << ");\n";
+ }
+ std::string macros = ss.str();
+ // scan for Boost macro block:
+ boost::regex re("BEGIN\\s+GENERATED\\s+BLOCK\\s+DO\\s+NOT\\s+EDIT\\s+THIS[^\\n]+\\n(.*?)\\n\\s+//\\s*END\\s+GENERATED\\s+BLOCK");
+ boost::smatch what;
+ if(boost::regex_search(file_text, what, re))
+ {
+ std::string new_text;
+ new_text.append(what.prefix().first, what[1].first);
+ new_text.append(macros);
+ new_text.append(what[1].second, what.suffix().second);
+ fs::ofstream ofs(config_path / "config_info.cpp");
+ ofs << new_text;
+ }
+}
+
+void write_config_test()
+{
+ fs::ofstream ofs(config_path / "config_test.cpp");
+ time_t t = std::time(0);
+ ofs << "// This file was automatically generated on " << std::ctime(&t);
+ ofs << "// by libs/config/tools/generate.cpp\n" << copyright << std::endl;
+ ofs << "// Test file for config setup\n"
+ "// This file should compile, if it does not then\n"
+ "// one or more macros need to be defined.\n"
+ "// see boost_*.ipp for more details\n\n"
+ "// Do not edit this file, it was generated automatically by\n\n"
+ "#include <boost/config.hpp>\n#include <iostream>\n#include \"test.hpp\"\n\n"
+ "int error_count = 0;\n\n";
+ ofs << config_test1.str() << std::endl;
+ ofs << config_test1a.str() << std::endl;
+ ofs << "int main( int, char *[] )\n{\n" << config_test2.str() << " return error_count;\n}\n\n";
+}
+
+void write_jamfile_v2()
+{
+ fs::ofstream ofs(config_path / "all" / "Jamfile.v2");
+ time_t t = std::time(0);
+ ofs << "#\n# Regression test Jamfile for boost configuration setup.\n# *** DO NOT EDIT THIS FILE BY HAND ***\n"
+ "# This file was automatically generated on " << std::ctime(&t);
+ ofs << "# by libs/config/tools/generate.cpp\n"
+ "# Copyright John Maddock.\n"
+ "# Use, modification and distribution are subject to the \n"
+ "# Boost Software License, Version 1.0. (See accompanying file \n"
+ "# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n"
+ "#\n# If you need to alter build preferences then set them in\n"
+ "# the template defined in options_v2.jam.\n#\n"
+ "path-constant DOT : . ;\n"
+ "include $(DOT)/options_v2.jam ;\n\n"
+ "run ../config_info.cpp : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;\n"
+ "run ../config_info.cpp : : : <threading>multi : config_info_threaded ;\n"
+ "run ../math_info.cpp : : : <toolset>borland:<runtime-link>static <toolset>borland:<link>static ;\n"
+ "run ../config_test.cpp : : : <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ;\n"
+ "run ../config_test.cpp : : : <threading>multi : config_test_threaded ;\n"
+ "run ../limits_test.cpp ../../../test/build//boost_test_exec_monitor ;\n"
+ "run ../abi/abi_test.cpp ../abi/main.cpp ;\n\n";
+ ofs << jamfile_v2.str() << std::endl;
+
+}
+
+void write_test_file(const fs::path& file,
+ const std::string& macro_name,
+ const std::string& namespace_name,
+ const std::string& header_file,
+ bool positive_test,
+ bool expect_success)
+{
+ if(!fs::exists(file))
+ {
+ std::cout << "Writing test file " << file.string() << std::endl;
+
+ fs::ofstream ofs(file);
+ std::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 << "\n// Test file for macro " << macro_name << std::endl;
+
+ if(expect_success)
+ {
+ ofs << "// This file should compile, if it does not then\n"
+ "// " << macro_name << " should ";
+ if(positive_test)
+ ofs << "not ";
+ ofs << "be defined.\n";
+ }
+ else
+ {
+ ofs << "// This file should not compile, if it does then\n"
+ "// " << macro_name << " should ";
+ if(!positive_test)
+ ofs << "not ";
+ ofs << "be defined.\n";
+ }
+ ofs << "// See file " << header_file << " for details\n\n";
+
+ ofs << "// Must not have BOOST_ASSERT_CONFIG set; it defeats\n"
+ "// the objective of this file:\n"
+ "#ifdef BOOST_ASSERT_CONFIG\n"
+ "# undef BOOST_ASSERT_CONFIG\n"
+ "#endif\n\n";
+
+ static const boost::regex tr1_exp("BOOST_HAS_TR1.*");
+
+ ofs << "#include <boost/config.hpp>\n";
+
+ ofs << "#include \"test.hpp\"\n\n"
+ "#if";
+ if(positive_test != expect_success)
+ ofs << "n";
+ ofs << "def " << macro_name <<
+ "\n#include \"" << header_file <<
+ "\"\n#else\n";
+ if(expect_success)
+ ofs << "namespace " << namespace_name << " = empty_boost;\n";
+ else
+ ofs << "#error \"this file should not compile\"\n";
+ ofs << "#endif\n\n";
+
+ ofs << "int main( int, char *[] )\n{\n return " << namespace_name << "::test();\n}\n\n";
+ }
+ else
+ {
+ std::cout << "Skipping existing test file " << file.string() << std::endl;
+ }
+}
+
+void write_build_tests()
+{
+ fs::ofstream ofs(config_path / ".." / "checks" / "test_case.cpp");
+ time_t t = std::time(0);
+ ofs << "// This file was automatically generated on " << std::ctime(&t);
+ ofs << "// by libs/config/tools/generate.cpp\n" << copyright << std::endl;
+ ofs << "#include <boost/config.hpp>\n\n";
+ ofs << build_config_test.str() << std::endl;
+ ofs << "int main( int, char *[] )\n{\n" << " return 0;\n}\n\n";
+}
+
+void write_build_check_jamfile()
+{
+ fs::ofstream ofs(config_path / ".." / "checks" / "Jamfile.v2");
+ time_t t = std::time(0);
+ ofs << "#\n# *** DO NOT EDIT THIS FILE BY HAND ***\n"
+ "# This file was automatically generated on " << std::ctime(&t);
+ ofs << "# by libs/config/tools/generate.cpp\n"
+ "# Copyright John Maddock.\n"
+ "# Use, modification and distribution are subject to the \n"
+ "# Boost Software License, Version 1.0. (See accompanying file \n"
+ "# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n\n"
+ "import modules ;\nimport path ; \n\n"
+ "\n"
+ ;
+ ofs << build_config_jamfile.str() << std::endl;
+}
+
+void process_ipp_file(const fs::path& file, bool positive_test)
+{
+ std::cout << "Info: Scanning file: " << file.string() << std::endl;
+
+ // our variables:
+ std::string file_text;
+ std::string macro_name;
+ std::string namespace_name;
+ fs::path positive_file;
+ fs::path negative_file;
+
+ // load the file into memory so we can scan it:
+ fs::ifstream ifs(file);
+ std::copy(std::istreambuf_iterator<char>(ifs), std::istreambuf_iterator<char>(), std::back_inserter(file_text));
+ ifs.close();
+ // scan for the macro name:
+ boost::regex macro_regex("//\\s*MACRO\\s*:\\s*(\\w+)");
+ boost::smatch macro_match;
+ if(boost::regex_search(file_text, macro_match, macro_regex))
+ {
+ macro_name = macro_match[1];
+ macro_list.insert(macro_name);
+ namespace_name = boost::regex_replace(file_text, macro_regex, "\\L$1", boost::format_first_only | boost::format_no_copy);
+ }
+ if(macro_name.empty())
+ {
+ std::cout << "Error: no macro definition found in " << file.string();
+ }
+ else
+ {
+ std::cout << "Info: Macroname: " << macro_name << std::endl;
+ }
+
+ // get the output filesnames:
+ boost::regex file_regex("boost_([^.]+)\\.ipp");
+ positive_file = file.branch_path() / boost::regex_replace(file.leaf().string(), file_regex, "$1_pass.cpp");
+ negative_file = file.branch_path() / boost::regex_replace(file.leaf().string(), file_regex, "$1_fail.cpp");
+ write_test_file(positive_file, macro_name, namespace_name, file.leaf().string(), positive_test, true);
+ write_test_file(negative_file, macro_name, namespace_name, file.leaf().string(), positive_test, false);
+
+ // always create config_test data,
+ // positive and negative tests go to separate streams, because for some
+ // reason some compilers choke unless we put them in a particular order...
+ std::ostream* pout = positive_test ? &config_test1a : &config_test1;
+ *pout << "#if";
+ if(!positive_test)
+ *pout << "n";
+ *pout << "def " << macro_name
+ << "\n#include \"" << file.leaf().string() << "\"\n#else\nnamespace "
+ << namespace_name << " = empty_boost;\n#endif\n";
+
+ config_test2 << " if(0 != " << namespace_name << "::test())\n"
+ " {\n"
+ " std::cerr << \"Failed test for " << macro_name << " at: \" << __FILE__ << \":\" << __LINE__ << std::endl;\n"
+ " ++error_count;\n"
+ " }\n";
+
+ // always generate the jamfile data:
+ jamfile << "test-suite \"" << macro_name << "\" : \n"
+ "[ run " << positive_file.leaf().string() << " <template>config_options ]\n"
+ "[ compile-fail " << negative_file.leaf().string() << " <template>config_options ] ;\n";
+
+ jamfile_v2 << "test-suite \"" << macro_name << "\" : \n"
+ "[ run ../" << positive_file.leaf().string() << " ]\n"
+ "[ compile-fail ../" << negative_file.leaf().string() << " ] ;\n";
+
+ // Generate data for the Build-checks test file:
+ build_config_test << "#ifdef TEST_" << macro_name << std::endl;
+ 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");
+ if(feature_list.find(feature_name) == feature_list.end())
+ build_config_jamfile << "obj " << feature_name << " : test_case.cpp : <define>TEST_" << macro_name << " ;\n";
+ feature_list.insert(feature_name);
+}
+
+void write_std_check(std::string macroname, int min_value, std::string header, int std_version, bool primary = true)
+{
+ std::string test_name(macroname);
+ while (test_name[0] == '_')
+ test_name.erase(0, 1);
+ std::string test_basename = test_name;
+ test_name.append("_");
+ test_name.append(1, std_version > 10 ? std_version / 10 + '0' : '0');
+ test_name.append(1, std_version % 10 + '0');
+ fs::ofstream ofs(config_path / ".." / "checks" / "std" / (test_name + ".cpp"));
+ time_t t = std::time(0);
+ ofs << "// This file was automatically generated on " << std::ctime(&t);
+ ofs << "// by libs/config/tools/generate.cpp\n" << copyright << std::endl;
+ ofs << "#ifdef __has_include\n#if __has_include(<version>)\n#include <version>\n#endif\n#endif\n\n";
+ if (header.size())
+ {
+ ofs << "#include <" << header << ">\n\n";
+ }
+ ofs << "#ifndef " << macroname << "\n#error \"Macro << " << macroname << " is not set\"\n#endif\n\n";
+ ofs << "#if " << macroname << " < " << min_value << "\n#error \"Macro " << macroname << " had too low a value\"\n#endif\n\n";
+ ofs << "int main( int, char *[] )\n{\n" << " return 0;\n}\n\n";
+
+ build_config_jamfile << "obj " << test_name << " : std/" << test_name << ".cpp ;\n";
+ if(primary)
+ build_config_jamfile << "alias " << test_basename << " : " << test_name << " ;\n";
+}
+
+void write_std_config_checks()
+{
+ // C++20
+ write_std_check("__cpp_impl_destroying_delete", 201806, "", 20);
+ write_std_check("__cpp_lib_destroying_delete", 201806, "new", 20);
+ write_std_check("__cpp_char8_t", 201811, "", 20);
+ write_std_check("__cpp_impl_three_way_comparison", 201711, "", 20);
+ write_std_check("__cpp_lib_three_way_comparison", 201711, "compare", 20);
+ write_std_check("__cpp_conditional_explicit", 201806, "", 20);
+ write_std_check("__cpp_nontype_template_parameter_class", 201806, "", 20);
+ write_std_check("__cpp_lib_char8_t", 201811, "atomic", 20);
+ write_std_check("__cpp_lib_concepts", 201806, "concepts", 20);
+ write_std_check("__cpp_lib_constexpr_swap_algorithms", 201806, "algorithm", 20);
+ write_std_check("__cpp_lib_constexpr_misc", 201811, "array", 20);
+ write_std_check("__cpp_lib_bind_front", 201811, "functional", 20);
+ write_std_check("__cpp_lib_is_constant_evaluated", 201811, "type_traits", 20);
+ write_std_check("__cpp_lib_erase_if", 201811, "string", 20);
+ write_std_check("__cpp_lib_list_remove_return_type", 201806, "forward_list", 20);
+ write_std_check("__cpp_lib_generic_unordered_lookup", 201811, "unordered_map", 20);
+ write_std_check("__cpp_lib_ranges", 201811, "algorithm", 20);
+ write_std_check("__cpp_lib_bit_cast", 201806, "bit", 20);
+ write_std_check("__cpp_lib_atomic_ref", 201806, "atomic", 20);
+ // C++17
+ write_std_check("__cpp_hex_float", 201603, "", 17);
+ write_std_check("__cpp_inline_variables", 201606, "", 17);
+ write_std_check("__cpp_aligned_new", 201606, "", 17);
+ write_std_check("__cpp_guaranteed_copy_elision", 201606, "", 17);
+ write_std_check("__cpp_noexcept_function_type", 201510, "", 17);
+ write_std_check("__cpp_fold_expressions", 201603, "", 17);
+ write_std_check("__cpp_capture_star_this", 201603, "", 17);
+ write_std_check("__cpp_constexpr", 201603, "", 17, false);
+ write_std_check("__cpp_if_constexpr", 201606, "", 17);
+ write_std_check("__cpp_range_based_for", 201603, "", 17, false);
+ write_std_check("__cpp_static_assert", 201411, "", 17, false);
+ write_std_check("__cpp_deduction_guides", 201611, "", 17); // NOTE: this is the pre-std version number used by gcc-8, is this OK???
+ write_std_check("__cpp_nontype_template_parameter_auto", 201606, "", 17);
+ write_std_check("__cpp_namespace_attributes", 201411, "", 17);
+ write_std_check("__cpp_enumerator_attributes", 201411, "", 17);
+ write_std_check("__cpp_inheriting_constructors", 201511, "", 17, false);
+ write_std_check("__cpp_variadic_using", 201611, "", 17);
+ write_std_check("__cpp_structured_bindings", 201606, "", 17);
+ write_std_check("__cpp_aggregate_bases", 201603, "", 17);
+ write_std_check("__cpp_nontype_template_args", 201411, "", 17);
+ write_std_check("__cpp_template_template_args", 201611, "", 17);
+ write_std_check("__cpp_lib_byte", 201603, "cstddef", 17);
+ write_std_check("__cpp_lib_hardware_interference_size", 201703, "new", 17);
+ write_std_check("__cpp_lib_launder", 201606, "new", 17);
+ write_std_check("__cpp_lib_uncaught_exceptions", 201411, "exception", 17);
+ write_std_check("__cpp_lib_as_const", 201510, "utility", 17);
+ write_std_check("__cpp_lib_make_from_tuple", 201606, "tuple", 17);
+ write_std_check("__cpp_lib_apply", 201603, "tuple", 17);
+ write_std_check("__cpp_lib_optional", 201606, "optional", 17);
+ write_std_check("__cpp_lib_variant", 201606, "variant", 17);
+ write_std_check("__cpp_lib_any", 201606, "any", 17);
+ write_std_check("__cpp_lib_addressof_constexpr", 201603, "memory", 17);
+ write_std_check("__cpp_lib_raw_memory_algorithms", 201606, "memory", 17);
+ write_std_check("__cpp_lib_transparent_operators", 201510, "memory", 17, false);
+ write_std_check("__cpp_lib_enable_shared_from_this", 201603, "memory", 17);
+ write_std_check("__cpp_lib_shared_ptr_weak_type", 201606, "memory", 17);
+ write_std_check("__cpp_lib_shared_ptr_arrays", 201611, "memory", 17);
+ write_std_check("__cpp_lib_memory_resource", 201603, "memory_resource", 17);
+ write_std_check("__cpp_lib_boyer_moore_searcher", 201603, "functional", 17);
+ write_std_check("__cpp_lib_invoke", 201411, "functional", 17);
+ write_std_check("__cpp_lib_not_fn", 201603, "functional", 17);
+ write_std_check("__cpp_lib_void_t", 201411, "type_traits", 17);
+ write_std_check("__cpp_lib_bool_constant", 201505, "type_traits", 17);
+ write_std_check("__cpp_lib_type_trait_variable_templates", 201510, "type_traits", 17);
+ write_std_check("__cpp_lib_logical_traits", 201510, "type_traits", 17);
+ write_std_check("__cpp_lib_is_swappable", 201603, "type_traits", 17);
+ write_std_check("__cpp_lib_is_invocable", 201703, "type_traits", 17);
+ write_std_check("__cpp_lib_has_unique_object_representations", 201606, "type_traits", 17);
+ write_std_check("__cpp_lib_is_aggregate", 201703, "type_traits", 17);
+ write_std_check("__cpp_lib_chrono", 201611, "chrono", 17);
+ write_std_check("__cpp_lib_execution", 201603, "execution", 17);
+ write_std_check("__cpp_lib_parallel_algorithm", 201603, "algorithm", 17);
+ write_std_check("__cpp_lib_to_chars", 201611, "utility", 17);
+ write_std_check("__cpp_lib_string_view", 201606, "string", 17);
+ write_std_check("__cpp_lib_allocator_traits_is_always_equal", 201411, "memory", 17);
+ write_std_check("__cpp_lib_incomplete_container_elements", 201505, "forward_list", 17);
+ write_std_check("__cpp_lib_map_try_emplace", 201411, "map", 17);
+ write_std_check("__cpp_lib_unordered_map_try_emplace", 201411, "unordered_map", 17);
+ write_std_check("__cpp_lib_node_extract", 201606, "map", 17);
+ write_std_check("__cpp_lib_array_constexpr", 201603, "iterator", 17);
+ write_std_check("__cpp_lib_nonmember_container_access", 201411, "iterator", 17);
+ write_std_check("__cpp_lib_sample", 201603, "algorithm", 17);
+ write_std_check("__cpp_lib_clamp", 201603, "algorithm", 17);
+ write_std_check("__cpp_lib_gcd_lcm", 201606, "numeric", 17);
+ write_std_check("__cpp_lib_hypot", 201603, "cmath", 17);
+ write_std_check("__cpp_lib_math_special_functions", 201603, "cmath", 17);
+ write_std_check("__cpp_lib_filesystem", 201703, "filesystem", 17);
+ write_std_check("__cpp_lib_atomic_is_always_lock_free", 201603, "atomic", 17);
+ write_std_check("__cpp_lib_shared_mutex", 201505, "shared_mutex", 17);
+ write_std_check("__cpp_lib_scoped_lock", 201703, "mutex", 17);
+ // C++14
+ write_std_check("__cpp_binary_literals", 201304, "", 14);
+ write_std_check("__cpp_init_captures", 201304, "", 14);
+ write_std_check("__cpp_generic_lambdas", 201304, "", 14);
+ write_std_check("__cpp_sized_deallocation", 201309, "", 14);
+ write_std_check("__cpp_constexpr", 201304, "", 14, false);
+ write_std_check("__cpp_decltype_auto", 201304, "", 14);
+ write_std_check("__cpp_return_type_deduction", 201304, "", 14);
+ write_std_check("__cpp_aggregate_nsdmi", 201304, "", 14);
+ write_std_check("__cpp_variable_templates", 201304, "", 14);
+ write_std_check("__cpp_lib_integer_sequence", 201304, "utility", 14);
+ write_std_check("__cpp_lib_exchange_function", 201304, "utility", 14);
+ write_std_check("__cpp_lib_tuples_by_type", 201304, "utility", 14);
+ write_std_check("__cpp_lib_tuple_element_t", 201402, "tuple", 14);
+ write_std_check("__cpp_lib_make_unique", 201304, "memory", 14);
+ write_std_check("__cpp_lib_transparent_operators", 201210, "functional", 14);
+ write_std_check("__cpp_lib_integral_constant_callable", 201304, "type_traits", 14);
+ write_std_check("__cpp_lib_transformation_trait_aliases", 201304, "type_traits", 14);
+ write_std_check("__cpp_lib_result_of_sfinae", 201210, "functional", 14);
+ write_std_check("__cpp_lib_is_final", 201402, "type_traits", 14);
+ write_std_check("__cpp_lib_is_null_pointer", 201309, "type_traits", 14);
+ write_std_check("__cpp_lib_chrono_udls", 201304, "chrono", 14);
+ write_std_check("__cpp_lib_string_udls", 201304, "string", 14);
+ write_std_check("__cpp_lib_generic_associative_lookup", 201304, "map", 14);
+ write_std_check("__cpp_lib_null_iterators", 201304, "iterator", 14);
+ write_std_check("__cpp_lib_make_reverse_iterator", 201402, "iterator", 14);
+ write_std_check("__cpp_lib_robust_nonmodifying_seq_ops", 201304, "algorithm", 14);
+ write_std_check("__cpp_lib_complex_udls", 201309, "complex", 14);
+ write_std_check("__cpp_lib_quoted_string_io", 201304, "iomanip", 14);
+ write_std_check("__cpp_lib_shared_timed_mutex", 201402, "shared_mutex", 14);
+ // C++11
+ write_std_check("__cpp_unicode_characters", 200704, "", 11);
+ write_std_check("__cpp_raw_strings", 200710, "", 11);
+ write_std_check("__cpp_unicode_literals", 200710, "", 11);
+ write_std_check("__cpp_user_defined_literals", 200809, "", 11);
+ write_std_check("__cpp_threadsafe_static_init", 200806, "", 11);
+ write_std_check("__cpp_lambdas", 200907, "", 11);
+ write_std_check("__cpp_constexpr", 200704, "", 11);
+ write_std_check("__cpp_range_based_for", 200907, "", 11);
+ write_std_check("__cpp_static_assert", 200410, "", 11);
+ write_std_check("__cpp_decltype", 200707, "", 11);
+ write_std_check("__cpp_attributes", 200809, "", 11);
+ write_std_check("__cpp_rvalue_references", 200610, "", 11);
+ write_std_check("__cpp_variadic_templates", 200704, "", 11);
+ write_std_check("__cpp_initializer_lists", 200806, "", 11);
+ write_std_check("__cpp_explicit_conversion", 200710, "", 11);
+ write_std_check("__cpp_delegating_constructors", 200604, "", 11);
+ write_std_check("__cpp_nsdmi", 200809, "", 11);
+ write_std_check("__cpp_inheriting_constructors", 200802, "", 11);
+ write_std_check("__cpp_ref_qualifiers", 200710, "", 11);
+ write_std_check("__cpp_alias_templates", 200704, "", 11);
+ // C++98
+ write_std_check("__cpp_rtti", 199711, "", 03);
+ write_std_check("__cpp_exceptions", 199711, "", 03);
+}
+
+int cpp_main(int argc, char* argv[])
+{
+ //
+ // get the boost path to begin with:
+ //
+ if(argc > 1)
+ {
+ fs::path p(argv[1]);
+ config_path = p / "libs" / "config" / "test" ;
+ }
+ else
+ {
+ // try __FILE__:
+ fs::path p(__FILE__);
+ config_path = p.branch_path().branch_path() / "test";
+ }
+ std::cout << "Info: Boost.Config test path set as: " << config_path.string() << std::endl;
+
+ // enumerate *.ipp files and store them in a map for now:
+ boost::regex ipp_mask("boost_(?:(has)|no).*\\.ipp");
+ boost::smatch ipp_match;
+ fs::directory_iterator i(config_path), j;
+ std::map<fs::path, bool> files_to_process;
+ while(i != j)
+ {
+ if(boost::regex_match(i->path().leaf().string(), ipp_match, ipp_mask))
+ {
+ files_to_process[*i] = ipp_match[1].matched;
+ }
+ ++i;
+ }
+ // Enumerate the files and process them, by defering this until now
+ // the results are always alphabetized which reduces churn in the
+ // generated files.
+ for(std::map<fs::path, bool>::const_iterator pos = files_to_process.begin(); pos != files_to_process.end(); ++pos)
+ {
+ process_ipp_file(pos->first, pos->second);
+ }
+ write_config_test();
+ write_jamfile_v2();
+ write_config_info();
+ write_std_config_checks();
+ write_build_tests();
+ write_build_check_jamfile();
+ return 0;
+}
+