#else
#define KASSERT(s) do { } while (/*CONSTCOND*/ 0)
#endif
-// __RCSID("$NetBSD: rb.c,v 1.13 2014/08/22 17:19:48 matt Exp $");
+//__RCSID("$NetBSD: rb.c,v 1.13 2014/08/22 17:19:48 matt Exp $");
#else
#include <lib/libkern/libkern.h>
-// __KERNEL_RCSID(0, "$NetBSD: rb.c,v 1.13 2014/08/22 17:19:48 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rb.c,v 1.13 2014/08/22 17:19:48 matt Exp $");
#endif
#ifdef _LIBC
#include "namespace.h"
#endif
-//#ifdef RBTEST
+#ifdef RBTEST
#include "rbtree.h"
-//#else
-//#include <sys/rbtree.h>
-//#endif
-
-#if !defined(__predict_false)
-#if __GNUC__ > 2
-#define __predict_true(exp) __builtin_expect((exp) != 0, 1)
-#define __predict_false(exp) __builtin_expect((exp) != 0, 0)
#else
-#define __predict_true(exp) (exp)
-#define __predict_false(exp) (exp)
-#endif
+#include <sys/rbtree.h>
#endif
+#include "common.h"
+
static void rb_tree_insert_rebalance(struct rb_tree *, struct rb_node *);
static void rb_tree_removal_rebalance(struct rb_tree *, struct rb_node *,
unsigned int);
struct rb_node * const new_father = old_child;
struct rb_node * const new_child = old_father;
+#if !defined(_KERNEL) && !defined(_STANDALONE) && !defined(RBDEBUG)
+ UNUSED(rbt);
+#endif
+
KASSERT(which == RB_DIR_LEFT || which == RB_DIR_RIGHT);
KASSERT(!RB_SENTINEL_P(old_child));
rm -f _rbtree.c _rbtree
fi
if [ "$RBTREE" = no ]; then
+ echo "CPPFLAGS+= -DRBTEST" >>$CONFIG_MK
echo "COMPAT_SRCS+= compat/rb.c" >>$CONFIG_MK
echo "#include \"compat/rbtree.h\"" >>$CONFIG_H
else
# endif
#endif
+#ifndef __predict_false
+# if __GNUC__ > 2
+# define __predict_true(exp) __builtin_expect((exp) != 0, 1)
+# define __predict_false(exp) __builtin_expect((exp) != 0, 0)
+#else
+# define __predict_true(exp) (exp)
+# define __predict_false(exp) (exp)
+# endif
+#endif
+
#ifndef __fallthrough
# if __GNUC__ >= 7
# define __fallthrough __attribute__((fallthrough))