summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/config/test
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/test
parentInitial commit. (diff)
downloadceph-upstream.tar.xz
ceph-upstream.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/test')
-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
638 files changed, 33876 insertions, 0 deletions
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...