forked from spack/spack
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
node-js: patch for %gcc@12.[1-2] when @22.2:22.5 (spack#47979)
* node-js: patch for %gcc@12.[1-2] when @22.2:22 * node-js: avoid url patch (serial in common.gypi)
- Loading branch information
Showing
2 changed files
with
30 additions
and
0 deletions.
There are no files selected for viewing
25 changes: 25 additions & 0 deletions
25
var/spack/repos/builtin/packages/node-js/fix-broken-gcc12-pr53728.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
diff --git a/deps/v8/src/base/macros.h b/deps/v8/src/base/macros.h | ||
index 210885af3c3c0a35111d9fcbbcce95e1570c7a23..d404b6120ab86ff598def668442b444afeb88ebd 100644 | ||
--- a/deps/v8/src/base/macros.h | ||
+++ b/deps/v8/src/base/macros.h | ||
@@ -173,7 +173,7 @@ namespace base { | ||
// base::is_trivially_copyable will differ for these cases. | ||
template <typename T> | ||
struct is_trivially_copyable { | ||
-#if V8_CC_MSVC | ||
+#if V8_CC_MSVC || (__GNUC__ == 12 && __GNUC_MINOR__ <= 2) | ||
// Unfortunately, MSVC 2015 is broken in that std::is_trivially_copyable can | ||
// be false even though it should be true according to the standard. | ||
// (status at 2018-02-26, observed on the msvc waterfall bot). | ||
@@ -181,6 +181,11 @@ struct is_trivially_copyable { | ||
// intended, so we reimplement this according to the standard. | ||
// See also https://developercommunity.visualstudio.com/content/problem/ | ||
// 170883/msvc-type-traits-stdis-trivial-is-bugged.html. | ||
+ // | ||
+ // GCC 12.1 and 12.2 are broken too, they are shipped by some stable Linux | ||
+ // distributions, so the same polyfill is also used. | ||
+ // See | ||
+ // https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=aeba3e009b0abfccaf01797556445dbf891cc8dc | ||
static constexpr bool value = | ||
// Copy constructor is trivial or deleted. | ||
(std::is_trivially_copy_constructible<T>::value || |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters