Richard Henderson <richard.hender...@linaro.org> writes:
> Copy and simplify the Linux kernel's interval_tree_generic.h, > instantiating for uint64_t. > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- <snip> > diff --git a/util/interval-tree.c b/util/interval-tree.c > new file mode 100644 > index 0000000000..9578c05830 > --- /dev/null > +++ b/util/interval-tree.c > @@ -0,0 +1,881 @@ <snip> > + > +#if 1 > +static void debug_interval_tree_int(IntervalTreeNode *node, > + const char *dir, int level) > +{ > + printf("%4d %*s %s [%" PRId64 ",%" PRId64 "] subtree_last:%" PRId64 "\n", > + level, level + 1, dir, rb_is_red(&node->rb) ? "r" : "b", > + node->start, node->last, node->subtree_last); > + > + if (node->rb.rb_left) { > + debug_interval_tree_int(rb_to_itree(node->rb.rb_left), "<", level + > 1); > + } > + if (node->rb.rb_right) { > + debug_interval_tree_int(rb_to_itree(node->rb.rb_right), ">", level + > 1); > + } > +} > + > +void debug_interval_tree(IntervalTreeNode *node); > +void debug_interval_tree(IntervalTreeNode *node) > +{ > + if (node) { > + debug_interval_tree_int(node, "*", 0); > + } else { > + printf("null\n"); > + } > +} > +#endif This seems superfluous especially as we have unit tests. Otherwise: Reviewed-by: Alex Bennée <alex.ben...@linaro.org> -- Alex Bennée