8c48149323Disabled build jobs not supported by AppVeyor and Boost.Thread. Trying to find MinGW 32-bit compiler.
Andrey Semashev
2017-09-25 12:02:28 +0300
a6443ca5b9Updated test jobs to fix compilation.
Andrey Semashev
2017-09-25 00:53:23 +0300
31be8fe513Added CI build scripts.
Andrey Semashev
2017-09-24 22:50:08 +0300
de22c6a203Added a link to a gcc bug in the comment about consume/acquire MO.
Andrey Semashev
2017-09-20 13:50:33 +0300
d826930e86Added support for returning values in flags from asm blocks for gcc x86 backend.
Andrey Semashev
2017-09-02 19:30:55 +0300
f2aae8936aAvoid passing storage types via template parameters as it generates warnings about dropping attributes in gcc 7.
Andrey Semashev
2017-09-02 19:17:27 +0300
1972f1c96eAdded support for returning values in flags from asm blocks in x86 DCAS.
Andrey Semashev
2017-09-02 19:07:20 +0300
87a904edf4Updated DCAS compatibility with gcc 7 on x86-64.
Andrey Semashev
2017-09-02 17:47:13 +0300
65d0d557f1Fixed a test constant, added a few more checks.
Andrey Semashev
2015-09-08 22:44:04 +0300
17ebc37de8Fixed incorrect asm constraints. Also optimized 64-bit asm to allow 32-bit immediates.
Andrey Semashev
2015-09-08 22:43:26 +0300
158a114325Corrected test constants.
Andrey Semashev
2015-09-07 23:04:02 +0300
ce42659b6dFixed compilation issues and incorrect use of cmpxchg. Added extended ops to the interface.
Andrey Semashev
2015-09-07 22:59:38 +0300
add6f5640cAdded tests for the new operations.
Andrey Semashev
2015-09-07 22:58:48 +0300
42024329d7Corrected constant constraints for bit test ops.
Andrey Semashev
2015-09-07 01:27:26 +0300
5c554ee284Preliminary version of extended atomic ops for x86.
Andrey Semashev
2015-09-07 00:53:10 +0300
a6b01a8429Disable cast-based implementation for MSVC because it generates broken code sometimes.
Andrey Semashev
2017-07-11 22:28:28 +0300
b23c406f94Converted Unicode characters in comments to ASCII.
Andrey Semashev
2017-06-25 16:22:44 +0300
4ee227c6f2Simplified use of __has_attribute. Also use __may_alias__ instead of may_alias.
Andrey Semashev
2017-05-29 12:02:04 +0300
0786398120Silence bogus gcc warnings about missing struct member initializers.
Andrey Semashev
2017-05-29 11:49:27 +0300
be5ed8a1c5Fixed compilation with gcc <= 4.9. Renamed BOOST_ATOMIC_DETAIL_STORAGE_MAY_ALIAS to BOOST_ATOMIC_DETAIL_STORAGE_TYPE_MAY_ALIAS as it is a more precise naming.
Andrey Semashev
2017-05-27 18:11:06 +0300
7919698b2aChanged is_lock_free() implementation to always use is_always_lock_free.
Andrey Semashev
2017-05-25 13:38:39 +0300
b7dba02b73In addition to compiler checks for may_alias support, use __has_attribute as well.
Andrey Semashev
2017-05-25 12:54:34 +0300
ca151bedb4Fixed warnings about left-shifting negative signed integers.
Andrey Semashev
2017-05-22 15:21:22 +0300
7c6917948dUse BOOST_INTEL_CXX_VERSION instead of __INTEL_COMPILER to use workarounds for compiler bugs present in Boost.Config.
Andrey Semashev
2017-05-21 21:44:20 +0300
11967cc8e2Mark storage type capable of aliasing other types and simplify CAS when possible
Andrey Semashev
2017-05-21 17:50:16 +0300
cf3c4a2d5aFixed a typo.
Andrey Semashev
2017-04-04 15:54:53 +0300
f1dc715e41Added __ARM_ARCH_8A__ to the preprocessor check for ARM.
Andrey Semashev
2017-04-04 15:53:18 +0300
6d40529a58Switch back to Boost.TypeTraits for integral traits because libstdc++ doesn't consider __int128 an integral type.
Andrey Semashev
2017-04-03 15:11:30 +0300
11c785768cUpdated to reflect changes from P0558R1 accepted into C++17.
Andrey Semashev
2017-04-01 18:29:26 +0300
a67cc1b055Corrected register usage in x86 DCAS asm blocks.
Andrey Semashev
2017-01-08 18:09:12 +0300
2b6ef06b57Added preliminary support for MSVC for ARM64 target.
Andrey Semashev
2017-01-07 21:27:09 +0300
e6e6a04114Changed taking address of the values involved in bitwise_cast to avoid gcc warnings.
Andrey Semashev
2017-01-06 16:35:57 +0300
e450653451Extracted x86 mfence detection to caps headers.
Andrey Semashev
2016-09-15 01:05:51 +0300
dce87d3c0aChanges for better compatibility with Oracle Studio 12.5.
Andrey Semashev
2016-09-15 00:46:26 +0300
4274a78f46Corrected typos that prevented compilation.
Andrey Semashev
2016-09-14 20:36:12 +0300
ee4a80f477Added a delimiter space between the header marker and Boost.Log image.
Andrey Semashev
2016-08-19 13:39:12 +0300
ffe7710a90Added a boostdoc target to unify Boost release docs building.
Andrey Semashev
2016-01-06 21:04:08 +0300
24586fe2aaMerge pull request #5 from jeremy-murphy/unused_params
Tim Blechmann
2015-12-15 11:16:33 +0100
0abd9bfd73Fix some unused parameter warnings.
Jeremy W. Murphy
2015-12-15 20:56:58 +1100
430169a53cRemoved union_cast in favor of memcpy-based implementation and renamed the cast to bitwise_cast. Use __builtin_mem* instead of regular function calls when possible. This saves inclusion of <cstring> and possibly generates better code when -fno-builtin is used. The net result of these changes is no UB that union_cast was introducing while hopefully retaining the same performance.
Andrey Semashev
2015-12-02 20:04:10 +0300
c989d936c5Renamed casts.hpp to bitwise_cast.hpp.
Andrey Semashev
2015-12-02 18:36:49 +0300
8bbf5e19dbCorrected compiler check for BOOST_ATOMIC_DETAIL_NO_ASM_IMPLIED_ZERO_DISPLACEMENTS.
Andrey Semashev
2015-11-08 17:24:30 +0300
6e2d7b28deRestored old versions of DCAS operations that use an extra register for compatibility with old binutils, which apparently are used on OS X with gcc 4.2.
Andrey Semashev
2015-11-04 15:25:12 +0300
45289e534eAdded a few notes to the README.md file.
Andrey Semashev
2015-08-28 21:56:15 +0300
ec4738a8ebWorkaround for MSVC-12 ICE.
Andrey Semashev
2015-08-26 23:27:13 +0300
e3aac4bc65Simplified memory references in assembler blocks which should reduce the typical number of used registers by one.
Andrey Semashev
2015-08-23 03:27:37 +0300
4462c1cdf4Fixed compilation with gcc 4.4.
Andrey Semashev
2015-08-23 02:05:35 +0300
18fdcb1747Fixed compilation errors with MSVC caused by using types with large alignment values as function arguments. Alignment is now explicitly specified for all storage types to avoid surprises. Optimized CAS-based exchange implementation on x86. Relaxed initial loads in CAS-based operations as this load is not required to be accurate.
Andrey Semashev
2015-08-23 01:04:08 +0300
6bb5b17108Silenced MSVC warnings about 'this' being used in the constructor initialization list.
Andrey Semashev
2015-08-22 20:47:56 +0300
f0f1ef228catomic: fix compilation on msvc 8 / Windows CE / arm
Tim Blechmann
2015-08-22 10:17:02 +0200
ff91811c1aFixes#10994. Fixed compilation with gcc 4.4 when cmpxchg16b is used.
Andrey Semashev
2015-08-17 23:27:37 +0300
b1bb36c5b3Only use intptr_t when available. Only test integer overflows/underflows for unsigned integers (the behavior is undefined for signed ints anyway). This should silence compiler warnings as well.
Andrey Semashev
2015-08-17 22:25:19 +0300
a8661d4cc2Corrected memory barriers in store, load and thread_fence. Added indentation to the generated assembler code.
Andrey Semashev
2015-08-15 00:29:43 +0300
4162cb109fCorrected memory ordering of loads. Relaxed loads do not synchronize-with seq_cst stores, which allowed the test to fail. Also removed unnecessary loads that did not contribute to the test robustness and could have reduced it by issuing extra memory fences.
Andrey Semashev
2015-08-14 15:03:35 +0300
e6a188d165Experimental support for IBM XL C++ compilers for PowerPC.
Andrey Semashev
2015-08-13 23:37:33 +0300
7b1d722d94Ported tests to core/lightweight_test.hpp.
Andrey Semashev
2015-01-25 18:50:58 +0300
427a757bbfMerge pull request #4 from jhunold/test_dependency
Tim Blechmann
2015-01-14 16:17:50 +0100
30f72c8d25Add explicit dependency on Boost.Test
Jürgen Hunold
2015-01-14 16:13:41 +0100
b8c91efe8fMade spinning on the lock less expensive.
Andrey Semashev
2014-12-20 17:30:35 +0300
b77b0aff22Made spinning on the lock less expensive.
Andrey Semashev
2014-12-20 17:26:18 +0300
d6cc2c93c1Avoid the lock padding member altogether if padding size is 0.
Andrey Semashev
2014-12-20 17:05:24 +0300
fcff86225eAdded workarounds for nvcc - don't use cc clobber and constraint alternatives in asm statements. Hopefully, should fix#10625.
Andrey Semashev
2014-12-20 16:35:03 +0300
6995a64181Added missing curly braces to the lock pool initializers. This should fix compilation when the compiler does not support brace folding.
Andrey Semashev
2014-12-20 15:51:21 +0300
fe8f1dc4e0Use #pragma intrinsic only with MSVC.
Andrey Semashev
2014-10-01 13:30:37 +0400