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 | newlib-e83aad1851e8fa453c53e1663141f48014ea4a7c.zip newlib-e83aad1851e8fa453c53e1663141f48014ea4a7c.tar.gz newlib-e83aad1851e8fa453c53e1663141f48014ea4a7c.tar.bz2 | |
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 29b7318..7c20539 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. |
