diff --git a/config.htm b/config.htm index 643d1a9c..c0f42426 100644 --- a/config.htm +++ b/config.htm @@ -624,6 +624,12 @@ f(&bar); // should choose #2. templates. See boost/functional.hpp for example. +
When you name the macro, follow the BOOST_NO_SOMETHING naming convention, so that it's obvious that this is a macro reporting a defect.
Finally, add the test program to the regression tests. You will need to place - the test case in a .cxx file with the following comments near the top:
+ the test case in a .ipp file with the following comments near the top:// MACRO: BOOST_NO_FOO // TITLE: foo // DESCRIPTION: If the compiler fails to support foo
These comments are processed by the autoconf script, so make sure the format - follows the one given. The file should be named "boost_no_foo.cxx", where foo + follows the one given. The file should be named "boost_no_foo.ipp", where foo is the defect description - try and keep the file name under the Mac 30 character filename limit though. You will also need to provide a function prototype "int test()" that is declared in a namespace with the same name as @@ -1349,7 +1355,7 @@ int test()
When you need to add a macro that describes a feature that the standard does not require, follow the convention for adding a new defect macro (above), but - call the macro BOOST_HAS_FOO, and name the test file "boost_has_foo.cxx". Try + call the macro BOOST_HAS_FOO, and name the test file "boost_has_foo.ipp". Try not to add feature test macros unnecessarily, if there is a platform specific macro that can already be used (for example _WIN32, __BEOS__, or __linux) to identify the feature then use that. Try to keep the macro to a feature group, diff --git a/test/Jamfile b/test/Jamfile index c09533bb..c5634b97 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -1,7 +1,7 @@ # # Regression test Jamfile for boost configuration setup. # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Tue Jun 15 11:50:28 GMTST 2004, +# This file was automatically generated on Tue Jun 22 13:14:16 GMTST 2004, # by libs/config/tools/generate # # If you need to alter build preferences then set them in @@ -17,246 +17,248 @@ run limits_test.cpp config_test_options ; run abi/abi_test.cpp abi/main.cpp config_options ; test-suite "BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP" : -[ run no_arg_dep_lookup_pass.cpp config_test_options ] -[ compile-fail no_arg_dep_lookup_fail.cpp config_test_options ] ; +[ run no_arg_dep_lookup_pass.cpp config_options ] +[ compile-fail no_arg_dep_lookup_fail.cpp config_options ] ; test-suite "BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS" : -[ run no_array_type_spec_pass.cpp config_test_options ] -[ compile-fail no_array_type_spec_fail.cpp config_test_options ] ; +[ run no_array_type_spec_pass.cpp config_options ] +[ compile-fail no_array_type_spec_fail.cpp config_options ] ; test-suite "BOOST_NO_AUTO_PTR" : -[ run no_auto_ptr_pass.cpp config_test_options ] -[ compile-fail no_auto_ptr_fail.cpp config_test_options ] ; +[ run no_auto_ptr_pass.cpp config_options ] +[ compile-fail no_auto_ptr_fail.cpp config_options ] ; test-suite "BOOST_BCB_PARTIAL_SPECIALIZATION_BUG" : -[ run no_bcb_partial_spec_pass.cpp config_test_options ] -[ compile-fail no_bcb_partial_spec_fail.cpp config_test_options ] ; +[ run no_bcb_partial_spec_pass.cpp config_options ] +[ compile-fail no_bcb_partial_spec_fail.cpp config_options ] ; test-suite "BOOST_NO_CTYPE_FUNCTIONS" : -[ run no_ctype_functions_pass.cpp config_test_options ] -[ compile-fail no_ctype_functions_fail.cpp config_test_options ] ; +[ run no_ctype_functions_pass.cpp config_options ] +[ compile-fail no_ctype_functions_fail.cpp config_options ] ; test-suite "BOOST_NO_CV_SPECIALIZATIONS" : -[ run no_cv_spec_pass.cpp config_test_options ] -[ compile-fail no_cv_spec_fail.cpp config_test_options ] ; +[ run no_cv_spec_pass.cpp config_options ] +[ compile-fail no_cv_spec_fail.cpp config_options ] ; test-suite "BOOST_NO_CV_VOID_SPECIALIZATIONS" : -[ run no_cv_void_spec_pass.cpp config_test_options ] -[ compile-fail no_cv_void_spec_fail.cpp config_test_options ] ; +[ run no_cv_void_spec_pass.cpp config_options ] +[ compile-fail no_cv_void_spec_fail.cpp config_options ] ; test-suite "BOOST_NO_CWCHAR" : -[ run no_cwchar_pass.cpp config_test_options ] -[ compile-fail no_cwchar_fail.cpp config_test_options ] ; +[ run no_cwchar_pass.cpp config_options ] +[ compile-fail no_cwchar_fail.cpp config_options ] ; test-suite "BOOST_NO_CWCTYPE" : -[ run no_cwctype_pass.cpp config_test_options ] -[ compile-fail no_cwctype_fail.cpp config_test_options ] ; +[ run no_cwctype_pass.cpp config_options ] +[ compile-fail no_cwctype_fail.cpp config_options ] ; test-suite "BOOST_DEDUCED_TYPENAME" : -[ run no_ded_typename_pass.cpp config_test_options ] -[ compile-fail no_ded_typename_fail.cpp config_test_options ] ; +[ run no_ded_typename_pass.cpp config_options ] +[ compile-fail no_ded_typename_fail.cpp config_options ] ; test-suite "BOOST_NO_DEPENDENT_NESTED_DERIVATIONS" : -[ run no_dep_nested_class_pass.cpp config_test_options ] -[ compile-fail no_dep_nested_class_fail.cpp config_test_options ] ; +[ run no_dep_nested_class_pass.cpp config_options ] +[ compile-fail no_dep_nested_class_fail.cpp config_options ] ; test-suite "BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS" : -[ run no_dep_val_param_pass.cpp config_test_options ] -[ compile-fail no_dep_val_param_fail.cpp config_test_options ] ; +[ run no_dep_val_param_pass.cpp config_options ] +[ compile-fail no_dep_val_param_fail.cpp config_options ] ; test-suite "BOOST_NO_EXCEPTION_STD_NAMESPACE" : -[ run no_excep_std_pass.cpp config_test_options ] -[ compile-fail no_excep_std_fail.cpp config_test_options ] ; +[ run no_excep_std_pass.cpp config_options ] +[ compile-fail no_excep_std_fail.cpp config_options ] ; test-suite "BOOST_NO_EXCEPTIONS" : -[ run no_exceptions_pass.cpp config_test_options ] -[ compile-fail no_exceptions_fail.cpp config_test_options ] ; +[ run no_exceptions_pass.cpp config_options ] +[ compile-fail no_exceptions_fail.cpp config_options ] ; test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" : -[ run no_exp_func_tem_arg_pass.cpp config_test_options ] -[ compile-fail no_exp_func_tem_arg_fail.cpp config_test_options ] ; +[ run no_exp_func_tem_arg_pass.cpp config_options ] +[ compile-fail no_exp_func_tem_arg_fail.cpp config_options ] ; test-suite "BOOST_NO_FUNCTION_TEMPLATE_ORDERING" : -[ run no_func_tmp_order_pass.cpp config_test_options ] -[ compile-fail no_func_tmp_order_fail.cpp config_test_options ] ; +[ run no_func_tmp_order_pass.cpp config_options ] +[ compile-fail no_func_tmp_order_fail.cpp config_options ] ; test-suite "BOOST_NO_MS_INT64_NUMERIC_LIMITS" : -[ run no_i64_limits_pass.cpp config_test_options ] -[ compile-fail no_i64_limits_fail.cpp config_test_options ] ; +[ run no_i64_limits_pass.cpp config_options ] +[ compile-fail no_i64_limits_fail.cpp config_options ] ; test-suite "BOOST_NO_INCLASS_MEMBER_INITIALIZATION" : -[ run no_inline_memb_init_pass.cpp config_test_options ] -[ compile-fail no_inline_memb_init_fail.cpp config_test_options ] ; +[ run no_inline_memb_init_pass.cpp config_options ] +[ compile-fail no_inline_memb_init_fail.cpp config_options ] ; test-suite "BOOST_NO_INTEGRAL_INT64_T" : -[ run no_integral_int64_t_pass.cpp config_test_options ] -[ compile-fail no_integral_int64_t_fail.cpp config_test_options ] ; +[ run no_integral_int64_t_pass.cpp config_options ] +[ compile-fail no_integral_int64_t_fail.cpp config_options ] ; test-suite "BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS" : -[ run no_iter_construct_pass.cpp config_test_options ] -[ compile-fail no_iter_construct_fail.cpp config_test_options ] ; +[ run no_iter_construct_pass.cpp config_options ] +[ compile-fail no_iter_construct_fail.cpp config_options ] ; test-suite "BOOST_NO_LIMITS" : -[ run no_limits_pass.cpp config_test_options ] -[ compile-fail no_limits_fail.cpp config_test_options ] ; +[ run no_limits_pass.cpp config_options ] +[ compile-fail no_limits_fail.cpp config_options ] ; test-suite "BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS" : -[ run no_limits_const_exp_pass.cpp config_test_options ] -[ compile-fail no_limits_const_exp_fail.cpp config_test_options ] ; +[ run no_limits_const_exp_pass.cpp config_options ] +[ compile-fail no_limits_const_exp_fail.cpp config_options ] ; test-suite "BOOST_NO_LONG_LONG_NUMERIC_LIMITS" : -[ run no_ll_limits_pass.cpp config_test_options ] -[ compile-fail no_ll_limits_fail.cpp config_test_options ] ; +[ run no_ll_limits_pass.cpp config_options ] +[ compile-fail no_ll_limits_fail.cpp config_options ] ; test-suite "BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS" : -[ run no_mem_func_spec_pass.cpp config_test_options ] -[ compile-fail no_mem_func_spec_fail.cpp config_test_options ] ; +[ run no_mem_func_spec_pass.cpp config_options ] +[ compile-fail no_mem_func_spec_fail.cpp config_options ] ; test-suite "BOOST_NO_MEMBER_TEMPLATE_KEYWORD" : -[ run no_mem_tem_keyword_pass.cpp config_test_options ] -[ compile-fail no_mem_tem_keyword_fail.cpp config_test_options ] ; +[ run no_mem_tem_keyword_pass.cpp config_options ] +[ compile-fail no_mem_tem_keyword_fail.cpp config_options ] ; +test-suite "BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS" : +[ run no_mem_tem_pnts_pass.cpp config_options ] +[ compile-fail no_mem_tem_pnts_fail.cpp config_options ] ; test-suite "BOOST_NO_MEMBER_TEMPLATE_FRIENDS" : -[ run no_mem_templ_frnds_pass.cpp config_test_options ] -[ compile-fail no_mem_templ_frnds_fail.cpp config_test_options ] ; +[ run no_mem_templ_frnds_pass.cpp config_options ] +[ compile-fail no_mem_templ_frnds_fail.cpp config_options ] ; test-suite "BOOST_NO_MEMBER_TEMPLATES" : -[ run no_mem_templates_pass.cpp config_test_options ] -[ compile-fail no_mem_templates_fail.cpp config_test_options ] ; +[ run no_mem_templates_pass.cpp config_options ] +[ compile-fail no_mem_templates_fail.cpp config_options ] ; test-suite "BOOST_NO_OPERATORS_IN_NAMESPACE" : -[ run no_ops_in_namespace_pass.cpp config_test_options ] -[ compile-fail no_ops_in_namespace_fail.cpp config_test_options ] ; +[ run no_ops_in_namespace_pass.cpp config_options ] +[ compile-fail no_ops_in_namespace_fail.cpp config_options ] ; test-suite "BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION" : -[ run no_partial_spec_pass.cpp config_test_options ] -[ compile-fail no_partial_spec_fail.cpp config_test_options ] ; +[ run no_partial_spec_pass.cpp config_options ] +[ compile-fail no_partial_spec_fail.cpp config_options ] ; test-suite "BOOST_NO_PRIVATE_IN_AGGREGATE" : -[ run no_priv_aggregate_pass.cpp config_test_options ] -[ compile-fail no_priv_aggregate_fail.cpp config_test_options ] ; +[ run no_priv_aggregate_pass.cpp config_options ] +[ compile-fail no_priv_aggregate_fail.cpp config_options ] ; test-suite "BOOST_NO_POINTER_TO_MEMBER_CONST" : -[ run no_ptr_mem_const_pass.cpp config_test_options ] -[ compile-fail no_ptr_mem_const_fail.cpp config_test_options ] ; +[ run no_ptr_mem_const_pass.cpp config_options ] +[ compile-fail no_ptr_mem_const_fail.cpp config_options ] ; test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" : -[ run no_ret_det_pass.cpp config_test_options ] -[ compile-fail no_ret_det_fail.cpp config_test_options ] ; +[ run no_ret_det_pass.cpp config_options ] +[ compile-fail no_ret_det_fail.cpp config_options ] ; test-suite "BOOST_NO_SFINAE" : -[ run no_sfinae_pass.cpp config_test_options ] -[ compile-fail no_sfinae_fail.cpp config_test_options ] ; +[ run no_sfinae_pass.cpp config_options ] +[ compile-fail no_sfinae_fail.cpp config_options ] ; test-suite "BOOST_NO_STRINGSTREAM" : -[ run no_sstream_pass.cpp config_test_options ] -[ compile-fail no_sstream_fail.cpp config_test_options ] ; +[ run no_sstream_pass.cpp config_options ] +[ compile-fail no_sstream_fail.cpp config_options ] ; test-suite "BOOST_NO_STD_ALLOCATOR" : -[ run no_std_allocator_pass.cpp config_test_options ] -[ compile-fail no_std_allocator_fail.cpp config_test_options ] ; +[ run no_std_allocator_pass.cpp config_options ] +[ compile-fail no_std_allocator_fail.cpp config_options ] ; test-suite "BOOST_NO_STD_DISTANCE" : -[ run no_std_distance_pass.cpp config_test_options ] -[ compile-fail no_std_distance_fail.cpp config_test_options ] ; +[ run no_std_distance_pass.cpp config_options ] +[ compile-fail no_std_distance_fail.cpp config_options ] ; test-suite "BOOST_NO_STD_ITERATOR_TRAITS" : -[ run no_std_iter_traits_pass.cpp config_test_options ] -[ compile-fail no_std_iter_traits_fail.cpp config_test_options ] ; +[ run no_std_iter_traits_pass.cpp config_options ] +[ compile-fail no_std_iter_traits_fail.cpp config_options ] ; test-suite "BOOST_NO_STD_ITERATOR" : -[ run no_std_iterator_pass.cpp config_test_options ] -[ compile-fail no_std_iterator_fail.cpp config_test_options ] ; +[ run no_std_iterator_pass.cpp config_options ] +[ compile-fail no_std_iterator_fail.cpp config_options ] ; test-suite "BOOST_NO_STD_LOCALE" : -[ run no_std_locale_pass.cpp config_test_options ] -[ compile-fail no_std_locale_fail.cpp config_test_options ] ; +[ run no_std_locale_pass.cpp config_options ] +[ compile-fail no_std_locale_fail.cpp config_options ] ; test-suite "BOOST_NO_STD_MESSAGES" : -[ run no_std_messages_pass.cpp config_test_options ] -[ compile-fail no_std_messages_fail.cpp config_test_options ] ; +[ run no_std_messages_pass.cpp config_options ] +[ compile-fail no_std_messages_fail.cpp config_options ] ; test-suite "BOOST_NO_STD_MIN_MAX" : -[ run no_std_min_max_pass.cpp config_test_options ] -[ compile-fail no_std_min_max_fail.cpp config_test_options ] ; +[ run no_std_min_max_pass.cpp config_options ] +[ compile-fail no_std_min_max_fail.cpp config_options ] ; test-suite "BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN" : -[ run no_std_oi_assign_pass.cpp config_test_options ] -[ compile-fail no_std_oi_assign_fail.cpp config_test_options ] ; +[ run no_std_oi_assign_pass.cpp config_options ] +[ compile-fail no_std_oi_assign_fail.cpp config_options ] ; test-suite "BOOST_NO_STD_USE_FACET" : -[ run no_std_use_facet_pass.cpp config_test_options ] -[ compile-fail no_std_use_facet_fail.cpp config_test_options ] ; +[ run no_std_use_facet_pass.cpp config_options ] +[ compile-fail no_std_use_facet_fail.cpp config_options ] ; test-suite "BOOST_NO_STD_WSTREAMBUF" : -[ run no_std_wstreambuf_pass.cpp config_test_options ] -[ compile-fail no_std_wstreambuf_fail.cpp config_test_options ] ; +[ run no_std_wstreambuf_pass.cpp config_options ] +[ compile-fail no_std_wstreambuf_fail.cpp config_options ] ; test-suite "BOOST_NO_STD_WSTRING" : -[ run no_std_wstring_pass.cpp config_test_options ] -[ compile-fail no_std_wstring_fail.cpp config_test_options ] ; +[ run no_std_wstring_pass.cpp config_options ] +[ compile-fail no_std_wstring_fail.cpp config_options ] ; test-suite "BOOST_NO_STDC_NAMESPACE" : -[ run no_stdc_namespace_pass.cpp config_test_options ] -[ compile-fail no_stdc_namespace_fail.cpp config_test_options ] ; +[ run no_stdc_namespace_pass.cpp config_options ] +[ compile-fail no_stdc_namespace_fail.cpp config_options ] ; test-suite "BOOST_NO_SWPRINTF" : -[ run no_swprintf_pass.cpp config_test_options ] -[ compile-fail no_swprintf_fail.cpp config_test_options ] ; +[ run no_swprintf_pass.cpp config_options ] +[ compile-fail no_swprintf_fail.cpp config_options ] ; test-suite "BOOST_NO_TEMPLATE_TEMPLATES" : -[ run no_template_template_pass.cpp config_test_options ] -[ compile-fail no_template_template_fail.cpp config_test_options ] ; +[ run no_template_template_pass.cpp config_options ] +[ compile-fail no_template_template_fail.cpp config_options ] ; test-suite "BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL" : -[ run no_using_breaks_adl_pass.cpp config_test_options ] -[ compile-fail no_using_breaks_adl_fail.cpp config_test_options ] ; +[ run no_using_breaks_adl_pass.cpp config_options ] +[ compile-fail no_using_breaks_adl_fail.cpp config_options ] ; test-suite "BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE" : -[ run no_using_decl_overld_pass.cpp config_test_options ] -[ compile-fail no_using_decl_overld_fail.cpp config_test_options ] ; +[ run no_using_decl_overld_pass.cpp config_options ] +[ compile-fail no_using_decl_overld_fail.cpp config_options ] ; test-suite "BOOST_NO_USING_TEMPLATE" : -[ run no_using_template_pass.cpp config_test_options ] -[ compile-fail no_using_template_fail.cpp config_test_options ] ; +[ run no_using_template_pass.cpp config_options ] +[ compile-fail no_using_template_fail.cpp config_options ] ; test-suite "BOOST_NO_VOID_RETURNS" : -[ run no_void_returns_pass.cpp config_test_options ] -[ compile-fail no_void_returns_fail.cpp config_test_options ] ; +[ run no_void_returns_pass.cpp config_options ] +[ compile-fail no_void_returns_fail.cpp config_options ] ; test-suite "BOOST_NO_INTRINSIC_WCHAR_T" : -[ run no_wchar_t_pass.cpp config_test_options ] -[ compile-fail no_wchar_t_fail.cpp config_test_options ] ; +[ run no_wchar_t_pass.cpp config_options ] +[ compile-fail no_wchar_t_fail.cpp config_options ] ; test-suite "BOOST_HAS_TWO_ARG_USE_FACET" : -[ run has_2arg_use_facet_pass.cpp config_test_options ] -[ compile-fail has_2arg_use_facet_fail.cpp config_test_options ] ; +[ run has_2arg_use_facet_pass.cpp config_options ] +[ compile-fail has_2arg_use_facet_fail.cpp config_options ] ; test-suite "BOOST_HAS_BETHREADS" : -[ run has_bethreads_pass.cpp config_test_options ] -[ compile-fail has_bethreads_fail.cpp config_test_options ] ; +[ run has_bethreads_pass.cpp config_options ] +[ compile-fail has_bethreads_fail.cpp config_options ] ; test-suite "BOOST_HAS_CLOCK_GETTIME" : -[ run has_clock_gettime_pass.cpp config_test_options ] -[ compile-fail has_clock_gettime_fail.cpp config_test_options ] ; +[ run has_clock_gettime_pass.cpp config_options ] +[ compile-fail has_clock_gettime_fail.cpp config_options ] ; test-suite "BOOST_HAS_DIRENT_H" : -[ run has_dirent_h_pass.cpp config_test_options ] -[ compile-fail has_dirent_h_fail.cpp config_test_options ] ; +[ run has_dirent_h_pass.cpp config_options ] +[ compile-fail has_dirent_h_fail.cpp config_options ] ; test-suite "BOOST_HAS_FTIME" : -[ run has_ftime_pass.cpp config_test_options ] -[ compile-fail has_ftime_fail.cpp config_test_options ] ; +[ run has_ftime_pass.cpp config_options ] +[ compile-fail has_ftime_fail.cpp config_options ] ; test-suite "BOOST_HAS_GETTIMEOFDAY" : -[ run has_gettimeofday_pass.cpp config_test_options ] -[ compile-fail has_gettimeofday_fail.cpp config_test_options ] ; +[ run has_gettimeofday_pass.cpp config_options ] +[ compile-fail has_gettimeofday_fail.cpp config_options ] ; test-suite "BOOST_HAS_HASH" : -[ run has_hash_pass.cpp config_test_options ] -[ compile-fail has_hash_fail.cpp config_test_options ] ; +[ run has_hash_pass.cpp config_options ] +[ compile-fail has_hash_fail.cpp config_options ] ; test-suite "BOOST_HAS_LONG_LONG" : -[ run has_long_long_pass.cpp config_test_options ] -[ compile-fail has_long_long_fail.cpp config_test_options ] ; +[ run has_long_long_pass.cpp config_options ] +[ compile-fail has_long_long_fail.cpp config_options ] ; test-suite "BOOST_HAS_MACRO_USE_FACET" : -[ run has_macro_use_facet_pass.cpp config_test_options ] -[ compile-fail has_macro_use_facet_fail.cpp config_test_options ] ; +[ run has_macro_use_facet_pass.cpp config_options ] +[ compile-fail has_macro_use_facet_fail.cpp config_options ] ; test-suite "BOOST_HAS_MS_INT64" : -[ run has_ms_int64_pass.cpp config_test_options ] -[ compile-fail has_ms_int64_fail.cpp