[libcxx-commits] [libcxx] [libc++][type_traits] Added missing `std::is_virtual_base_of` to `type_traits.inc` (PR #107009)

Hristo Hristov via libcxx-commits libcxx-commits at lists.llvm.org
Mon Sep 2 10:03:56 PDT 2024


https://github.com/H-G-Hristov created https://github.com/llvm/llvm-project/pull/107009

`std::is_virtual_base_of` was implemented in https://github.com/llvm/llvm-project/pull/105847

>From 5be3c87f46b637dbaae7b1bf30305a524bd4db41 Mon Sep 17 00:00:00 2001
From: Hristo Hristov <hghristov.rmm at gmail.com>
Date: Mon, 2 Sep 2024 20:00:40 +0300
Subject: [PATCH] [libc++][type_traits] Added missing `std::is_virtual_base_of`
 to `type_traits.inc`

`std::is_virtual_base_of` was implemented in https://github.com/llvm/llvm-project/pull/105847
---
 libcxx/modules/std/type_traits.inc | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libcxx/modules/std/type_traits.inc b/libcxx/modules/std/type_traits.inc
index d368daf35ccb8c..485a5ddf63aed0 100644
--- a/libcxx/modules/std/type_traits.inc
+++ b/libcxx/modules/std/type_traits.inc
@@ -114,6 +114,9 @@ export namespace std {
 
   // [meta.rel], type relations
   using std::is_base_of;
+#if _LIBCPP_STD_VER >= 26 && __has_builtin(__builtin_is_virtual_base_of)
+  using std::is_virtual_base_of;
+#endif
   using std::is_convertible;
   // using std::is_layout_compatible;
   using std::is_nothrow_convertible;
@@ -287,6 +290,9 @@ export namespace std {
 
   // [meta.rel], type relations
   using std::is_base_of_v;
+#if _LIBCPP_STD_VER >= 26 && __has_builtin(__builtin_is_virtual_base_of)
+  using std::is_virtual_base_of_v;
+#endif
   using std::is_convertible_v;
   using std::is_invocable_r_v;
   using std::is_invocable_v;



More information about the libcxx-commits mailing list