mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-24 04:36:08 +00:00

Summary: C++20 introduced an atomic reference type, which more easily wraps around the standard way of dealing with atomics. Instead of a dedicated type, it allows you to treat an existing allocation as atomic. This has no users yet, but I'm hoping to use it when I start finalizing my GPU allocation interface, as it will need to handle atomic values in-place that can't be done with placement new. Hopefully this is small enough that we can just keep it in-tree until it's needed, but I'll accept holding it here until it has a user. I added one extension to allow implicit conversion and CTAD.