Andrey Semashev
282b4c2ca6
Added cmpxchg16b detection for clang-win.
2019-10-13 10:57:52 +03:00
Andrey Semashev
b2594ecbc0
Disable all pointer arithmetic tests on UBSAN.
2019-10-13 10:34:58 +03:00
Andrey Semashev
c4b8f21c2e
Try enabling clang-win on VS2017 image.
2019-10-13 01:36:55 +03:00
Andrey Semashev
0d8ea24351
Added a workaround for clang UBSAN failures.
...
Clang UBSAN considers an UB subtracting from a null pointer, which is
required for one of the tests. Disable that test when UBSAN is enabled.
2019-10-13 01:33:43 +03:00
Andrey Semashev
e8ccfce2dc
Added check for BOOST_NO_ALIGNMENT for float128 tests.
...
Atomic storage can be implemented without int128 support but when
explicit alignment specification is supported.
2019-10-13 01:24:53 +03:00
Andrey Semashev
56bd60673a
Added a workaround for __float128 not being considered a FP type by libstdc++-7.
2019-10-13 01:19:57 +03:00
Andrey Semashev
c043562511
Disable floating point tests when BOOST_ATOMIC_NO_FLOATING_POINT is defined.
...
Also check that int128 is available for float128 tests. Int128 is used
as the storage for atomic variables.
2019-10-12 21:58:56 +03:00
Andrey Semashev
ffad580fcf
Working around CI failures for clang.
...
Downgraded clang builds to Xenial since there are no 32-bit packages for Bionic.
Disabled 32-bit clang UBSAN builds due to linking errors.
2019-10-12 21:37:53 +03:00
Andrey Semashev
4c2fc16ab1
Work around signed overflow on min value negation.
...
This should fix UBSAN failures.
2019-10-12 21:20:33 +03:00
Andrey Semashev
8e4e60ed3b
Updated CI configs, added new compilers.
2019-10-12 17:06:54 +03:00
Andrey Semashev
00455afcd1
Added compiler barrier macro for clang-win.
...
This should silence compiler warnings about _ReadWriteBarrier being
deprecated.
2019-10-12 16:51:28 +03:00
Andrey Semashev
fc41097514
Enabled multiple git fetch jobs while executing depinst in CI. Increased the number of jobs to 8.
boost-1.71.0.beta1
boost-1.71.0
boost-1.70.0.beta1
boost-1.70.0
2019-01-15 14:11:27 +03:00
Andrey Semashev
d2fa5fcce5
Corrected CPU count detection on OS X in CI jobs.
2019-01-02 18:49:06 +03:00
Andrey Semashev
14690aae81
Use as many CI build/test jobs as there are CPU cores.
2019-01-02 17:56:26 +03:00
Andrey Semashev
6fd99e46a6
Yet another attempt to fix CMake condition in CI.
2019-01-02 17:52:15 +03:00
Andrey Semashev
5ae65930f1
Corrected CMake-related condition in running CI jobs.
2019-01-02 17:07:34 +03:00
Andrey Semashev
0e810ea02f
Updated license URLs to use https.
2019-01-02 15:32:10 +03:00
Mike Dev
04ddfdeb19
[CMake] Add test for cmake file
2019-01-02 15:29:35 +03:00
Mike Dev
1dd9dd831b
[CMake] Add minimal cmake file
...
Generate cmake target that builds the library and which can
be used by other libraries to express their dependency on
this library and retrieve any configuration information
such as the include directory, binary to link to,
transitive dependencies, necessary compiler options or the
required C++ standards level.
2019-01-02 15:00:46 +03:00
Andrey Semashev
a0869374da
Re-added manual checkout of libs/config in CI as Boost.Build depends on it.
2018-12-20 20:43:57 +03:00
Andrey Semashev
b092a25923
Revert "Added an experimental partial CMakeLists.txt for dependency tracking in CMake projects."
...
This reverts commit 5ad28ffd18 .
Apparently, just adding include paths to user's CMake projects is not enough
for the original requester.
https://github.com/boostorg/atomic/pull/20#issuecomment-448345886
2018-12-18 23:05:41 +03:00
Andrey Semashev
a469ac480d
Use a separate submodule update step with parallel checkouts to speedup CI job startup.
2018-12-18 22:18:14 +03:00
Andrey Semashev
8852afd550
Added tools/boost_install and libs/headers manual checkout to CI jobs.
2018-12-18 21:51:15 +03:00
Andrey Semashev
5ad28ffd18
Added an experimental partial CMakeLists.txt for dependency tracking in CMake projects.
2018-12-18 19:26:35 +03:00
Andrey Semashev
605cb8b153
Enabled tests on Cygwin, enabled tests with GNU extensions on Cygwin and MinGW.
2018-12-09 11:13:22 +03:00
Andrey Semashev
96e980f260
Updated 32-bit compiler path for MinGW-w64 CI job.
2018-12-09 02:21:43 +03:00
Andrey Semashev
f90bee856d
Try using a different base image for 32-bit MinGW-w64 CI job.
2018-12-08 23:47:02 +03:00
Andrey Semashev
a0a3424107
Added MinGW-w64 gcc 7.3 job. Try to enable 32-bit MinGW-w64 job with a different path.
2018-12-08 19:45:19 +03:00
Andrey Semashev
c22cc0812d
Increased build job count in Appveyor CI config.
boost-1.69.0-beta1
boost-1.69.0
2018-11-14 01:17:56 +03:00
Andrey Semashev
0a6c54747d
Upgraded g++ multilib dependencies for clang jobs, enabled one OS X job.
...
libstdc++ 4.8 has a compatibility problem in C++14 mode since it attempts to
import ::gets into namespace std, and this function is not available.
2018-11-14 01:15:16 +03:00
Andrey Semashev
9c3d4c0c82
Disabled 32-bit tests on the default clang job. Updated multilib gcc dependencies on clang 6 and 7.
2018-11-01 21:30:06 +03:00
Andrey Semashev
b68229180b
Aggregated 32 and 64-bit tests into the same CI jobs to speedup testing.
2018-11-01 20:16:54 +03:00
Andrey Semashev
629d84fed7
Changed http to https in URLs.
2018-11-01 19:55:23 +03:00
Andrey Semashev
82fb2dd969
Aggregated multiple C++ versions per CI job to speed up testing.
2018-10-28 19:40:54 +03:00
Andrey Semashev
2b1dff067e
Hidden visibility is now used by default in the superproject.
2018-09-30 22:23:11 +03:00
Andrey Semashev
640f1796b0
Use Boost.Build feature to select hidden visibility.
2018-08-20 14:59:57 +03:00
Andrey Semashev
056588ab42
Switched to hidden visibility when building Boost.Atomic library.
2018-08-17 11:17:23 +03:00
Andrey Semashev
19eecf893c
Removed unused argument to silence compiler warnings.
...
Fixes https://github.com/boostorg/atomic/issues/16 .
boost-1.68.0
2018-07-30 12:10:48 +03:00
Andrey Semashev
6e14ca24da
Removed clang-specific branch for x86 DCAS-based loads.
...
The storage to load from is const-qualified and DCAS via compiler intrinsics
require an unqualified pointer. Use asm implementation instead, which should be
as efficient as intrinsics, if not better, in this case.
Fixes https://github.com/boostorg/atomic/issues/15 .
2018-07-17 12:37:29 +03:00
Andrey Semashev
98adecfbb4
Added cache line sizes for PowerPC and IBM Z.
...
The cache line sizes were taken from Boost.Lockfree.
2018-04-19 22:10:34 +03:00
Andrey Semashev
e16092f473
Updated copyright year.
boost-1.67.0
2018-03-18 01:39:40 +03:00
Andrey Semashev
8d5c592da2
Updated the Limitations section.
2018-02-27 02:20:09 +03:00
Andrey Semashev
406228d493
Made initializing constructor of atomic<> implicit.
...
This is an attempt to make boost::atomic<> interface closer to the standard. It
makes a difference in C++17 as it mandates copy elision, which makes this code
possible:
boost::atomic<int> a = 10;
It also makes is_convertible<T, boost::atomic<T>> return true, which has
implications on the standard library components, such as std::pair.
This removes the workaround for gcc 4.7, which complains that
operator=(value_arg_type) is considered ambiguous with operator=(atomic const&)
in assignment expressions, even though conversion to atomic<> is less preferred
than conversion to value_arg_type. We try to work around the problem from the
operator= side.
Added a new compile test to check that the initializing constructor is implicit.
2018-02-20 01:39:52 +03:00
Andrey Semashev
9fd86de20b
Silenced gcc warnings about unused parameter.
2018-02-18 14:00:16 +03:00
Andrey Semashev
b990132e85
Added casts to silence MSVC warnings about lost FP precision of constants.
2018-02-18 13:57:32 +03:00
Andrey Semashev
7ce05c8ff0
Extended the workaround for noexcept in defaulted constructors to clang 3.1.
2018-02-15 15:46:31 +03:00
Andrey Semashev
35c87f5f6e
Extended the workaround for noexcept in defaulted constructors to gcc 4.6.
2018-02-14 16:50:57 +03:00
Andrey Semashev
095812d84f
Make the default constructor trivial if the user's type default constructor is.
...
This requires the is_trivially_default_constructible type trait, which is not
available in the older libstdc++ versions up to gcc 5.1. Thus the config macro
is updated to reflect the fact that Boost.Atomic now has more advanced needs.
Also, attempt to work around Intel compiler problem, which seems to break
(allegedly) because of the noexcept specifiers in the defaulted default
constructors. This may not be the cause, so this change will need to be tested.
Also, use value_arg_type consistently across different specializations of
basic_atomic.
2018-02-14 15:26:57 +03:00
Andrey Semashev
e7347a7d87
Use __builtin_addressof intrinsic where possible.
2018-02-14 03:34:56 +03:00
Andrey Semashev
e081674ce9
Use FP numbers in FP tests.
2018-02-14 03:19:09 +03:00