2
0
mirror of https://github.com/boostorg/atomic.git synced 2026-02-01 08:12:07 +00:00
Andrey Semashev 2ed311af18 Fixed wrong x86 code generated for bit_test_and_op for 8 and 16-bit atomics.
The implementation used to generate 32-bit bts/btr/btc for 8 and 16-bit
atomics, which could result in alignment and access violation and possibly
data corruption. 32 and 64-bit atomics are unaffected.

This commit fixes operaend width for 16-bit atomics. For 8-bit atomics the
generic implementation is used based on or/and/xor instructions since there
are no 8-bit bts/btr/btc.
2020-02-25 23:59:02 +03:00
2020-02-25 02:00:05 +03:00
2020-02-25 02:07:50 +03:00
2020-02-25 02:07:50 +03:00
2019-12-28 22:05:39 +02:00
2018-11-01 19:55:23 +03:00

Boost.Atomic

Boost.Atomic, part of collection of the Boost C++ Libraries, implements atomic operations for various CPU architectures, reflecting and extending the standard interface defined in C++11.

Directories

  • build - Boost.Atomic build scripts
  • doc - QuickBook documentation sources
  • include - Interface headers of Boost.Atomic
  • src - Compilable source code of Boost.Atomic
  • test - Boost.Atomic unit tests

More information

  • Documentation
  • Report bugs. Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well.
  • Submit your patches as pull requests against develop branch. Note that by submitting patches you agree to license your modifications under the Boost Software License, Version 1.0.

Build status

Master: AppVeyor Travis CI Develop: AppVeyor Travis CI

License

Distributed under the Boost Software License, Version 1.0.

Description
Mirrored via gitea-mirror
Readme 2.3 MiB
Languages
C++ 99.3%
CMake 0.7%