1 # Boost.SmartPtr Library test Jamfile
3 # Copyright (c) 2003-2018 Peter Dimov
4 # Copyright (c) 2003 Dave Abrahams
6 # Distributed under the Boost Software License, Version 1.0. (See
7 # accompanying file LICENSE_1_0.txt or copy at
8 # http://www.boost.org/LICENSE_1_0.txt)
14 <toolset>gcc:<cxxflags>-Wno-non-virtual-dtor
15 <toolset>gcc:<cxxflags>-Wno-deprecated-declarations
16 #<toolset>gcc:<cxxflags>-Wno-delete-non-virtual-dtor (not in 4.4/4.6)
23 run smart_ptr_test.cpp ;
24 run shared_ptr_basic_test.cpp ;
25 run shared_ptr_test.cpp ;
26 run weak_ptr_test.cpp ;
27 run weak_ptr_move_test.cpp ;
28 run shared_from_this_test.cpp ;
29 run get_deleter_test.cpp ;
30 run intrusive_ptr_test.cpp ;
31 run intrusive_ptr_move_test.cpp ;
32 run intrusive_ref_counter_test.cpp ;
33 run atomic_count_test.cpp ;
34 run lw_mutex_test.cpp ;
35 run lw_mutex_test.cpp : : : <define>BOOST_USE_WINDOWS_H : lw_mutex_test.win_h ;
36 compile-fail shared_ptr_assign_fail.cpp ;
37 compile-fail shared_ptr_delete_fail.cpp ;
38 compile-fail shared_ptr_compare_fail.cpp ;
39 run shared_ptr_alloc2_test.cpp ;
40 run pointer_cast_test.cpp ;
41 run cpp11_pointer_cast_test.cpp ;
42 compile pointer_to_other_test.cpp ;
43 run auto_ptr_rv_test.cpp ;
44 run shared_ptr_alias_test.cpp ;
45 run shared_ptr_rv_test.cpp ;
46 run shared_ptr_rv_pointer_cast_test.cpp ;
47 run shared_ptr_move_test.cpp ;
48 run shared_ptr_alias_move_test.cpp ;
49 run shared_ptr_reinterpret_pointer_cast_test.cpp ;
50 compile-fail shared_ptr_pv_fail.cpp ;
51 run sp_unary_addr_test.cpp ;
52 compile-fail scoped_ptr_eq_fail.cpp ;
53 compile-fail scoped_array_eq_fail.cpp ;
54 run esft_regtest.cpp ;
55 run yield_k_test.cpp ;
56 run yield_k_test.cpp : : : <threading>multi : yield_k_test.mt ;
57 run spinlock_test.cpp ;
58 run spinlock_try_test.cpp ;
59 run spinlock_try_test.cpp : : : <threading>multi : spinlock_try_test.mt ;
60 run spinlock_pool_test.cpp
62 # msvc-8.0, 9.0 optimizer codegen bug for `x % 41`
63 <toolset>msvc-8.0,<variant>release:<build>no
64 <toolset>msvc-9.0,<variant>release:<build>no ;
66 run make_shared_test.cpp ;
67 run make_shared_move_emulation_test.cpp ;
68 run make_shared_perfect_forwarding_test.cpp ;
69 run shared_ptr_convertible_test.cpp ;
70 run wp_convertible_test.cpp ;
71 run ip_convertible_test.cpp ;
72 run allocate_shared_test.cpp ;
73 run sp_atomic_test.cpp ;
74 run esft_void_test.cpp ;
75 run esft_second_ptr_test.cpp ;
76 run make_shared_esft_test.cpp ;
77 run allocate_shared_esft_test.cpp ;
78 run sp_recursive_assign_test.cpp ;
79 run sp_recursive_assign2_test.cpp ;
80 run sp_recursive_assign_rv_test.cpp ;
81 run sp_recursive_assign2_rv_test.cpp ;
83 compile-fail auto_ptr_lv_fail.cpp
84 : <toolset>gcc-4.4.7:<build>no <toolset>gcc-4.4:<build>no ;
86 run atomic_count_test2.cpp ;
87 run sp_typeinfo_test.cpp ;
88 compile make_shared_fp_test.cpp ;
89 run sp_hash_test.cpp ;
90 run get_deleter_array_test.cpp ;
91 run ip_hash_test.cpp ;
92 run owner_less_test.cpp ;
93 run sp_unique_ptr_test.cpp ;
94 run sp_array_test.cpp ;
95 compile sp_array_cv_test.cpp ;
96 run sp_convertible_test.cpp ;
97 run sp_array_n_test.cpp ;
98 run sp_array_cast_test.cpp ;
99 run sp_zero_compare_test.cpp ;
100 run sp_nullptr_test.cpp ;
101 run sa_nullptr_test.cpp ;
102 run shared_ptr_alloc3_test.cpp ;
103 run shared_ptr_alloc11_test.cpp ;
104 run shared_ptr_alloc_construct11_test.cpp ;
105 run allocate_shared_alloc11_test.cpp ;
106 run allocate_shared_construct11_test.cpp ;
107 run sp_interlocked_test.cpp ;
109 compile-fail array_fail_spa_sp_c.cpp ;
110 compile-fail array_fail_sp_spa_c.cpp ;
111 compile-fail array_fail_spa_spa_c.cpp ;
112 compile-fail array_fail_spa_wp_c.cpp ;
113 compile-fail array_fail_sp_wpa_c.cpp ;
114 compile-fail array_fail_spa_wpa_c.cpp ;
115 compile-fail array_fail_wpa_wp_c.cpp ;
116 compile-fail array_fail_wp_wpa_c.cpp ;
117 compile-fail array_fail_wpa_wpa_c.cpp ;
118 compile-fail array_fail_ap_spa_c.cpp ;
119 compile-fail array_fail_upa_sp_c.cpp ;
120 compile-fail array_fail_up_spa_c.cpp ;
122 compile-fail array_fail_spa_sp_mc.cpp ;
123 compile-fail array_fail_sp_spa_mc.cpp ;
124 compile-fail array_fail_spa_spa_mc.cpp ;
125 compile-fail array_fail_spa_wp_mc.cpp ;
126 compile-fail array_fail_sp_wpa_mc.cpp ;
127 compile-fail array_fail_spa_wpa_mc.cpp ;
128 compile-fail array_fail_wpa_wp_mc.cpp ;
129 compile-fail array_fail_wp_wpa_mc.cpp ;
130 compile-fail array_fail_wpa_wpa_mc.cpp ;
131 compile-fail array_fail_ap_spa_mc.cpp ;
132 compile-fail array_fail_upa_sp_mc.cpp ;
133 compile-fail array_fail_up_spa_mc.cpp ;
135 compile-fail array_fail_spa_sp_a.cpp ;
136 compile-fail array_fail_sp_spa_a.cpp ;
137 compile-fail array_fail_spa_spa_a.cpp ;
138 compile-fail array_fail_spa_wp_a.cpp ;
139 compile-fail array_fail_sp_wpa_a.cpp ;
140 compile-fail array_fail_spa_wpa_a.cpp ;
141 compile-fail array_fail_wpa_wp_a.cpp ;
142 compile-fail array_fail_wp_wpa_a.cpp ;
143 compile-fail array_fail_wpa_wpa_a.cpp ;
144 compile-fail array_fail_ap_spa_a.cpp ;
145 compile-fail array_fail_upa_sp_a.cpp ;
146 compile-fail array_fail_up_spa_a.cpp ;
148 compile-fail array_fail_spa_sp_ma.cpp ;
149 compile-fail array_fail_sp_spa_ma.cpp ;
150 compile-fail array_fail_spa_spa_ma.cpp ;
151 compile-fail array_fail_spa_wp_ma.cpp ;
152 compile-fail array_fail_sp_wpa_ma.cpp ;
153 compile-fail array_fail_spa_wpa_ma.cpp ;
154 compile-fail array_fail_wpa_wp_ma.cpp ;
155 compile-fail array_fail_wp_wpa_ma.cpp ;
156 compile-fail array_fail_wpa_wpa_ma.cpp ;
157 compile-fail array_fail_ap_spa_ma.cpp ;
158 compile-fail array_fail_upa_sp_ma.cpp ;
159 compile-fail array_fail_up_spa_ma.cpp ;
161 compile-fail array_fail_dereference.cpp ;
162 compile-fail array_fail_member_access.cpp ;
163 compile-fail array_fail_array_access.cpp ;
165 run make_shared_array_test.cpp
166 : : : <toolset>msvc-8.0:<build>no ;
167 run make_shared_arrays_test.cpp ;
168 run make_shared_array_throws_test.cpp
169 : : : <toolset>msvc-8.0:<build>no ;
170 run make_shared_array_esft_test.cpp
171 : : : <toolset>msvc-8.0:<build>no ;
172 run make_shared_array_noinit_test.cpp
173 : : : <toolset>msvc-8.0:<build>no ;
174 run make_shared_array_value_test.cpp
175 : : : <toolset>msvc-8.0:<build>no ;
176 run allocate_shared_array_test.cpp ;
177 run allocate_shared_arrays_test.cpp ;
178 run allocate_shared_array_throws_test.cpp
179 : : : <toolset>msvc-8.0:<build>no ;
180 run allocate_shared_array_esft_test.cpp
181 : : : <toolset>msvc-8.0:<build>no ;
182 run allocate_shared_array_noinit_test.cpp
183 : : : <toolset>msvc-8.0:<build>no ;
184 run allocate_shared_array_value_test.cpp
185 : : : <toolset>msvc-8.0:<build>no ;
186 run allocate_shared_array_construct_test.cpp ;
188 run make_unique_test.cpp ;
189 run make_unique_args_test.cpp ;
190 run make_unique_value_test.cpp
191 : : : <toolset>gcc-4.6:<cxxflags>-fno-deduce-init-list ;
192 run make_unique_noinit_test.cpp ;
193 run make_unique_throws_test.cpp ;
194 run make_unique_array_test.cpp ;
195 run make_unique_array_noinit_test.cpp ;
196 run make_unique_array_throws_test.cpp ;
198 run shared_from_raw_test.cpp ;
199 run shared_from_raw_test2.cpp ;
200 run shared_from_raw_test3.cpp ;
201 run shared_from_raw_test4.cpp ;
202 run shared_from_raw_test5.cpp ;
203 run shared_from_raw_test6.cpp ;
205 run weak_from_raw_test.cpp ;
206 run weak_from_raw_test2.cpp ;
207 run weak_from_raw_test3.cpp ;
208 run weak_from_raw_test4.cpp ;
209 run weak_from_raw_test5.cpp ;
211 compile sp_explicit_inst_test.cpp ;
213 run weak_from_this_test.cpp ;
214 run weak_from_this_test2.cpp ;
216 run sp_bml_unique_ptr_test.cpp ;
218 run sp_hash_test2.cpp ;
219 run sp_hash_test3.cpp ;
221 run pointer_cast_test2.cpp ;
223 compile-fail pointer_cast_st_fail.cpp ;
224 compile-fail pointer_cast_st_fail2.cpp ;
225 compile-fail pointer_cast_st_fail3.cpp ;
227 compile-fail pointer_cast_co_fail.cpp ;
228 compile-fail pointer_cast_co_fail2.cpp ;
229 compile-fail pointer_cast_co_fail3.cpp ;
231 compile-fail pointer_cast_dy_fail.cpp ;
232 compile-fail pointer_cast_dy_fail2.cpp ;
233 compile-fail pointer_cast_dy_fail3.cpp ;
235 run sp_nothrow_test.cpp ;
237 compile make_shared_msvc_test.cpp ;
239 compile lwm_win32_cs_test.cpp ;
241 run atomic_sp_test.cpp ;
243 run sp_constexpr_test.cpp ;
244 run sp_constexpr_test2.cpp ;
246 run atomic_sp_constexpr_test.cpp ;
248 run shared_ptr_fn_test.cpp ;
250 run get_deleter_test2.cpp ;
251 run get_deleter_test3.cpp ;
252 run get_deleter_array_test2.cpp ;
253 run get_deleter_array_test3.cpp
254 : : : <toolset>msvc-8.0:<build>no ;
256 run sp_convertible_test2.cpp ;
258 run local_sp_test.cpp ;
259 run lsp_array_test.cpp ;
260 run lsp_array_n_test.cpp ;
261 run lsp_array_cv_test.cpp ;
262 run lsp_array_cast_test.cpp ;
264 run get_local_deleter_test.cpp ;
265 run get_local_deleter_test2.cpp ;
266 run get_local_deleter_test3.cpp ;
267 run get_local_deleter_array_test.cpp ;
268 run get_local_deleter_array_test2.cpp ;
270 run make_local_shared_test.cpp ;
271 run make_local_shared_esft_test.cpp ;
272 run allocate_local_shared_test.cpp ;
273 run allocate_local_shared_esft_test.cpp ;
275 run make_local_shared_array_test.cpp ;
276 run make_local_shared_arrays_test.cpp
277 : : : <toolset>gcc-4.6.3_0x:<cxxflags>-fno-deduce-init-list ;
278 run make_local_shared_array_throws_test.cpp ;
279 run make_local_shared_array_esft_test.cpp ;
280 run make_local_shared_array_noinit_test.cpp ;
281 run make_local_shared_array_value_test.cpp ;
282 run allocate_local_shared_array_test.cpp ;
283 run allocate_local_shared_arrays_test.cpp
284 : : : <toolset>gcc-4.6.3_0x:<cxxflags>-fno-deduce-init-list ;
285 run allocate_local_shared_array_throws_test.cpp ;
286 run allocate_local_shared_array_esft_test.cpp ;
287 run allocate_local_shared_array_noinit_test.cpp ;
288 run allocate_local_shared_array_value_test.cpp ;
289 run allocate_local_shared_array_construct_test.cpp ;
291 run local_sp_fn_test.cpp ;
292 run lsp_convertible_test.cpp ;
293 run lsp_convertible_test2.cpp ;
295 run make_shared_array_tmp_test.cpp
296 : : : <toolset>msvc-8.0:<build>no ;
298 run lw_thread_test.cpp
299 : : : <threading>multi ;
301 compile sp_windows_h_test.cpp ;
302 compile spinlock_windows_h_test.cpp ;
303 compile yield_k_windows_h_test.cpp ;
305 lib dll_test : dll_test_lib.cpp : <link>shared:<define>DLL_TEST_DYN_LINK=1 ;
308 run dll_test_main.cpp dll_test : : : <link>static : dll_test_static ;
309 run dll_test_main.cpp dll_test : : : <link>shared : dll_test_shared ;
311 run make_shared_const_test.cpp ;
312 run make_local_shared_const_test.cpp ;
314 lib abi_test_mt : abi_test_lib.cpp : <link>static ;
315 explicit abi_test_mt ;
317 obj abi_test_lib_nt : abi_test_lib.cpp : <define>BOOST_DISABLE_THREADS ;
318 explicit abi_test_lib_nt ;
320 lib abi_test_nt : abi_test_lib_nt : <link>static ;
321 explicit abi_test_nt ;
323 run abi_test_main.cpp abi_test_mt : : : <define>BOOST_DISABLE_THREADS : abi_test_nt_mt ;
324 run abi_test_main.cpp abi_test_nt : : : : abi_test_mt_nt ;
326 run abi_test_main.cpp abi_test_mt/<cxxstd>0x : : : <cxxstd>98 : abi_test_03_11 ;
327 run abi_test_main.cpp abi_test_mt/<cxxstd>98 : : : <cxxstd>0x : abi_test_11_03 ;
329 run weak_ptr_alias_test.cpp ;
330 run weak_ptr_alias_move_test.cpp ;
332 run sp_typeinfo_test.cpp : : : <rtti>off : sp_typeinfo_test_no_rtti ;
334 run get_deleter_test.cpp : : : <rtti>off <toolset>gcc-4.4.7,<cxxstd>0x:<build>no <toolset>gcc-4.4,<cxxstd>0x:<build>no : get_deleter_test_no_rtti ;
335 run get_deleter_test2.cpp : : : <rtti>off <toolset>gcc-4.4.7,<cxxstd>0x:<build>no <toolset>gcc-4.4,<cxxstd>0x:<build>no : get_deleter_test2_no_rtti ;
336 run get_deleter_test3.cpp : : : <rtti>off <toolset>gcc-4.4.7,<cxxstd>0x:<build>no <toolset>gcc-4.4,<cxxstd>0x:<build>no : get_deleter_test3_no_rtti ;
338 run shared_from_test.cpp ;
339 run weak_from_test.cpp ;
340 run weak_from_test2.cpp ;
342 run allocate_unique_aggregate_test.cpp ;
343 run allocate_unique_args_test.cpp ;
344 run allocate_unique_array_construct_test.cpp ;
345 run allocate_unique_array_noinit_test.cpp ;
346 run allocate_unique_arrays_test.cpp ;
347 run allocate_unique_array_test.cpp ;
348 run allocate_unique_array_throws_test.cpp ;
349 run allocate_unique_array_value_test.cpp ;
350 run allocate_unique_construct_test.cpp ;
351 run allocate_unique_noinit_test.cpp ;
352 run allocate_unique_test.cpp ;
353 run allocate_unique_throws_test.cpp ;
354 run allocate_unique_value_test.cpp ;
355 run get_allocator_pointer_test.cpp ;
357 run sp_guides_test.cpp ;
358 run sp_guides_test2.cpp ;
359 run wp_guides_test.cpp ;
361 compile-fail shared_from_fail.cpp ;
362 compile-fail weak_from_fail.cpp ;
364 compile sp_override_test.cpp ;
365 compile sp_pedantic_test.cpp
367 <toolset>msvc:<warnings-as-errors>on
368 <toolset>gcc:<warnings-as-errors>on
369 <toolset>clang:<warnings-as-errors>on ;
371 run sp_owner_before_test.cpp ;
372 run sp_owner_equals_test.cpp ;
373 run lsp_owner_before_test.cpp ;
374 run lsp_owner_equals_test.cpp ;
376 run owner_equal_to_test.cpp ;
377 run owner_equal_to_test2.cpp ;
379 run owner_less_test2.cpp ;
381 run ip_hash_test2.cpp ;
382 run sp_hash_test4.cpp ;
383 run lsp_hash_test.cpp ;
384 run lsp_hash_test2.cpp ;
386 run atomic_count_mt_test.cpp
387 : : : <threading>multi ;
389 run spinlock_mt_test.cpp
390 : : : <threading>multi ;
392 run spinlock_pool_mt_test.cpp
393 : : : <threading>multi ;
395 run shared_ptr_mt_test.cpp
396 : : : <threading>multi ;
398 run weak_ptr_mt_test.cpp
399 : : : <threading>multi ;
401 compile sp_report_implementation.cpp ;
403 run sp_owner_hash_value_test.cpp ;
405 run wp_hash_test.cpp ;
406 run wp_hash_test2.cpp ;
408 run wp_unordered_test.cpp ;
410 run owner_hash_test.cpp ;
411 run sp_unordered_test.cpp ;
413 run sp_unique_ptr_test2.cpp ;
414 run sp_move_only_deleter.cpp ;