Commit Graph

  • 9cab8a9ebf Added a generic atomic<> implementation based on the new __atomic intrinsics available in gcc 4.7 and clang 3.2. The new implementation adds support for 128-bit atomic. Other implementations updated to employ new macros in Boost.Config for defaulted and deleted functions (this is not complete yet). Fixed padding for the lock pool. Initializing constructor for atomic<> made explicit to avoid ambiguities of different overloads of operator=. Andrey Semashev 2013-06-15 20:43:48 +0000
  • 179e72cfd1 Code cleanup. Andrey Semashev 2013-06-08 18:22:36 +0000
  • dcab6171fa Code cleanup. Andrey Semashev 2013-06-08 18:10:21 +0000
  • 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. Andrey Semashev 2013-06-08 17:36:38 +0000
  • 17d4cb5479 atomic: merge fixes from trunk Tim Blechmann 2013-05-21 09:54:09 +0000
  • 8e69b6ffba atomic: pad spin-locks to avoid false sharing Tim Blechmann 2013-05-20 09:07:22 +0000
  • 18b97cbe7a atomic: Optimization for 64 bit loads and stores for 32 bit x86 on gcc Tim Blechmann 2013-05-15 06:12:46 +0000
  • 96b44933f0 atomic: provide additive functionality for atomic<void*> Tim Blechmann 2013-05-08 04:45:38 +0000
  • db2b88bf30 Atomic: merge from trunk. Vicente J. Botet Escriba 2013-03-23 17:50:41 +0000
  • 82064eecd6 Added missing constexpr/noexcept. Andrey Semashev 2013-02-23 15:24:58 +0000
  • 888095208d Fixed typo. Andrey Semashev 2013-02-23 14:57:49 +0000
  • ca1f5e95d4 Fixed typo in the comment. Andrey Semashev 2013-02-23 14:22:15 +0000
  • 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. Andrey Semashev 2013-02-23 14:21:19 +0000
  • 546ff8d616 Atomic: fix some minor issues. Vicente J. Botet Escriba 2013-02-17 13:16:23 +0000
  • a6cd5bb9a7 Atomic: fixing Windows compilation problem Hartmut Kaiser 2013-02-17 04:43:17 +0000
  • 764db51b6d atomic: adapt for constexpr and noexcept Tim Blechmann 2013-02-14 12:32:41 +0000
  • 848f7530b5 atomic: uclibc doesn't seem to have intptr_t Tim Blechmann 2013-02-05 21:43:04 +0000
  • c4f2be5630 atomic: merge documentation fix from trunk Tim Blechmann 2013-01-20 18:05:10 +0000
  • a6b599b6bb atomic: fix example code Tim Blechmann 2013-01-05 14:54:40 +0000
  • f32acdd8be Attempt to fix compilation in Windows CE. Andrey Semashev 2012-12-25 03:36:31 +0000
  • e5eb08c4b8 Attempt to fix compilation in Windows CE. Andrey Semashev 2012-12-25 03:35:12 +0000
  • 8530fd8c4c Fixed compilation on PGI. Andrey Semashev 2012-12-23 12:22:28 +0000
  • 3c1e036002 Fixed compilation on PGI. Andrey Semashev 2012-12-23 12:19:45 +0000
  • ec58a5893a Added missing atomic typedefs. Andrey Semashev 2012-12-22 15:09:01 +0000
  • f1edf108b2 Added missing atomic typedefs. Andrey Semashev 2012-12-21 22:39:16 +0000
  • 6aed631bd0 Attempt to fix compilation on Windows CE. 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. Andrey Semashev 2012-12-21 21:30:41 +0000
  • 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. Andrey Semashev 2012-12-21 21:01:19 +0000
  • bd0ef80622 Attempt to fix compilation on Windows CE. Andrey Semashev 2012-12-21 20:36:26 +0000
  • 442273fa49 Removed unnecessary fences, added pause operations to tight spin loops to optimize power consumption and performance on HT-enabled systems. Andrey Semashev 2012-12-21 20:14:10 +0000
  • 33343de82e Removed unnecessary fences, added pause operations to tight spin loops to optimize power consumption and performance on HT-enabled systems. Andrey Semashev 2012-12-19 22:00:25 +0000
  • e6b1277390 atomic: merge fixes from trunk Tim Blechmann 2012-12-18 12:28:12 +0000
  • 982dc948e3 atomic: fix typos Tim Blechmann 2012-12-18 09:43:23 +0000
  • b5da965c5b Boost.Atomic and Boost.Lockfree merged from trunk. Andrey Semashev 2012-12-15 18:28:27 +0000
  • 55f3aaadaf Code cleanup. Implemented optimized atomic operations for Windows. Andrey Semashev 2012-12-15 13:24:01 +0000
  • 39760bdd91 Updated reference to platform.hpp according to rearranged header layout. Andrey Semashev 2012-12-14 11:32:31 +0000
  • bf8270ebf9 Rearranged public headers and added #pragma once for compilers that support it. Andrey Semashev 2012-12-14 11:13:30 +0000
  • d7ebff9db9 Added threading=multi requirement so that linking is correct when atomic_flag is not atomic. Andrey Semashev 2012-12-10 19:51:51 +0000
  • 7dabb82d2b Added threading=multi requirement to fix linking with pthread. Andrey Semashev 2012-12-10 19:43:51 +0000
  • 4c200d702b Corrected BOOST_ATOMIC_LLONG_LOCK_FREE macro definition on Windows x64 platform. Andrey Semashev 2012-12-10 18:56:34 +0000
  • 548371c910 atomic: update maintainers & libraries files, add index.html Tim Blechmann 2012-12-07 16:55:38 +0000
  • 8622f33f85 atomic: integrate documentation Tim Blechmann 2012-12-07 14:52:41 +0000
  • eea655ca35 atomic: fix testsuite compilation with -Werror=unused-but-set-variable Tim Blechmann 2012-12-07 13:35:25 +0000
  • 0b153e9f03 atomic: fix linking of testsuite Tim Blechmann 2012-12-06 12:35:53 +0000
  • be1524ea4e atomic: update documentation Tim Blechmann 2012-12-06 12:35:42 +0000
  • 3c288331b0 atomic: make use of gcc's __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 Tim Blechmann 2012-12-06 12:35:32 +0000
  • 2eec3ea622 clients using Boost.Atomic as a shared library need BOOST_ATOMIC_DYN_LINK defined. Jürgen Hunold 2012-09-18 11:24:18 +0000
  • d0d71e81d8 Boost.Atomic: committing MSVC visibility patch, auto-linking and long long fix Hartmut Kaiser 2012-09-15 12:44:39 +0000
  • 71564c97cf Add missing copyright and licence notices Helge Bahmann 2012-09-14 19:12:13 +0000
  • b53b1d4bdc Add missing newline at end of file Helge Bahmann 2012-09-14 19:06:38 +0000
  • 40c05b4274 Rename armv6+ to armv6plus Helge Bahmann 2012-09-14 19:05:52 +0000
  • 94f7a5bd30 atomic: fix const-correctnes of double-width load Tim Blechmann 2012-09-08 16:36:11 +0000
  • 00a7156487 atomic: remove remaining C99 ints Helge Bahmann 2012-07-22 13:05:39 +0000
  • a7b62d7f46 atomic: fix lockfree expectation on win64 Helge Bahmann 2012-07-22 13:02:43 +0000
  • 4e45b3a94c atomic: use static linkage for unit tests Helge Bahmann 2012-07-21 19:11:07 +0000
  • e2966c0f1b atomic: fix atomicity unit test Helge Bahmann 2012-07-21 19:00:40 +0000
  • 8b95b4018a Prefer boost::cstdint to stdint Helge Bahmann 2012-07-21 18:50:11 +0000
  • 3870d2bf30 Catch conflicting macro definitions Helge Bahmann 2012-07-20 10:51:45 +0000
  • 3d15020971 Delete arithmetic methods for atomic<void *> Helge Bahmann 2012-07-20 08:17:47 +0000
  • 49f913ae58 Fix compilation of interlocked.hpp Helge Bahmann 2012-07-20 08:11:39 +0000
  • 131b70c1fa atomic: initial import Helge Bahmann 2012-07-08 11:21:45 +0000
  • 88da98e37b Move top-level boost directory over to "devel" (temporarily) Douglas Gregor 2007-07-31 20:32:15 +0000