# Copyright 2006-2008 Daniel James. # Copyright 2022-2023 Christian Mazakas # 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) import testing ; # Adding -Wundef is blocked on (at least) # https://github.com/boostorg/type_traits/issues/165 local gcc-flags = -Wsign-promo -Wconversion -Wsign-conversion -Wfloat-equal -Wshadow -Wno-variadic-macros ; local clang-flags = $(gcc-flags) -Wno-c99-extensions ; local msvc-flags = /wd4494 ; project : requirements pedantic intel:on gcc:$(gcc-flags) darwin:$(gcc-flags) clang:$(clang-flags) msvc:$(msvc-flags) gcc-4.4:-Wno-strict-aliasing gcc-4.4:-fno-deduce-init-list clang-14:-Wunused-template gcc:on clang:on msvc:on ; run unordered/prime_fmod_tests.cpp ; run unordered/fwd_set_test.cpp ; run unordered/fwd_map_test.cpp ; run unordered/allocator_traits.cpp ; run unordered/minimal_allocator.cpp ; run unordered/compile_set.cpp ; run unordered/compile_map.cpp ; run unordered/noexcept_tests.cpp ; run unordered/link_test_1.cpp unordered/link_test_2.cpp ; run unordered/incomplete_test.cpp ; run unordered/simple_tests.cpp ; run unordered/equivalent_keys_tests.cpp ; run unordered/constructor_tests.cpp ; run unordered/copy_tests.cpp ; run unordered/move_tests.cpp ; run unordered/post_move_tests.cpp ; run unordered/assign_tests.cpp ; run unordered/insert_tests.cpp ; run unordered/insert_stable_tests.cpp ; run unordered/insert_hint_tests.cpp ; run unordered/emplace_tests.cpp ; run unordered/unnecessary_copy_tests.cpp ; run unordered/erase_tests.cpp : : : BOOST_UNORDERED_SUPPRESS_DEPRECATED ; run unordered/erase_equiv_tests.cpp ; run unordered/extract_tests.cpp ; run unordered/node_handle_tests.cpp ; run unordered/merge_tests.cpp ; compile-fail unordered/insert_node_type_fail.cpp : UNORDERED_TEST_MAP : insert_node_type_fail_map ; compile-fail unordered/insert_node_type_fail.cpp : UNORDERED_TEST_MULTIMAP : insert_node_type_fail_multimap ; compile-fail unordered/insert_node_type_fail.cpp : UNORDERED_TEST_SET : insert_node_type_fail_set ; compile-fail unordered/insert_node_type_fail.cpp : UNORDERED_TEST_MULTISET : insert_node_type_fail_multiset ; run unordered/find_tests.cpp ; run unordered/at_tests.cpp ; run unordered/bucket_tests.cpp ; run unordered/load_factor_tests.cpp ; run unordered/rehash_tests.cpp ; run unordered/equality_tests.cpp ; run unordered/swap_tests.cpp ; run unordered/deduction_tests.cpp ; run unordered/scoped_allocator.cpp : : : msvc-14.0:no ; run unordered/transparent_tests.cpp ; run unordered/reserve_tests.cpp ; run unordered/contains_tests.cpp ; run unordered/erase_if.cpp ; run unordered/scary_tests.cpp ; run unordered/compile_set.cpp : : : BOOST_UNORDERED_USE_MOVE : bmove_compile_set ; run unordered/compile_map.cpp : : : BOOST_UNORDERED_USE_MOVE : bmove_compile_map ; run unordered/copy_tests.cpp : : : BOOST_UNORDERED_USE_MOVE : bmove_copy ; run unordered/move_tests.cpp : : : BOOST_UNORDERED_USE_MOVE : bmove_move ; run unordered/assign_tests.cpp : : : BOOST_UNORDERED_USE_MOVE : bmove_assign ; run exception/constructor_exception_tests.cpp ; run exception/copy_exception_tests.cpp ; run exception/assign_exception_tests.cpp ; run exception/move_assign_exception_tests.cpp ; run exception/insert_exception_tests.cpp ; run exception/erase_exception_tests.cpp ; run exception/rehash_exception_tests.cpp ; run exception/swap_exception_tests.cpp : : : BOOST_UNORDERED_SWAP_METHOD=2 ; run exception/merge_exception_tests.cpp ; run exception/less_tests.cpp ; run unordered/narrow_cast_tests.cpp ; run quick.cpp ; import ../../config/checks/config : requires ; CPP11 = [ requires cxx11_constexpr cxx11_noexcept cxx11_decltype cxx11_alignas ] ; rule build_foa ( name ) { run unordered/$(name).cpp : : : $(CPP11) BOOST_UNORDERED_FOA_TESTS : foa_$(name) ; } build_foa fwd_set_test ; build_foa fwd_map_test ; build_foa compile_set ; build_foa compile_map ; build_foa noexcept_tests ; run unordered/link_test_1.cpp unordered/link_test_2.cpp : : : $(CPP11) BOOST_UNORDERED_FOA_TESTS : foa_link_test ; build_foa incomplete_test ; build_foa simple_tests ; build_foa equivalent_keys_tests ; build_foa constructor_tests ; build_foa copy_tests ; build_foa move_tests ; build_foa post_move_tests ; build_foa assign_tests ; build_foa insert_tests ; build_foa insert_hint_tests ; build_foa emplace_tests ; build_foa erase_tests ; build_foa merge_tests ; build_foa find_tests ; build_foa at_tests ; build_foa load_factor_tests ; build_foa rehash_tests ; build_foa equality_tests ; build_foa swap_tests ; run unordered/scoped_allocator.cpp : : : $(CPP11) msvc-14.0:no BOOST_UNORDERED_FOA_TESTS : foa_scoped_allocator ; build_foa transparent_tests ; build_foa reserve_tests ; build_foa contains_tests ; build_foa erase_if ; build_foa scary_tests ; build_foa init_type_insert_tests ; build_foa max_load_tests ; build_foa extract_tests ; build_foa node_handle_tests ; build_foa uses_allocator ; run unordered/hash_is_avalanching_test.cpp ; run exception/constructor_exception_tests.cpp : : : $(CPP11) BOOST_UNORDERED_FOA_TESTS : foa_constructor_exception_tests ; run exception/copy_exception_tests.cpp : : : $(CPP11) BOOST_UNORDERED_FOA_TESTS : foa_copy_exception_tests ; run exception/assign_exception_tests.cpp : : : $(CPP11) BOOST_UNORDERED_FOA_TESTS : foa_assign_exception_tests ; run exception/move_assign_exception_tests.cpp : : : $(CPP11) BOOST_UNORDERED_FOA_TESTS : foa_move_assign_exception_tests ; run exception/insert_exception_tests.cpp : : : $(CPP11) BOOST_UNORDERED_FOA_TESTS : foa_insert_exception_tests ; run exception/erase_exception_tests.cpp : : : $(CPP11) BOOST_UNORDERED_FOA_TESTS : foa_erase_exception_tests ; run exception/rehash_exception_tests.cpp : : : $(CPP11) BOOST_UNORDERED_FOA_TESTS : foa_rehash_exception_tests ; run exception/swap_exception_tests.cpp : : : $(CPP11) BOOST_UNORDERED_FOA_TESTS : foa_swap_exception_tests ; run exception/merge_exception_tests.cpp : : : $(CPP11) BOOST_UNORDERED_FOA_TESTS : foa_merge_exception_tests ;