From e83aad1851e8fa453c53e1663141f48014ea4a7c Mon Sep 17 00:00:00 2001 From: dougm Date: Wed, 10 Jun 2020 02:50:25 +0000 Subject: [PATCH] Restore an RB_COLOR macro, for the benefit of a bit of DIAGNOSTIC code that depends on it. Reported by: rpokala, mjguzik Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D25204 --- newlib/libc/include/sys/tree.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/newlib/libc/include/sys/tree.h b/newlib/libc/include/sys/tree.h index 29b731822..7c2053981 100644 --- a/newlib/libc/include/sys/tree.h +++ b/newlib/libc/include/sys/tree.h @@ -333,6 +333,12 @@ struct { \ #define RB_TRUE 1 #define RB_FALSE 0 +/* For debugging support */ +#define RB_COLOR(elm, field) (RB_PARENT(elm, field) == NULL ? RB_FALSE : \ + RB_LEFT(RB_PARENT(elm, field), field) == elm ? \ + RB_RED_LF(RB_PARENT(elm, field), field) : \ + RB_RED_RT(RB_PARENT(elm, field), field) + /* * Something to be invoked in a loop at the root of every modified subtree, * from the bottom up to the root, to update augmented node data. -- 2.43.5