and thanks for the nand catch!
On Fri, Nov 30, 2012 at 9:00 PM, Dmitry Vyukov <dvyu...@google.com> wrote: > On Fri, Nov 30, 2012 at 8:38 PM, Jakub Jelinek <ja...@redhat.com> wrote: >> On Tue, Nov 27, 2012 at 12:47:50PM +0400, Dmitry Vyukov wrote: >>> Yes, you are right. >>> I think I've done them atomically initially because of things like >>> FUTEX_WAKE_OP. I will fix that. >> >> Any progress on that? >> >> BTW, the current >> template<typename T> T func_nand(T v, T op) { >> return ~v & op; >> } >> is wrong not just by not being atomic (similarly to others), but >> furthermore because __sync_fetch_and_nand (and __atomic etc.) are >> return ~(v & op); >> instead (GCC < 4.4 did it wrongly as ~v & op; though). > > > Hi, > > No progress for now. It's in my todo list, but I am busy with other tasks. > It should not block you on compiler side, and I think work most of the > time, so I will fix in near future.