https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115807
Bug ID: 115807 Summary: C++23 P0943R6 <stdatomic.h> does't qualify std::atomic in #define _Atomic properly Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: mital at mitalashok dot co.uk Target Milestone: --- https://wg21.link/P0943R6 / https://eel.is/c++draft/stdatomic.h.syn says `#define _Atomic` should look more like this: ``` template<typename _Tp> using __std_atomic = std::atomic<_Tp>; #define _Atomic(_Tp) __std_atomic<_Tp> ``` Though `#define _Atomic(_Tp) ::std::atomic<_Tp>` should also work. The problem with the current `#define _Atomic(_Tp) std::atomic<_Tp>` is that this doesn't work: ``` #include <stdatomic.h> namespace my::std { _Atomic(int) x; } ```