Atomics 1.0.2
This is a patch release that introduces initial support for building this package with the Swift 5.5 compiler.
(More fully-featured support with additional Sendable
conformances will come in a future minor release.)
Fixes
- The package now has a workaround for an arm64 code generation issue for double wide atomics in the version of LLVM that ships in Swift 5.5. (#41)
- When building with Swift 5.5,
UnsafeAtomic
andUnsafeAtomicLazyReference
now only conform toSendable
when their value is. Swift 5.5 implicitly adds unconditional conformances to these types in 1.0.1, which isn't right. (#47) - The package now has better support for building with CMake. (#39) (Note that the CMake build configuration is intended only to enable the use of this package within Swift toolchain builds. It isn't part of the package's public API, so it is subject to change in any release.)
Pull Requests
- #38 [shims] Only define atomic shims in Swift's Clang Importer (by @lorentey)
- #39 [cmake] Fix building with CMake (by @lorentey)
- #40 Add support test script (by @lorentey)
- #43 Implement double-wide loads with compare-exchange on arm64 in debug builds with the Swift 5.5 compiler (by @lorentey)
- #44 Update utility scripts (by @lorentey)
- #48 Fix
UnsafeAtomic
'sSendable
conformance (by @lorentey)
Thank you to everyone who contributed to this release!