This implements WG14 N2886 (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2886.htm) which removed the macro entirely. (NB the macro was deprecated in C17.) As the paper is not particularly clear on what alternative was picked, here are my notes from the May 2022 meeting:
Does WG14 wish to adopt variant 1, change 3.2, 3.3, and 3.4 from N2886 into C23? 14/2/2 (consensus).
Does WG14 want to exchange Variant 1 with Variant 2 in N2886 in C23? 9/3/6 (consensus).
(There was no sentiment in the room for either Variant 3 or Variant 4 so those were not voted on.)
Does WG14 want to integrate change 3.5 in N2886 into C23? 8/1/9 (consensus).
Does WG14 want to integrate change 3.6 in N2886 into C23? 2/5/9 (no consensus).
I've added the libc++ reviewers to ensure this doesn't negatively impact <atomic> and the clang-vendors group for early awareness about a potentially breaking change. Any code that is broken by the removal can remove the use of ATOMIC_VAR_INIT and use regular initialization instead.
Just confirming we want to pluralize standards here? It kind of look weird to my non native eyes.