================ @@ -593,6 +594,43 @@ public: __tree_node_base& operator=(__tree_node_base const&) = delete; }; +#ifdef _LIBCPP_ABI_TREE_POINTER_INT_PAIR +template <> +class __tree_node_base<void*> : public __tree_end_node<__tree_node_base<void*>*> { +public: + using pointer = __tree_node_base<void*>*; + using __end_node_pointer _LIBCPP_NODEBUG = __tree_end_node<__tree_node_base<void*>*>*; + + pointer __right_; + +private: + using __pair_t = __pointer_int_pair<__end_node_pointer, bool, __integer_width(1)>; ---------------- philnik777 wrote:
I don't think that's a good idea. We don't have any way to let a fancy pointer tell us that it has free bits available, so that argument seems rather moot. If we ever have that we'll want to do a sweep of the library to check whether it makes sense anywhere else anyways. It would also require us to allow `__pointer_int_pair` to be larger than the pointer type, which would most likely hide programming errors. https://github.com/llvm/llvm-project/pull/147681 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits