On Mon, Oct 22, 2012 at 10:01 AM, Will Deacon <[email protected]> wrote: > rb_erase_augmented is a static function annotated with __always_inline. > This causes a compile failure when attempting to use the rbtree > implementation as a library (e.g. kvm tool): > > rbtree_augmented.h:125:24: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘void’ > > This patch includes linux/compiler.h in rbtree_augmented.h so that the > __always_inline macro is resolved correctly. > > Cc: Pekka Enberg <[email protected]> > Cc: Michel Lespinasse <[email protected]> > Cc: Ingo Molnar <[email protected]> > Signed-off-by: Will Deacon <[email protected]>
Just curious - what are you going to implement with augmented rbtrees in kvm tool ? If the basic rbtree or the interval tree implementations are sufficient for your usage, you should try using that (in which case you won't need this header fix). But either way, the header fix is correct and will be required when someone wants to use augmented rbtrees outside of the kernel. I just didn't think that day would come so fast :) Reviewed-by: Michel Lespinasse <[email protected]> -- Michel "Walken" Lespinasse A program is never fully debugged until the last user dies. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

