- User Since
- Jan 27 2014, 9:36 AM (311 w, 4 d)
Tue, Jan 14
Mon, Jan 13
This changes the expression to a constant expression as well, right? You should point this out in the commit message.
Wed, Jan 8
@vitalybuka could we move this patch forward?
Tue, Jan 7
- Address feedback
Sun, Jan 5
Fri, Jan 3
OK that helps a bit. I still don't understand though: why do you only need to protect flush and nothing else? You're protecting specific variables from being accesses concurrently only though flush, and not through the other paths that access those variables. Are these variables never accessed concurrently from these other functions?
Thu, Dec 19
This generally seems fine. Does it work on most backends? I want to make sure it doesn't fail in backends :)
Dec 12 2019
Dec 9 2019
When you say "when the process is forked in different threads" you mean threads, not fork, right? Because this won't fix any issues you're seeing with fork.
Dec 6 2019
You should upload patches with context :)
Dec 5 2019
Nov 16 2019
Nov 15 2019
Nov 13 2019
Nov 8 2019
Minor comments, but otherwise LGTM.
Oct 21 2019
Oct 17 2019
More of an FYI, @jordan_rose might be interested in this.
Oct 16 2019
Oct 14 2019
This is pretty brittle... but 🤷♂️
Sep 27 2019
The entire point of this feature is to add guardrails to the language. What do people expect in the real world? Is there a cost to meeting these expectations? If we put the pattern (0x00 or 0xaa) in the technically undef space, what comes out?
Separately, does this do floating-point add / sub properly? We added them too C++20.
Sep 13 2019
Sep 12 2019
Sounds like this is ready to land again! Thanks for fixing everything.
Sep 10 2019
Sep 6 2019
Sep 5 2019
- Address arsenm's comments
Sep 4 2019
Sep 3 2019
Sorry for the delayed response, I was on vacation. Thanks for tackling it!
Sep 1 2019
I refer you to http://wg21.link/p0883
I don’t think this diagnostic should be added to clang until p0883 is fully implemented, even just for C. Otherwise we leave users with no portable way to do the right thing without diagnostic.
Aug 30 2019
Is atomic initialization now correct in all modes (including C++) without this macro? I don’t think we should diagnose until such a time because some code uses to macro to be portably correct. IIRC we only ended up fixing C++ in 20 with Nico’s paper (after Olivier and I failed repeatedly to do so.
Aug 20 2019
Aug 15 2019
Could you document this limitation in CodingStandards.rst, like what I removed for C++11 in https://reviews.llvm.org/D66195#change-S42p9rAdiuZJ ?
- Use if instead of ternary
- Fall through as suggested.
I have a repro, will try to figure out a workaround. It's fixed in 5.2. Talking to Jonathan Wakely we'd probably be better off on 5.5, but that'll be a separate discussion.
Ugh that's an ugly one...
Thanks for fixing this!
Aug 14 2019
BTW, if this breaks stuff maybe it's better to do it one project at a time, and remove the helper at the very end.
Can XL enable all the same flags which GCC can? There's a lot under that elseif! At that point, isn't XL GCC compatible?