2
0
mirror of https://github.com/boostorg/atomic.git synced 2026-02-09 10:22:20 +00:00
Commit Graph

33 Commits

Author SHA1 Message Date
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