[all-commits] [llvm/llvm-project] f41f39: [libc++] Fixes operator& hijacking atomic types.
Mark de Wever via All-commits
all-commits at lists.llvm.org
Mon Feb 27 10:23:29 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f41f392520935ff78f211f48240c46d6c715fd13
https://github.com/llvm/llvm-project/commit/f41f392520935ff78f211f48240c46d6c715fd13
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2023-02-27 (Mon, 27 Feb 2023)
Changed paths:
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_base.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__atomic/cxx_atomic_impl.h
A libcxx/test/std/atomics/atomics.types.generic/general.compile.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/pointer.compile.pass.cpp
M libcxx/test/support/operator_hijacker.h
Log Message:
-----------
[libc++] Fixes operator& hijacking atomic types.
This uses std::addressof everywherein atomic. This is not strictly
needed for the integral and floating point specializations. They should
not be used by user defined types. But it's easier to fix everything.
Note these changes are made using a WIP clang-tidy plugin.
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D144786
More information about the All-commits
mailing list