Peter Dimov
053779f3ee
Add BOOST_SP_NOEXCEPT to sp_counted_base_clang.hpp
2019-01-28 20:52:28 +02:00
Peter Dimov
51d8167fbf
Add more BOOST_SP_NOEXCEPT
2019-01-28 18:46:39 +02:00
Nikita Kniazev
eac6411867
Do not include the whole Predef for a single macro
2018-12-28 03:03:02 +03:00
Peter Dimov
2932ca4203
Change sp_counted_base_nt/_pt to use boost::int_least32_t instead of long (which may be 64 bit)
2018-12-23 01:54:36 +02:00
Peter Dimov
f6c3508aee
Add make_local_shared_const_test
2018-11-10 21:04:22 +02:00
Romain Geissler
456da93897
Use BOOST_NOEXCEPT_OR_NOTHROW in public headers to prepare for C++20.
2018-11-09 14:55:34 +00:00
Glen Fernandes
29a08cdff6
Use BOOST_SYMBOL_VISIBLE with local_counted_base and children
2018-09-19 13:50:13 -04:00
Peter Dimov
6d3af760f6
Generously dispense BOOST_SYMBOL_VISIBLE
2018-09-18 03:18:23 +03:00
Peter Dimov
4eb53db537
Use intrin.h under clang-cl
2018-08-12 01:26:59 +03:00
Glen Fernandes
a2b6ba85f3
Simplify exception safety in array construct utilities
2018-08-01 08:45:10 -04:00
Peter Dimov
8563fc5c4e
Add tests that include <windows.h>
2018-03-11 23:00:50 +02:00
Peter Dimov
67fab5c9ec
Clang x64 warns that __stdcall is ignored, so don't use it there
2018-03-08 06:53:28 +02:00
Peter Dimov
f16fbdce26
Fix sp_interlocked on Cygwin 64
2018-03-08 05:15:49 +02:00
Peter Dimov
c3b3835a58
Mingw doesn't have _RTL_CRITICAL_SECTION
2018-03-08 03:34:00 +02:00
Peter Dimov
d1600b8abc
Do not define pthread_* in lightweight_thread.hpp; mingw-w64 includes pthread.h in the standard library headers
2018-03-08 01:19:44 +02:00
Peter Dimov
4129bb6a5c
Use unique_ptr instead of auto_ptr when available
2018-02-19 06:16:11 +02:00
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