[PATCH] D67023: Diagnose use of ATOMIC_VAR_INIT

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Sep 1 09:24:16 PDT 2019


aaron.ballman added a comment.

In D67023#1653425 <https://reviews.llvm.org/D67023#1653425>, @jfb wrote:

> Is atomic initialization now correct in all modes (including C++) without this macro?


My understanding is yes, but I am not an expert in atomics. However, the diagnostic is currently tied to C and hasn't been introduced for C++.

> I don’t think we should diagnose until such a time because some code uses to macro to be portably correct.

I think that time is now, but more importantly, I think we should diagnose anything the standard deprecates because that code will not be portable for long and this is the way we indicate that to users. This is no different than any of our other deprecation diagnostics in that regard. Is there a reason to deviate with this specific macro?

> IIRC we only ended up fixing C++ in 20 with Nico’s paper (after Olivier and I failed repeatedly to do so.

I don't believe this macro is (reasonably) implementable in C++ any more than it is in C, so I'm skeptical that *everything* was fixed with it. Do you know of implementations where this macro is required in order to properly handle initialization? Has SG1 had any discussions about deprecating it?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67023/new/

https://reviews.llvm.org/D67023





More information about the cfe-commits mailing list