2006-05-17 17:19:16 +00:00
|
|
|
|
2008-03-27 23:38:01 +00:00
|
|
|
# Copyright 2006-2008 Daniel James.
|
2023-02-14 09:08:38 -08:00
|
|
|
# Copyright 2022-2023 Christian Mazakas
|
2006-07-01 22:31:26 +00:00
|
|
|
# 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)
|
2006-05-17 17:19:16 +00:00
|
|
|
|
2016-07-02 22:11:43 +01:00
|
|
|
import testing ;
|
|
|
|
|
2022-02-10 03:58:40 +02:00
|
|
|
# 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
|
2016-07-02 22:11:43 +01:00
|
|
|
: requirements
|
2022-02-10 03:58:40 +02:00
|
|
|
|
2021-12-21 00:46:45 +02:00
|
|
|
<warnings>pedantic
|
2016-07-02 22:11:43 +01:00
|
|
|
<toolset>intel:<warnings>on
|
2022-02-10 03:58:40 +02:00
|
|
|
|
|
|
|
<toolset>gcc:<cxxflags>$(gcc-flags)
|
|
|
|
<toolset>darwin:<cxxflags>$(gcc-flags)
|
|
|
|
<toolset>clang:<cxxflags>$(clang-flags)
|
|
|
|
<toolset>msvc:<cxxflags>$(msvc-flags)
|
|
|
|
|
2022-06-27 19:56:22 +03:00
|
|
|
<toolset>gcc-4.4:<cxxflags>-Wno-strict-aliasing
|
2022-06-27 20:24:25 +03:00
|
|
|
<toolset>gcc-4.4:<cxxflags>-fno-deduce-init-list
|
2023-02-14 09:08:38 -08:00
|
|
|
<toolset>clang-14:<cxxflags>-Wunused-template
|
2022-06-27 19:56:22 +03:00
|
|
|
|
2022-02-10 22:31:48 +02:00
|
|
|
<toolset>gcc:<warnings-as-errors>on
|
|
|
|
<toolset>clang:<warnings-as-errors>on
|
|
|
|
<toolset>msvc:<warnings-as-errors>on
|
2016-07-02 22:11:43 +01:00
|
|
|
;
|
|
|
|
|
2022-10-13 11:58:20 -07:00
|
|
|
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 : : : <define>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 : <define>UNORDERED_TEST_MAP : insert_node_type_fail_map ;
|
|
|
|
compile-fail unordered/insert_node_type_fail.cpp : <define>UNORDERED_TEST_MULTIMAP : insert_node_type_fail_multimap ;
|
|
|
|
compile-fail unordered/insert_node_type_fail.cpp : <define>UNORDERED_TEST_SET : insert_node_type_fail_set ;
|
|
|
|
compile-fail unordered/insert_node_type_fail.cpp : <define>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 : : : <toolset>msvc-14.0:<build>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 : : : <define>BOOST_UNORDERED_USE_MOVE : bmove_compile_set ;
|
|
|
|
run unordered/compile_map.cpp : : : <define>BOOST_UNORDERED_USE_MOVE : bmove_compile_map ;
|
|
|
|
run unordered/copy_tests.cpp : : : <define>BOOST_UNORDERED_USE_MOVE : bmove_copy ;
|
|
|
|
run unordered/move_tests.cpp : : : <define>BOOST_UNORDERED_USE_MOVE : bmove_move ;
|
|
|
|
run unordered/assign_tests.cpp : : : <define>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 : : : <define>BOOST_UNORDERED_SWAP_METHOD=2 ;
|
|
|
|
run exception/merge_exception_tests.cpp ;
|
2023-02-14 09:06:39 -08:00
|
|
|
run exception/less_tests.cpp ;
|
2022-10-13 11:58:20 -07:00
|
|
|
|
2022-12-08 12:25:27 -08:00
|
|
|
run unordered/narrow_cast_tests.cpp ;
|
2022-10-13 11:58:20 -07:00
|
|
|
run quick.cpp ;
|
2022-10-03 12:17:46 -07:00
|
|
|
|
2022-10-24 08:21:54 -07:00
|
|
|
import ../../config/checks/config : requires ;
|
|
|
|
|
2022-10-24 11:17:24 -07:00
|
|
|
CPP11 = [ requires cxx11_constexpr cxx11_noexcept cxx11_decltype cxx11_alignas ] ;
|
2022-10-24 08:21:54 -07:00
|
|
|
|
2022-10-05 13:24:54 -07:00
|
|
|
rule build_foa ( name )
|
|
|
|
{
|
2022-10-24 08:21:54 -07:00
|
|
|
run unordered/$(name).cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_$(name) ;
|
2022-10-05 13:24:54 -07:00
|
|
|
}
|
|
|
|
|
2022-10-10 14:17:50 -07:00
|
|
|
build_foa fwd_set_test ;
|
|
|
|
build_foa fwd_map_test ;
|
2022-10-11 15:20:37 -07:00
|
|
|
build_foa compile_set ;
|
2022-10-12 13:37:12 -07:00
|
|
|
build_foa compile_map ;
|
2022-10-12 13:39:23 -07:00
|
|
|
build_foa noexcept_tests ;
|
2022-10-24 08:21:54 -07:00
|
|
|
run unordered/link_test_1.cpp unordered/link_test_2.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_link_test ;
|
2022-10-12 14:30:07 -07:00
|
|
|
build_foa incomplete_test ;
|
2022-10-12 15:19:11 -07:00
|
|
|
build_foa simple_tests ;
|
2022-10-13 11:59:44 -07:00
|
|
|
build_foa equivalent_keys_tests ;
|
2022-10-05 13:24:54 -07:00
|
|
|
build_foa constructor_tests ;
|
|
|
|
build_foa copy_tests ;
|
|
|
|
build_foa move_tests ;
|
2022-10-14 13:19:37 -07:00
|
|
|
build_foa post_move_tests ;
|
2022-10-05 13:24:54 -07:00
|
|
|
build_foa assign_tests ;
|
|
|
|
build_foa insert_tests ;
|
2022-10-05 13:30:59 -07:00
|
|
|
build_foa insert_hint_tests ;
|
2022-10-05 13:31:10 -07:00
|
|
|
build_foa emplace_tests ;
|
2022-10-05 13:24:54 -07:00
|
|
|
build_foa erase_tests ;
|
2022-10-13 13:16:36 -07:00
|
|
|
build_foa merge_tests ;
|
2022-10-05 13:24:54 -07:00
|
|
|
build_foa find_tests ;
|
2022-10-07 08:41:30 -07:00
|
|
|
build_foa at_tests ;
|
2022-10-07 10:56:47 -07:00
|
|
|
build_foa load_factor_tests ;
|
2022-10-07 10:56:35 -07:00
|
|
|
build_foa rehash_tests ;
|
2022-10-10 12:32:10 -07:00
|
|
|
build_foa equality_tests ;
|
|
|
|
build_foa swap_tests ;
|
2022-10-24 08:21:54 -07:00
|
|
|
run unordered/scoped_allocator.cpp : : : $(CPP11) <toolset>msvc-14.0:<build>no <define>BOOST_UNORDERED_FOA_TESTS : foa_scoped_allocator ;
|
2022-10-10 10:52:01 -07:00
|
|
|
build_foa transparent_tests ;
|
2022-10-13 15:42:06 -07:00
|
|
|
build_foa reserve_tests ;
|
2022-10-10 09:06:22 -07:00
|
|
|
build_foa contains_tests ;
|
2022-10-14 10:51:54 -07:00
|
|
|
build_foa erase_if ;
|
2022-10-14 11:28:40 -07:00
|
|
|
build_foa scary_tests ;
|
2022-10-20 14:59:33 -07:00
|
|
|
build_foa init_type_insert_tests ;
|
2022-11-01 09:05:18 -07:00
|
|
|
build_foa max_load_tests ;
|
2023-02-14 10:40:01 -08:00
|
|
|
build_foa extract_tests ;
|
2023-02-14 10:40:20 -08:00
|
|
|
build_foa node_handle_tests ;
|
2023-02-23 11:05:38 -08:00
|
|
|
build_foa uses_allocator ;
|
2022-10-17 13:19:29 -07:00
|
|
|
|
2022-10-30 13:40:20 +02:00
|
|
|
run unordered/hash_is_avalanching_test.cpp ;
|
2022-10-30 12:58:57 +02:00
|
|
|
|
2022-10-24 08:21:54 -07:00
|
|
|
run exception/constructor_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_constructor_exception_tests ;
|
|
|
|
run exception/copy_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_copy_exception_tests ;
|
|
|
|
run exception/assign_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_assign_exception_tests ;
|
|
|
|
run exception/move_assign_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_move_assign_exception_tests ;
|
|
|
|
run exception/insert_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_insert_exception_tests ;
|
|
|
|
run exception/erase_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_erase_exception_tests ;
|
|
|
|
run exception/rehash_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_rehash_exception_tests ;
|
|
|
|
run exception/swap_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_swap_exception_tests ;
|
|
|
|
run exception/merge_exception_tests.cpp : : : $(CPP11) <define>BOOST_UNORDERED_FOA_TESTS : foa_merge_exception_tests ;
|
2023-03-17 14:22:24 -07:00
|
|
|
|
2023-03-28 14:30:29 -07:00
|
|
|
alias foa_tests :
|
|
|
|
hash_is_avalanching_test
|
|
|
|
foa_fwd_set_test
|
|
|
|
foa_fwd_map_test
|
|
|
|
foa_compile_set
|
|
|
|
foa_compile_map
|
|
|
|
foa_noexcept_tests
|
|
|
|
foa_incomplete_test
|
|
|
|
foa_simple_tests
|
|
|
|
foa_equivalent_keys_tests
|
|
|
|
foa_constructor_tests
|
|
|
|
foa_copy_tests
|
|
|
|
foa_move_tests
|
|
|
|
foa_post_move_tests
|
|
|
|
foa_assign_tests
|
|
|
|
foa_insert_tests
|
|
|
|
foa_insert_hint_tests
|
|
|
|
foa_emplace_tests
|
|
|
|
foa_erase_tests
|
|
|
|
foa_merge_tests
|
|
|
|
foa_find_tests
|
|
|
|
foa_at_tests
|
|
|
|
foa_load_factor_tests
|
|
|
|
foa_rehash_tests
|
|
|
|
foa_equality_tests
|
|
|
|
foa_swap_tests
|
|
|
|
foa_transparent_tests
|
|
|
|
foa_reserve_tests
|
|
|
|
foa_contains_tests
|
|
|
|
foa_erase_if
|
|
|
|
foa_scary_tests
|
|
|
|
foa_init_type_insert_tests
|
|
|
|
foa_max_load_tests
|
|
|
|
foa_extract_tests
|
|
|
|
foa_node_handle_tests
|
|
|
|
foa_uses_allocator
|
|
|
|
foa_link_test
|
|
|
|
foa_scoped_allocator
|
|
|
|
foa_constructor_exception_tests
|
|
|
|
foa_copy_exception_tests
|
|
|
|
foa_assign_exception_tests
|
|
|
|
foa_move_assign_exception_tests
|
|
|
|
foa_insert_exception_tests
|
|
|
|
foa_erase_exception_tests
|
|
|
|
foa_rehash_exception_tests
|
|
|
|
foa_swap_exception_tests
|
|
|
|
foa_merge_exception_tests
|
|
|
|
;
|
|
|
|
|
2023-03-17 14:22:24 -07:00
|
|
|
rule build_cfoa ( name )
|
|
|
|
{
|
|
|
|
run cfoa/$(name).cpp : : : $(CPP11) : cfoa_$(name) ;
|
|
|
|
}
|
|
|
|
|
|
|
|
build_cfoa insert_tests ;
|
2023-03-29 15:00:54 -07:00
|
|
|
build_cfoa erase_tests ;
|
2023-04-04 15:16:52 -07:00
|
|
|
build_cfoa try_emplace_tests ;
|
2023-04-05 13:21:18 -07:00
|
|
|
build_cfoa emplace_tests ;
|
2023-04-06 13:42:57 -07:00
|
|
|
build_cfoa visit_tests ;
|
2023-03-22 11:19:13 -07:00
|
|
|
|
2023-04-04 15:16:52 -07:00
|
|
|
alias cfoa_tests :
|
|
|
|
cfoa_insert_tests
|
|
|
|
cfoa_erase_tests
|
|
|
|
cfoa_try_emplace_tests
|
2023-04-05 13:21:18 -07:00
|
|
|
cfoa_emplace_tests
|
2023-04-06 13:42:57 -07:00
|
|
|
cfoa_visit_tests
|
2023-04-04 15:16:52 -07:00
|
|
|
;
|