# Boost.Core Library test Jamfile
#
-# Copyright (c) 2014, 2017 Peter Dimov
+# Copyright (c) 2014-2021 Peter Dimov
#
# Distributed under the Boost Software License, Version 1.0.
# See accompanying file LICENSE_1_0.txt or copy at
import modules ;
import testing ;
+project : requirements
+
+ <warnings>extra
+ <toolset>msvc:<warnings-as-errors>on
+ <toolset>clang:<warnings-as-errors>on
+ <toolset>gcc:<warnings-as-errors>on
+ <toolset>gcc-4.4:<cxxflags>-Wno-sign-compare ;
+
+local warning-as-errors-off =
+ "-<toolset>msvc:<warnings-as-errors>on"
+ "-<toolset>gcc:<warnings-as-errors>on"
+ "-<toolset>clang:<warnings-as-errors>on" ;
+
# quick test (for CI)
run quick.cpp ;
run addressof_np_test.cpp ;
run addressof_fn_test.cpp ;
compile addressof_constexpr_test.cpp ;
-compile-fail addressof_fail_rvalue.cpp ;
+compile-fail addressof_fail_rvalue.cpp
+ : $(warning-as-errors-off) ;
run checked_delete_test.cpp ;
-compile-fail checked_delete_fail.cpp ;
-compile-fail checked_delete_fail2.cpp ;
+compile-fail checked_delete_fail.cpp
+ : $(warning-as-errors-off) ;
+compile-fail checked_delete_fail2.cpp
+ : $(warning-as-errors-off) ;
compile ref_ct_test.cpp ;
run ref_test.cpp ;
run ref_ref_test.cpp ;
run ref_fn_test.cpp ;
-compile-fail ref_rv_fail1.cpp ;
-compile-fail ref_rv_fail2.cpp ;
-compile-fail ref_rv_fail3.cpp ;
-compile-fail ref_rv_fail4.cpp ;
-compile-fail ref_rv_fail5.cpp ;
-compile-fail ref_implicit_fail.cpp ;
-compile-fail ref_implicit_fail2.cpp ;
+compile-fail ref_rv_fail1.cpp
+ : $(warning-as-errors-off) ;
+compile-fail ref_rv_fail2.cpp
+ : $(warning-as-errors-off) ;
+compile-fail ref_rv_fail3.cpp
+ : $(warning-as-errors-off) ;
+compile-fail ref_rv_fail4.cpp
+ : $(warning-as-errors-off) ;
+compile-fail ref_rv_fail5.cpp
+ : $(warning-as-errors-off) ;
+compile-fail ref_implicit_fail.cpp
+ : $(warning-as-errors-off) ;
+compile-fail ref_implicit_fail2.cpp
+ : $(warning-as-errors-off) ;
+compile-fail ref_implicit_fail3.cpp
+ : $(warning-as-errors-off) ;
+compile-fail ref_implicit_fail4.cpp
+ : $(warning-as-errors-off) ;
run ref_cv_test.cpp ;
+run ref_conversion_test.cpp ;
-run eif_constructors.cpp ;
-run eif_dummy_arg_disambiguation.cpp ;
-run eif_lazy.cpp ;
-run eif_lazy_test.cpp ;
-run eif_member_templates.cpp ;
-run eif_namespace_disambiguation.cpp ;
-run eif_no_disambiguation.cpp ;
-run eif_partial_specializations.cpp ;
+run eif_constructors.cpp : ;
+run eif_dummy_arg_disambiguation.cpp : ;
+run eif_lazy.cpp : ;
+run eif_lazy_test.cpp : ;
+run eif_member_templates.cpp : ;
+run eif_namespace_disambiguation.cpp : ;
+run eif_no_disambiguation.cpp : ;
+run eif_partial_specializations.cpp : ;
-compile-fail noncopyable_compile_fail.cpp ;
+compile-fail noncopyable_compile_fail.cpp
+ : $(warning-as-errors-off) ;
run explicit_operator_bool.cpp ;
run explicit_operator_bool_noexcept.cpp ;
-compile-fail explicit_operator_bool_compile_fail_conv_int.cpp ;
-compile-fail explicit_operator_bool_compile_fail_conv_pvoid.cpp ;
-compile-fail explicit_operator_bool_compile_fail_delete.cpp ;
-compile-fail explicit_operator_bool_compile_fail_shift.cpp ;
+compile-fail explicit_operator_bool_compile_fail_conv_int.cpp
+ : $(warning-as-errors-off) ;
+compile-fail explicit_operator_bool_compile_fail_conv_pvoid.cpp
+ : $(warning-as-errors-off) ;
+compile-fail explicit_operator_bool_compile_fail_delete.cpp
+ : $(warning-as-errors-off) ;
+compile-fail explicit_operator_bool_compile_fail_shift.cpp
+ : $(warning-as-errors-off) ;
-compile ignore_unused_test.cpp
- : <warnings>extra
- <toolset>gcc:<warnings-as-errors>on
- <toolset>clang:<warnings-as-errors>on
- <toolset>msvc:<warnings-as-errors>on ;
+compile ignore_unused_test.cpp ;
run sp_typeinfo_test.cpp ;
run sp_typeinfo_test.cpp : : : <rtti>off : sp_typeinfo_test_no_rtti ;
: : : $(pedantic-errors) ;
run lightweight_test_test5.cpp
: : : $(pedantic-errors)
- <toolset>gcc-4.4.7:<cxxflags>-Wno-sign-compare ;
+ <toolset>gcc-4.4.7:<cxxflags>-Wno-sign-compare
+ <toolset>gcc-4.4:<cxxflags>-Wno-sign-compare
+ ;
+run lightweight_test_test6.cpp
+ : : : $(pedantic-errors) ;
run-fail lightweight_test_all_eq_test.cpp ;
run-fail lightweight_test_all_with_fail.cpp ;
run-fail lightweight_test_fail5.cpp ;
run-fail lightweight_test_fail6.cpp ;
run-fail lightweight_test_fail7.cpp ;
-run-fail lightweight_test_fail7.cpp : : : <rtti>off : lightweight_test_fail7_no_rtti ;
+run-fail lightweight_test_fail7.cpp : : : <rtti>off <toolset>gcc-4.4:<build>no : lightweight_test_fail7_no_rtti ;
run-fail lightweight_test_fail8.cpp ;
-run-fail lightweight_test_fail8.cpp : : : <rtti>off : lightweight_test_fail8_no_rtti ;
+run-fail lightweight_test_fail8.cpp : : : <rtti>off <toolset>gcc-4.4:<build>no : lightweight_test_fail8_no_rtti ;
run-fail lightweight_test_fail9.cpp ;
run-fail lightweight_test_fail10.cpp ;
run-fail lightweight_test_fail11.cpp : ;
run-fail lightweight_test_fail12.cpp ;
run-fail lightweight_test_fail13.cpp ;
run-fail lightweight_test_fail14.cpp ;
+run-fail lightweight_test_fail15.cpp ;
run-fail lightweight_test_lt_fail.cpp ;
run-fail lightweight_test_le_fail.cpp ;
run-fail lightweight_test_gt_fail.cpp ;
run demangled_name_test.cpp : : : <rtti>off <test-info>always_show_run_output : demangled_name_test_no_rtti ;
run scoped_enum.cpp ;
-compile-fail scoped_enum_compile_fail_conv_from_int.cpp ;
-compile-fail scoped_enum_compile_fail_conv_to_int.cpp ;
+compile-fail scoped_enum_compile_fail_conv_from_int.cpp
+ : $(warning-as-errors-off) ;
+compile-fail scoped_enum_compile_fail_conv_to_int.cpp
+ : $(warning-as-errors-off) ;
run underlying_type.cpp ;
run pointer_traits_difference_type_test.cpp ;
run pointer_traits_rebind_test.cpp ;
run pointer_traits_pointer_to_test.cpp ;
+run pointer_traits_sfinae_test.cpp ;
+run pointer_traits_rebind_sfinae_test.cpp ;
+run pointer_traits_pointer_to_sfinae_test.cpp ;
run to_address_test.cpp ;
run exchange_test.cpp ;
<toolset>msvc:<warnings-as-errors>on
<toolset>gcc:<warnings-as-errors>on
<toolset>clang:<warnings-as-errors>on ;
+run default_allocator_allocate_hint_test.cpp ;
run noinit_adaptor_test.cpp ;
run alloc_construct_test.cpp ;
run allocator_deallocate_test.cpp ;
run allocator_max_size_test.cpp ;
run allocator_soccc_test.cpp ;
+run allocator_traits_test.cpp ;
lib lib_typeid : lib_typeid.cpp : <link>shared:<define>LIB_TYPEID_DYN_LINK=1 ;
run test_lib_typeid.cpp lib_typeid : : : <link>shared <rtti>off : test_lib_typeid_shared_no_rtti ;
run test_lib_typeid.cpp lib_typeid : : : <link>static <rtti>off : test_lib_typeid_static_no_rtti ;
+run test_lib_typeid2.cpp lib_typeid : : : <link>shared : test_lib_typeid2_shared ;
+run test_lib_typeid2.cpp lib_typeid : : : <link>static : test_lib_typeid2_static ;
+
+run test_lib_typeid2.cpp lib_typeid : : : <link>shared <rtti>off : test_lib_typeid2_shared_no_rtti ;
+run test_lib_typeid2.cpp lib_typeid : : : <link>static <rtti>off : test_lib_typeid2_static_no_rtti ;
+
run uncaught_exceptions.cpp
: : : <exception-handling>on ;
run uncaught_exceptions_np.cpp
: : : <exception-handling>on ;
-run no_exceptions_support_test.cpp ;
+run no_exceptions_support_test.cpp : ;
run no_exceptions_support_test.cpp : : : <exception-handling>off : no_exceptions_support_test_nx ;
+run cmath_test.cpp
+ : : : $(pedantic-errors) ;
+run cmath_test.cpp : : : <define>BOOST_CORE_USE_GENERIC_CMATH <toolset>msvc-8.0:<build>no : cmath_test_generic ;
+
+run bit_cast_test.cpp
+ : : : $(pedantic-errors) ;
+run bit_rotate_test.cpp
+ : : : $(pedantic-errors) ;
+run bit_countr_test.cpp
+ : : : $(pedantic-errors) ;
+run bit_countl_test.cpp
+ : : : $(pedantic-errors) ;
+run bit_width_test.cpp
+ : : : $(pedantic-errors) ;
+run has_single_bit_test.cpp
+ : : : $(pedantic-errors) ;
+run bit_floor_test.cpp
+ : : : $(pedantic-errors) ;
+run bit_ceil_test.cpp
+ : : : $(pedantic-errors) ;
+run bit_popcount_test.cpp
+ : : : $(pedantic-errors) ;
+run bit_endian_test.cpp
+ : : : $(pedantic-errors) ;
+
+run type_name_test.cpp ;
+
+run sv_types_test.cpp ;
+run sv_construct_test.cpp ;
+run sv_iteration_test.cpp ;
+run sv_element_access_test.cpp ;
+run sv_modifiers_test.cpp ;
+run sv_copy_test.cpp ;
+run sv_substr_test.cpp ;
+run sv_compare_test.cpp ;
+run sv_starts_with_test.cpp ;
+run sv_ends_with_test.cpp ;
+run sv_find_test.cpp ;
+run sv_rfind_test.cpp ;
+run sv_find_first_of_test.cpp
+ : : : <toolset>gcc-4.4:<cxxflags>-Wno-type-limits ;
+run sv_find_last_of_test.cpp
+ : : : <toolset>gcc-4.4:<cxxflags>-Wno-type-limits ;
+run sv_find_first_not_of_test.cpp
+ : : : <toolset>gcc-4.4:<cxxflags>-Wno-type-limits ;
+run sv_find_last_not_of_test.cpp
+ : : : <toolset>gcc-4.4:<cxxflags>-Wno-type-limits ;
+run sv_contains_test.cpp ;
+run sv_eq_test.cpp ;
+run sv_lt_test.cpp ;
+run sv_stream_insert_test.cpp ;
+run sv_conversion_test.cpp ;
+run sv_conversion_test2.cpp : ;
+run sv_common_reference_test.cpp ;
+compile sv_common_reference_test2.cpp ;
+compile sv_windows_h_test.cpp ;
+
+run span_test.cpp ;
+run span_types_test.cpp ;
+run span_constructible_test.cpp ;
+run span_deduction_guide_test.cpp ;
+run as_bytes_test.cpp ;
+run as_writable_bytes_test.cpp ;
+
+run splitmix64_test.cpp
+ : : : $(pedantic-errors) ;
+
+run-fail verbose_terminate_handler_fail.cpp : ;
+run-fail verbose_terminate_handler_fail.cpp : : : <exception-handling>off : verbose_terminate_handler_fail_nx ;
+run-fail verbose_terminate_handler_fail.cpp : : : <rtti>off : verbose_terminate_handler_fail_nr ;
+run-fail verbose_terminate_handler_fail.cpp : : : <exception-handling>off <rtti>off : verbose_terminate_handler_fail_nxr ;
+
use-project /boost/core/swap : ./swap ;
build-project ./swap ;