Commit Graph

361 Commits

Author SHA1 Message Date
Andrey Semashev
5c519b0611 [ci-skip] Disabled all but one OS X jobs because they are slow on Travis CI. 2019-10-22 15:09:11 +03:00
Andrey Semashev
d491c662a1 Removed redundant semicolon. 2019-10-14 00:00:13 +03:00
Andrey Semashev
b39e88d24a Disabled clang-5 tests for 32-bit x86 target. 2019-10-13 22:42:51 +03:00
Andrey Semashev
4dc0fdc1b1 Try downgrading clang-5 to trusty and g++-5-multilib. 2019-10-13 20:53:26 +03:00
Andrey Semashev
6228d67509 Try switching clang-5 to bionic to work around float128 failures on 32-bit x86.\ 2019-10-13 19:19:55 +03:00
Andrey Semashev
fa0af040aa Revert "Try downgrading to g++-6 for clang-5 to workaround 32-bit float128 test failures."
This reverts commit 06bf02a113.

The tests are still failing.
2019-10-13 18:13:38 +03:00
Andrey Semashev
06bf02a113 Try downgrading to g++-6 for clang-5 to workaround 32-bit float128 test failures. 2019-10-13 11:36:33 +03:00
Andrey Semashev
02bb45efd7 Added a compiler flag to enable cmpxchg16b on clang-win. 2019-10-13 10:58:31 +03:00
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. 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. 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.
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. 2018-03-18 01:39:40 +03:00
Andrey Semashev
8d5c592da2 Updated the Limitations section. 2018-02-27 02:20:09 +03:00