diff options
author | dougm <dougm@FreeBSD.org> | 2020-06-10 02:50:25 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-10-26 14:18:46 +0100 |
commit | e83aad1851e8fa453c53e1663141f48014ea4a7c (patch) | |
tree | 488d41d6687fdc8b322badaa6a87a77faf3f8653 | |
parent | 5b29be92e3267109c3cb48d22fa9e0f09aa9d150 (diff) | |
download | cygnal-e83aad1851e8fa453c53e1663141f48014ea4a7c.tar.gz cygnal-e83aad1851e8fa453c53e1663141f48014ea4a7c.tar.bz2 cygnal-e83aad1851e8fa453c53e1663141f48014ea4a7c.zip |
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
-rw-r--r-- | newlib/libc/include/sys/tree.h | 6 |
1 files changed, 6 insertions, 0 deletions
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. |