On 27/02/18 12:56, Ruslan Nikolaev wrote:
Formally speaking, either implementation satisfies C11 because the standard allows much leeway in the interpretation here.
no, 1) your proposal would make gcc non-conforming to iso c unless it changes how static const objects are emitted. 2) the two implementations are not abi compatible, the choice is already made, changing it is an abi break. 3) Torvald pointed out further considerations such as users expecting lock-free atomic loads to be faster than stores. the solutions is to add a language extension, but that requires careful design.