summaryrefslogtreecommitdiff
path: root/net-libs/nodejs/files/nodejs-fix-incomplete-type.patch
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/nodejs/files/nodejs-fix-incomplete-type.patch')
-rw-r--r--net-libs/nodejs/files/nodejs-fix-incomplete-type.patch44
1 files changed, 0 insertions, 44 deletions
diff --git a/net-libs/nodejs/files/nodejs-fix-incomplete-type.patch b/net-libs/nodejs/files/nodejs-fix-incomplete-type.patch
deleted file mode 100644
index e204421597d0..000000000000
--- a/net-libs/nodejs/files/nodejs-fix-incomplete-type.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 0164c09d4025df2bd1a42f14de29166aa0e7ac7a Mon Sep 17 00:00:00 2001
-From: Richard Lau <rlau@redhat.com>
-Date: Wed, 26 Apr 2023 15:46:00 -0400
-Subject: [PATCH] deps: V8: cherry-pick c5ab3e4f0c5a
-
-Original commit message:
-
- libstdc++: fix incomplete type in v8::internal::is_subtype<T, U>
-
- Using std::convertible with incomplete types is UB. However, till
- GCC 12 it was accepted and std::convertible returned false.
- This fails now for e.g. v8::internal::WasmArray. Use
- std::disjunction and std::conjunction instead which are short-
- circuiting, because std::is_base_of<T, T> is already true.
-
- Bug: chromium:957519
- Change-Id: Ia26643dbdf0fb00d5586c71ae6b18e8d0f3cf96e
- Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4394663
- Commit-Queue: Stephan Hartmann <stha09@googlemail.com>
- Reviewed-by: Clemens Backes <clemensb@chromium.org>
- Cr-Commit-Position: refs/heads/main@{#86904}
-
-Refs: https://github.com/v8/v8/commit/c5ab3e4f0c5a3ce880941184ef8447c27cd19a93
----
- common.gypi | 2 +-
- deps/v8/src/codegen/tnode.h | 5 +++--
- 2 files changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/deps/v8/src/codegen/tnode.h b/deps/v8/src/codegen/tnode.h
-index cd7bd8db98c24..7629e89ad693f 100644
---- a/deps/v8/src/codegen/tnode.h
-+++ b/deps/v8/src/codegen/tnode.h
-@@ -269,8 +269,9 @@ using BuiltinPtr = Smi;
- template <class T, class U>
- struct is_subtype {
- static const bool value =
-- std::is_base_of<U, T>::value || (std::is_same<U, MaybeObject>::value &&
-- std::is_convertible<T, Object>::value);
-+ std::disjunction<std::is_base_of<U, T>,
-+ std::conjunction<std::is_same<U, MaybeObject>,
-+ std::is_convertible<T, Object>>>::value;
- };
- template <class T1, class T2, class U>
- struct is_subtype<UnionT<T1, T2>, U> {