llvm-project
3a634076 - [libc++] Make __atomic_base into an implementation detail of std::atomic (#115764)

Commit
305 days ago
[libc++] Make __atomic_base into an implementation detail of std::atomic (#115764) The __atomic_base base class is only useful to conditionalize the operations we provide inside std::atomic. It shouldn't be used directly from other places in the library which can use std::atomic directly instead. Since we've granularized our includes, using std::atomic directly should not make much of a difference compile-time wise. This patch starts using std::atomic directly from other classes like std::barrier and std::latch. Changing this shouldn't be an ABI break since both classes have the same size and layout. The benefits of this patch are isolating other parts of the code base from implementation details of std::atomic and simplifying the mental model for std::atomic's layers of implementation by making it clear that __atomic_base is only an implementation detail of std::atomic.
Author
Parents
Loading