On Mon, Jul 01, 2019 at 09:46:30AM +0200, Peter Zijlstra wrote: > On Fri, Jun 28, 2019 at 05:49:52PM -0700, Michel Lespinasse wrote:
> > The motivation for this change is that I want to introduce augmented rbtree > > uses where the augmented data for the subtree is a struct instead of a > > scalar. > Can't we have a helper macro that converts an old (scalar) style compute > into a new style compute and avoid this unfortunate and error prone > copy/pasta ? Or add a RBEQUAL argument that does: - if (node->RBAUGMENTED == augmented) + if (RBEQUAL(&node->RBAUGMENTED, &augmented)) With a bit of foo you can even provide a default implementation that does: *a == *b. See GEN_UNARY_RMWcc() for how to do that.