Commit Graph
329 Commits
Author SHA1 Message Date
Peter Dimov 4025698fe8 Change atomic operations to take an arbitrary MemoryOrder type, to fix test breakage caused by transition to scoped enum in Boost.Atomic, tracking C++20 2018-02-07 17:45:07 +02:00
Peter Dimov 937a3e0e93 Remove tabs 2018-01-23 06:29:17 +02:00
YunQiang Su 4252ed31de disable .set mips2 for mips release r6
MIPS r6 changed the encoding for `ll' instruction,
if we `.set mips2', it will generate the old encoding for `ll'.

So here we disable it for r6.
2017-12-31 14:14:11 +08:00
Glen Fernandes 5dfcd2a6e4 Rename parameters to cope with gcc 4.8 -Wshadow 2017-11-27 23:47:13 -05:00
Glen Fernandes 57a585ed46 sp_array_construct condition for trivial should include has_trivial_destructor 2017-11-02 11:53:41 -04:00
Peter Dimov 868a870a59 Fix lightweight_mutex w/ BOOST_USE_WINDOWS_H 2017-09-01 13:25:19 +03:00
Benjamin Worpitz 966786e7f9 fix compilation for nvcc+clang
nvcc seems to use the host compiler for preprocessing the source for the device and host compilation.
When compiling the host code with the host compiler (clang), `__builtin_assume` is detected correctly and is also available during compilation.
When compiling the device code with nvcc, this builtin function is not available.
2017-08-28 08:12:48 +02:00
Glen Fernandes a3c8c2125a Use has_trivial_assign in construction utilities 2017-07-04 13:45:56 -04:00
Glen Fernandes 3aa419463c Simplify lsp state types 2017-07-01 10:00:47 -04:00
Glen Fernandes e4ba116d7e Minor refactoring in allocate_shared implementations 2017-06-29 22:33:43 -04:00
Glen Fernandes be736e5088 Implement allocate_local_shared for arrays
Also fix the local_shared_ptr constructor to use element_type
2017-06-29 13:05:03 -04:00
Glen Fernandes 48294c483f Use new shared_count constructors in allocate_shared 2017-06-29 09:24:02 -04:00
Peter Dimov 13e73d6a78 Do not use UINT_MAX to avoid -Wmicrosoft-enum-value from Clang 2017-06-27 16:23:18 +03:00
Peter Dimov 20a517cc3d Clang/C2 doesn't have _mm_pause 2017-06-27 15:41:56 +03:00
Peter Dimov 0adb1fb212 Add shared_count constructor taking sp_counted_base* 2017-06-22 15:24:49 +03:00
Peter Dimov 2d087d0003 Do not use A::destroy in allocate_shared_noinit 2017-06-21 13:44:17 +03:00
Peter Dimov 81e1cfe301 Merge branch 'develop' into feature/local_shared_ptr 2017-06-21 03:04:16 +03:00
Glen Fernandes 4046186a2d Use BOOST_NOEXCEPT_OR_NOTHROW for get_deleter
throw() optimizes better there with older versions of GCC in C++98.
2017-06-20 19:27:58 -04:00
Peter Dimov f901988e57 Store shared_count in local_counted_base, not shared_ptr 2017-06-20 21:38:03 +03:00
Peter Dimov fb17bf685e Add more tests; fix errors 2017-06-20 20:38:26 +03:00
Peter Dimov 052ebd1946 Merge branch 'develop' into feature/local_get_deleter 2017-06-20 19:35:23 +03:00
Peter Dimov 028bb2cee8 Fix get_deleter in allocate_shared_array.hpp 2017-06-20 19:33:39 +03:00
Peter Dimov 6e5a382b6b Start work on get_deleter for local_shared_ptr 2017-06-20 19:01:16 +03:00
Peter Dimov b104d85d95 Fix use of allocator_traits 2017-06-20 05:36:47 +03:00
Peter Dimov 2b5869882a Optimize make_local_shared to use a single allocation 2017-06-20 04:27:45 +03:00
Peter Dimov 6218c52c1a Add make_local_shared 2017-06-20 01:42:45 +03:00
Peter Dimov edf02ab0f9 Add more tests 2017-06-19 01:05:01 +03:00
Peter Dimov 7ed8583a9c Document shared_ptr atomic access functions 2017-06-18 15:24:00 +03:00
Peter Dimov 6474847481 Make atomic_shared_ptr's default constructor constexpr 2017-06-18 07:56:42 +03:00
Peter Dimov 0e78e219f5 Make default constructors constexpr 2017-06-18 02:43:20 +03:00
Peter Dimov 67d897a533 Add a spinlock to atomic_shared_ptr 2017-06-17 23:37:18 +03:00
Peter Dimov 7bd389c95e Merge branch 'develop' into feature/local_shared_ptr 2017-06-17 00:15:39 +03:00
Peter Dimov 1cae5c5696 Fix documentation links in headers 2017-06-17 00:13:21 +03:00
Peter Dimov 369fdbe38d Merge branch 'develop' into feature/local_shared_ptr 2017-06-16 20:20:54 +03:00
Peter Dimov a048cfb56d Minor fixes to atomic_shared_ptr.hpp 2017-06-16 20:19:37 +03:00
Peter Dimov 7484d4da41 Merge branch 'develop' into feature/local_shared_ptr 2017-06-16 18:40:01 +03:00
Peter Dimov a7668291d2 Add atomic_shared_ptr 2017-06-16 18:26:17 +03:00
Peter Dimov 27898b0823 Constrain conversions to shared_ptr/weak_ptr 2017-06-13 20:57:12 +03:00
Peter Dimov 47ee1e09e9 Use single allocation in deleter and allocator constructors 2017-06-13 18:29:18 +03:00
Peter Dimov 4dda1b5fbb Add lsp_array_* tests 2017-06-13 18:03:01 +03:00
Peter Dimov 585de501da Embed local_counted_base in the deleter in the pointer case 2017-06-13 17:27:06 +03:00
Peter Dimov 1d314c5668 Make null unique_ptr convert to empty shared_ptr 2017-06-13 05:50:40 +03:00
Peter Dimov 52d976fde2 Use BOOST_SP_NOEXCEPT, BOOST_SP_NOEXCEPT_WITH_ASSERT 2017-06-12 18:06:54 +03:00
Peter Dimov e75fa9329b Remove noexcept on ~local_counted_base for g++ 4.7 2017-06-12 15:53:16 +03:00
Peter Dimov 8f2e6d04de Add more tests 2017-06-12 00:19:07 +03:00
Peter Dimov 8d9c4df71a Add more tests 2017-06-11 20:35:51 +03:00
Peter Dimov aeadd6aeff Initial commit of local_shared_ptr 2017-06-04 21:24:20 +03:00
Raphael Isemann ba98b8c33f Reencoded a few headers that used Windows-1252 with UTF-8.
Nearly every header in the boost codebase is UTF-8, but here there
are a few headers which are using Windows-1252, which makes it impossible
for some tools to parse those files. This patch just reencodes them
with UTF-8 like the rest of the codebase. I checked that the name of the
author is still correct after this change.

No functional change intended.
2017-06-02 14:51:53 +02:00
Peter Dimov b530ffcae5 Remove redundant check; add coment; include config.hpp 2017-05-27 03:01:34 +03:00
K. Noel Belcourt 7f42d987e7 Protect clang pragmas with BOOST_CLANG macro. 2017-05-26 12:33:59 -06:00