From 4936e2350e0b4aae482b12c7ce02aaa3c7e64842 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 27 Apr 2023 06:16:36 +0100 Subject: gentoo auto-resync : 27:04:2023 - 06:16:36 --- .../nodejs/files/nodejs-fix-incomplete-type.patch | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 net-libs/nodejs/files/nodejs-fix-incomplete-type.patch (limited to 'net-libs/nodejs/files') diff --git a/net-libs/nodejs/files/nodejs-fix-incomplete-type.patch b/net-libs/nodejs/files/nodejs-fix-incomplete-type.patch new file mode 100644 index 000000000000..e204421597d0 --- /dev/null +++ b/net-libs/nodejs/files/nodejs-fix-incomplete-type.patch @@ -0,0 +1,44 @@ +From 0164c09d4025df2bd1a42f14de29166aa0e7ac7a Mon Sep 17 00:00:00 2001 +From: Richard Lau +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 + + 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 is already true. + + Bug: chromium:957519 + Change-Id: Ia26643dbdf0fb00d5586c71ae6b18e8d0f3cf96e + Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4394663 + Commit-Queue: Stephan Hartmann + Reviewed-by: Clemens Backes + 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 + struct is_subtype { + static const bool value = +- std::is_base_of::value || (std::is_same::value && +- std::is_convertible::value); ++ std::disjunction, ++ std::conjunction, ++ std::is_convertible>>::value; + }; + template + struct is_subtype, U> { -- cgit v1.2.3