From 521491885653a80d22bf4c8e0b35512f2950df90 Mon Sep 17 00:00:00 2001 From: Joao Reis Date: Fri, 1 Nov 2019 08:39:18 +0100 Subject: [PATCH] deps: make v8.h compatible with VS2015 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There is a bug in the most recent version of VS2015 that affects v8.h and therefore prevents compilation of addons. Refs: https://stackoverflow.com/q/38378693 PR-URL: https://github.com/nodejs/node/pull/32116 Reviewed-By: Michaƫl Zasso Reviewed-By: Jiawen Geng Reviewed-By: Ruben Bridgewater --- common.gypi | 2 +- deps/v8/include/v8.h | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/common.gypi b/common.gypi index 1ec09dc067c7d7..8f56b68a25a15b 100644 --- a/common.gypi +++ b/common.gypi @@ -36,7 +36,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.3', + 'v8_embedder_string': '-node.4', ##### V8 defaults for Node.js ##### diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index 7cb19bbede03db..751ac9e2916b73 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -1427,7 +1427,9 @@ class ScriptOriginOptions { */ class ScriptOrigin { public: +#if defined(_MSC_VER) && _MSC_VER >= 1910 /* Disable on VS2015 */ V8_DEPRECATE_SOON("Use constructor with primitive C++ types") +#endif V8_INLINE explicit ScriptOrigin( Local resource_name, Local resource_line_offset, Local resource_column_offset, @@ -1438,7 +1440,9 @@ class ScriptOrigin { Local is_wasm = Local(), Local is_module = Local(), Local host_defined_options = Local()); +#if defined(_MSC_VER) && _MSC_VER >= 1910 /* Disable on VS2015 */ V8_DEPRECATE_SOON("Use constructor that takes an isolate") +#endif V8_INLINE explicit ScriptOrigin( Local resource_name, int resource_line_offset = 0, int resource_column_offset = 0, @@ -1938,9 +1942,11 @@ class V8_EXPORT ScriptCompiler { public: enum Encoding { ONE_BYTE, TWO_BYTE, UTF8 }; +#if defined(_MSC_VER) && _MSC_VER >= 1910 /* Disable on VS2015 */ V8_DEPRECATED( "This class takes ownership of source_stream, so use the constructor " "taking a unique_ptr to make these semantics clearer") +#endif StreamedSource(ExternalSourceStream* source_stream, Encoding encoding); StreamedSource(std::unique_ptr source_stream, Encoding encoding);