Andrey Semashev
dcab6171fa
Code cleanup.
...
[SVN r84699]
2013-06-08 18:10:21 +00:00
Andrey Semashev
5b0186dc7d
Added implementation of 64-bit atomic operations on 32-bit Windows. Pointer specializations of 64-bit CAS-based atomic implementation extracted to a separate header, since these specializations are not needed on 32-bit platforms.
...
[SVN r84695]
2013-06-08 17:36:38 +00:00
Tim Blechmann
8e69b6ffba
atomic: pad spin-locks to avoid false sharing
...
[SVN r84386]
2013-05-20 09:07:22 +00:00
Tim Blechmann
18b97cbe7a
atomic: Optimization for 64 bit loads and stores for 32 bit x86 on gcc
...
fixes #8574
[SVN r84288]
2013-05-15 06:12:46 +00:00
Tim Blechmann
96b44933f0
atomic: provide additive functionality for atomic<void*>
...
fixes #8501
[SVN r84190]
2013-05-08 04:45:38 +00:00
Andrey Semashev
82064eecd6
Added missing constexpr/noexcept.
...
[SVN r83099]
2013-02-23 15:24:58 +00:00
Andrey Semashev
888095208d
Fixed typo.
...
[SVN r83098]
2013-02-23 14:57:49 +00:00
Andrey Semashev
ca1f5e95d4
Fixed typo in the comment.
...
[SVN r83097]
2013-02-23 14:22:15 +00:00
Andrey Semashev
f9c4249c8e
1. Fixed compilation with MSVC 2003.
...
2. Fixed incorrect reinterpret_casts in constexpr constructors that could result in buffer overruns. The initializing constructors for non-integral atomics are not constexpr yet because memcpy must be used inside.
3. Made atomic_flag default constructors constexpr. This is not by the standard but we do not implement ATOMIC_FLAG_INIT yet, so the default constructor is needed and it should be constexpr when possible.
4. Fixed a few syntax errors and cleaned up the code a bit.
5. Moved operator value_type() to the interface class in order not to duplicate it in base_atomic specializations.
6. The return type of operator=() changed to follow the standard.
[SVN r83096]
2013-02-23 14:21:19 +00:00
Vicente J. Botet Escriba
546ff8d616
Atomic: fix some minor issues.
...
[SVN r82947]
2013-02-17 13:16:23 +00:00
Hartmut Kaiser
a6cd5bb9a7
Atomic: fixing Windows compilation problem
...
[SVN r82942]
2013-02-17 04:43:17 +00:00
Tim Blechmann
764db51b6d
atomic: adapt for constexpr and noexcept
...
Signed-off-by: Tim Blechmann <tim@klingt.org >
[SVN r82870]
2013-02-14 12:32:41 +00:00
Tim Blechmann
848f7530b5
atomic: uclibc doesn't seem to have intptr_t
...
fixes #7979
[SVN r82754]
2013-02-05 21:43:04 +00:00
Andrey Semashev
e5eb08c4b8
Attempt to fix compilation in Windows CE.
...
[SVN r82203]
2012-12-25 03:35:12 +00:00
Andrey Semashev
3c1e036002
Fixed compilation on PGI.
...
[SVN r82183]
2012-12-23 12:19:45 +00:00
Andrey Semashev
f1edf108b2
Added missing atomic typedefs.
...
[SVN r82161]
2012-12-21 22:39:16 +00:00
Andrey Semashev
12997b05f9
Restored full fence in the platform_fence_after_load function on architectures other than x86 and x86_64. The fence is not required only on those architectures.
...
[SVN r82156]
2012-12-21 21:01:19 +00:00
Andrey Semashev
bd0ef80622
Attempt to fix compilation on Windows CE.
...
[SVN r82155]
2012-12-21 20:36:26 +00:00
Andrey Semashev
33343de82e
Removed unnecessary fences, added pause operations to tight spin loops to optimize power consumption and performance on HT-enabled systems.
...
[SVN r82106]
2012-12-19 22:00:25 +00:00
Tim Blechmann
982dc948e3
atomic: fix typos
...
fixes #7804
[SVN r82072]
2012-12-18 09:43:23 +00:00
Andrey Semashev
55f3aaadaf
Code cleanup. Implemented optimized atomic operations for Windows.
...
[SVN r81969]
2012-12-15 13:24:01 +00:00
Andrey Semashev
bf8270ebf9
Rearranged public headers and added #pragma once for compilers that support it.
...
[SVN r81932]
2012-12-14 11:13:30 +00:00
Andrey Semashev
4c200d702b
Corrected BOOST_ATOMIC_LLONG_LOCK_FREE macro definition on Windows x64 platform.
...
[SVN r81831]
2012-12-10 18:56:34 +00:00
Tim Blechmann
3c288331b0
atomic: make use of gcc's __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
...
__i686__ is not enabled for every platform supporting cmpxchg8b. to work
around this, we provide a separate implementation via gcc's atomic builtins
[SVN r81736]
2012-12-06 12:35:32 +00:00
Hartmut Kaiser
d0d71e81d8
Boost.Atomic: committing MSVC visibility patch, auto-linking and long long fix
...
[SVN r80530]
2012-09-15 12:44:39 +00:00
Helge Bahmann
71564c97cf
Add missing copyright and licence notices
...
Add missing notices to various files to make clear they are distributable
under the boost licence.
[SVN r80527]
2012-09-14 19:12:13 +00:00
Helge Bahmann
b53b1d4bdc
Add missing newline at end of file
...
[SVN r80526]
2012-09-14 19:06:38 +00:00
Helge Bahmann
40c05b4274
Rename armv6+ to armv6plus
...
Avoid forbidden character in file name.
[SVN r80525]
2012-09-14 19:05:52 +00:00
Tim Blechmann
94f7a5bd30
atomic: fix const-correctnes of double-width load
...
[SVN r80454]
2012-09-08 16:36:11 +00:00
Helge Bahmann
3870d2bf30
Catch conflicting macro definitions
...
Compilation reportedly fails on icc, conflicting macro definitions (both
__i686__ and __x86_64__ defined) is under suspicion. This patch tentatively
fixes the issue.
Reported-by: Tim Blechmann <tim@klingt.org >
[SVN r79617]
2012-07-20 10:51:45 +00:00
Helge Bahmann
3d15020971
Delete arithmetic methods for atomic<void *>
...
Delete definitions for fetch_add and fetch_sub on void * pointers -- clang
already treats their definition as erroneous.
Reported-by: Anand TM <anand_tm@yahoo.com >
[SVN r79616]
2012-07-20 08:17:47 +00:00
Helge Bahmann
49f913ae58
Fix compilation of interlocked.hpp
...
Fix two compilation errors I missed due to sloppy testing :/
Reported-by: <lukester_null@yahoo.co.uk >
[SVN r79615]
2012-07-20 08:11:39 +00:00
Helge Bahmann
131b70c1fa
atomic: initial import
...
[SVN r79348]
2012-07-08 11:21:45 +00:00