From 823f2493b440f09c051800061be1747a3657bd79 Mon Sep 17 00:00:00 2001 From: Maksim Danilov Date: Fri, 3 Apr 2026 18:35:41 +0200 Subject: [PATCH] Rename 'leaf' to 'child' in intrusive_links.h (#1373) * Print test names at test time (#1343) * Rename 'leaf' to 'child' in intrusive_links.h Recent versions of the Tasking TriCore compiler treat 'leaf' as a reserved C++ keyword, causing compilation failures in ETL. --------- Co-authored-by: Roland Reichwein Co-authored-by: Maksim Danilov Co-authored-by: John Wellbelove --- include/etl/intrusive_links.h | 172 +++++++++++++++++++--------------- 1 file changed, 96 insertions(+), 76 deletions(-) diff --git a/include/etl/intrusive_links.h b/include/etl/intrusive_links.h index 7a8a9b73..22bdc7d2 100644 --- a/include/etl/intrusive_links.h +++ b/include/etl/intrusive_links.h @@ -1141,52 +1141,56 @@ namespace etl //*************************************************************************** // Reference, Reference template - typename etl::enable_if< etl::is_same >::value, void>::type link_left(TLink& parent, TLink& leaf) + typename etl::enable_if >::value, void>::type + link_left(TLink& parent, TLink& child) { - parent.etl_left = &leaf; - leaf.etl_parent = &parent; + parent.etl_left = &child; + child.etl_parent = &parent; } //*********************************** // Pointer, Pointer template - typename etl::enable_if< etl::is_same >::value, void>::type link_left(TLink* parent, TLink* leaf) + typename etl::enable_if >::value, void>::type + link_left(TLink* parent, TLink* child) { if (parent != ETL_NULLPTR) { - parent->etl_left = leaf; + parent->etl_left = child; } - if (leaf != ETL_NULLPTR) + if (child != ETL_NULLPTR) { - leaf->etl_parent = parent; + child->etl_parent = parent; } } //*********************************** // Reference, Pointer template - typename etl::enable_if< etl::is_same >::value, void>::type link_left(TLink& parent, TLink* leaf) + typename etl::enable_if >::value, void>::type + link_left(TLink& parent, TLink* child) { - parent.etl_left = leaf; + parent.etl_left = child; - if (leaf != ETL_NULLPTR) + if (child != ETL_NULLPTR) { - leaf->etl_parent = &parent; + child->etl_parent = &parent; } } //*********************************** // Pointer, Reference template - typename etl::enable_if< etl::is_same >::value, void>::type link_left(TLink* parent, TLink& leaf) + typename etl::enable_if >::value, void>::type + link_left(TLink* parent, TLink& child) { if (parent != ETL_NULLPTR) { - parent->etl_left = &leaf; + parent->etl_left = &child; } - leaf.etl_parent = parent; + child.etl_parent = parent; } //*************************************************************************** @@ -1194,49 +1198,53 @@ namespace etl // Sets the right link. //*************************************************************************** template - typename etl::enable_if< etl::is_same >::value, void>::type link_right(TLink& parent, TLink& leaf) + typename etl::enable_if >::value, void>::type + link_right(TLink& parent, TLink& child) { - parent.etl_right = &leaf; - leaf.etl_parent = &parent; + parent.etl_right = &child; + child.etl_parent = &parent; } //*********************************** template - typename etl::enable_if< etl::is_same >::value, void>::type link_right(TLink* parent, TLink* leaf) + typename etl::enable_if >::value, void>::type + link_right(TLink* parent, TLink* child) { if (parent != ETL_NULLPTR) { - parent->etl_right = leaf; + parent->etl_right = child; } - if (leaf != ETL_NULLPTR) + if (child != ETL_NULLPTR) { - leaf->etl_parent = parent; + child->etl_parent = parent; } } //*********************************** template - typename etl::enable_if< etl::is_same >::value, void>::type link_right(TLink& parent, TLink* leaf) + typename etl::enable_if >::value, void>::type + link_right(TLink& parent, TLink* child) { - parent.etl_right = leaf; + parent.etl_right = child; - if (leaf != ETL_NULLPTR) + if (child != ETL_NULLPTR) { - leaf->etl_parent = &parent; + child->etl_parent = &parent; } } //*********************************** template - typename etl::enable_if< etl::is_same >::value, void>::type link_right(TLink* parent, TLink& leaf) + typename etl::enable_if >::value, void>::type + link_right(TLink* parent, TLink& child) { if (parent != ETL_NULLPTR) { - parent->etl_right = &leaf; + parent->etl_right = &child; } - leaf.etl_parent = parent; + child.etl_parent = parent; } //*************************************************************************** @@ -1244,30 +1252,31 @@ namespace etl //*************************************************************************** // Reference, Reference template - typename etl::enable_if< etl::is_same >::value, void>::type link_rotate_left(TLink& parent, TLink& leaf) + typename etl::enable_if >::value, void>::type + link_rotate_left(TLink& parent, TLink& child) { TLink* grandparent = parent.etl_parent; - parent.etl_right = leaf.etl_left; + parent.etl_right = child.etl_left; if (parent.etl_right != ETL_NULLPTR) { parent.etl_right->etl_parent = &parent; } - leaf.etl_parent = grandparent; - parent.etl_parent = &leaf; - leaf.etl_left = &parent; + child.etl_parent = grandparent; + parent.etl_parent = &child; + child.etl_left = &parent; if (grandparent != ETL_NULLPTR) { if (grandparent->etl_left == &parent) { - grandparent->etl_left = &leaf; + grandparent->etl_left = &child; } else if (grandparent->etl_right == &parent) { - grandparent->etl_right = &leaf; + grandparent->etl_right = &child; } } } @@ -1275,33 +1284,36 @@ namespace etl //*********************************** // Pointer, Pointer template - typename etl::enable_if< etl::is_same >::value, void>::type link_rotate_left(TLink* parent, TLink* leaf) + typename etl::enable_if >::value, void>::type + link_rotate_left(TLink* parent, TLink* child) { - if ((parent != ETL_NULLPTR) && (leaf != ETL_NULLPTR)) + if ((parent != ETL_NULLPTR) && (child != ETL_NULLPTR)) { - link_rotate_left(*parent, *leaf); + link_rotate_left(*parent, *child); } } //*********************************** // Reference, Pointer template - typename etl::enable_if< etl::is_same >::value, void>::type link_rotate_left(TLink& parent, TLink* leaf) + typename etl::enable_if >::value, void>::type + link_rotate_left(TLink& parent, TLink* child) { - if (leaf != ETL_NULLPTR) + if (child != ETL_NULLPTR) { - link_rotate_left(parent, *leaf); + link_rotate_left(parent, *child); } } //*********************************** // Pointer, Reference template - typename etl::enable_if< etl::is_same >::value, void>::type link_rotate_left(TLink* parent, TLink& leaf) + typename etl::enable_if >::value, void>::type + link_rotate_left(TLink* parent, TLink& child) { if (parent != ETL_NULLPTR) { - link_rotate_left(*parent, leaf); + link_rotate_left(*parent, child); } } @@ -1309,59 +1321,63 @@ namespace etl // link_rotate_right //*************************************************************************** template - typename etl::enable_if< etl::is_same >::value, void>::type link_rotate_right(TLink& parent, TLink& leaf) + typename etl::enable_if >::value, void>::type + link_rotate_right(TLink& parent, TLink& child) { TLink* grandparent = parent.etl_parent; - parent.etl_left = leaf.etl_right; + parent.etl_left = child.etl_right; if (parent.etl_left != ETL_NULLPTR) { parent.etl_left->etl_parent = &parent; } - leaf.etl_parent = grandparent; - parent.etl_parent = &leaf; - leaf.etl_right = &parent; + child.etl_parent = grandparent; + parent.etl_parent = &child; + child.etl_right = &parent; if (grandparent != ETL_NULLPTR) { if (grandparent->etl_left == &parent) { - grandparent->etl_left = &leaf; + grandparent->etl_left = &child; } else if (grandparent->etl_right == &parent) { - grandparent->etl_right = &leaf; + grandparent->etl_right = &child; } } } template - typename etl::enable_if< etl::is_same >::value, void>::type link_rotate_right(TLink* parent, TLink* leaf) + typename etl::enable_if >::value, void>::type + link_rotate_right(TLink* parent, TLink* child) { - if ((parent != ETL_NULLPTR) && (leaf != ETL_NULLPTR)) + if ((parent != ETL_NULLPTR) && (child != ETL_NULLPTR)) { - link_rotate_right(*parent, *leaf); + link_rotate_right(*parent, *child); } } template - typename etl::enable_if< etl::is_same >::value, void>::type link_rotate_right(TLink& parent, TLink* leaf) + typename etl::enable_if >::value, void>::type + link_rotate_right(TLink& parent, TLink* child) { - if (leaf != ETL_NULLPTR) + if (child != ETL_NULLPTR) { - link_rotate_right(parent, *leaf); + link_rotate_right(parent, *child); } } //*********************************** template - typename etl::enable_if< etl::is_same >::value, void>::type link_rotate_right(TLink* parent, TLink& leaf) + typename etl::enable_if >::value, void>::type + link_rotate_right(TLink* parent, TLink& child) { if (parent != ETL_NULLPTR) { - link_rotate_right(*parent, leaf); + link_rotate_right(*parent, child); } } @@ -1371,15 +1387,16 @@ namespace etl // Reference, Reference /// Automatically detects whether a left or right rotate is expected. template - typename etl::enable_if< etl::is_same >::value, void>::type link_rotate(TLink& parent, TLink& leaf) + typename etl::enable_if >::value, void>::type + link_rotate(TLink& parent, TLink& child) { - if (parent.etl_left == &leaf) + if (parent.etl_left == &child) { - etl::link_rotate_right(parent, leaf); + etl::link_rotate_right(parent, child); } else { - etl::link_rotate_left(parent, leaf); + etl::link_rotate_left(parent, child); } } @@ -1387,17 +1404,18 @@ namespace etl // Pointer, Pointer /// Automatically detects whether a left or right rotate is expected. template - typename etl::enable_if< etl::is_same >::value, void>::type link_rotate(TLink* parent, TLink* leaf) + typename etl::enable_if >::value, void>::type + link_rotate(TLink* parent, TLink* child) { - if ((parent != ETL_NULLPTR) && (leaf != ETL_NULLPTR)) + if ((parent != ETL_NULLPTR) && (child != ETL_NULLPTR)) { - if (parent->etl_left == leaf) + if (parent->etl_left == child) { - etl::link_rotate_right(*parent, *leaf); + etl::link_rotate_right(*parent, *child); } else { - etl::link_rotate_left(*parent, *leaf); + etl::link_rotate_left(*parent, *child); } } } @@ -1406,17 +1424,18 @@ namespace etl // Reference, Pointer /// Automatically detects whether a left or right rotate is expected. template - typename etl::enable_if< etl::is_same >::value, void>::type link_rotate(TLink& parent, TLink* leaf) + typename etl::enable_if >::value, void>::type + link_rotate(TLink& parent, TLink* child) { - if (leaf != ETL_NULLPTR) + if (child != ETL_NULLPTR) { - if (parent.etl_left == leaf) + if (parent.etl_left == child) { - etl::link_rotate_right(parent, *leaf); + etl::link_rotate_right(parent, *child); } else { - etl::link_rotate_left(parent, *leaf); + etl::link_rotate_left(parent, *child); } } } @@ -1425,17 +1444,18 @@ namespace etl // Pointer, Reference /// Automatically detects whether a left or right rotate is expected. template - typename etl::enable_if< etl::is_same >::value, void>::type link_rotate(TLink* parent, TLink& leaf) + typename etl::enable_if >::value, void>::type + link_rotate(TLink* parent, TLink& child) { if (parent != ETL_NULLPTR) { - if (parent->etl_left == &leaf) + if (parent->etl_left == &child) { - etl::link_rotate_right(*parent, leaf); + etl::link_rotate_right(*parent, child); } else { - etl::link_rotate_left(*parent, leaf); + etl::link_rotate_left(*parent, child); } } }