summaryrefslogtreecommitdiff
path: root/deps/v8/include
diff options
context:
space:
mode:
authorBartosz Sosnowski <bartosz@janeasystems.com>2017-05-23 18:25:03 +0200
committerMichaƫl Zasso <targos@protonmail.com>2017-06-07 10:34:17 +0200
commitbfb4694408434b631bf5cfbca756fc9cb331e91c (patch)
treedfb6b05ff789bda9a5defbb368621ea6838b788c /deps/v8/include
parentbc8e4878c007f044425bbdd8f0dff7006d0028a0 (diff)
downloadnode-new-bfb4694408434b631bf5cfbca756fc9cb331e91c.tar.gz
deps: fix addons compilation with VS2013
VS2013 does not support defaulting move constructor and assignment operator. This adds explicit definitions of those methods for two classes. This fix is required because we still support building addons with VS2013 and the incompatibility is in v8.h. Fixes: https://github.com/nodejs/node-v8/issues/4 PR-URL: https://github.com/nodejs/node/pull/13263 Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com>
Diffstat (limited to 'deps/v8/include')
-rw-r--r--deps/v8/include/v8.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h
index 1dd4ace540..ea4119abed 100644
--- a/deps/v8/include/v8.h
+++ b/deps/v8/include/v8.h
@@ -4025,10 +4025,12 @@ class V8_EXPORT WasmCompiledModule : public Object {
// supports move semantics, and does not support copy semantics.
class TransferrableModule final {
public:
- TransferrableModule(TransferrableModule&& src) = default;
+ TransferrableModule(TransferrableModule&& src)
+ : compiled_code(std::move(src.compiled_code)),
+ wire_bytes(std::move(src.wire_bytes)) {}
TransferrableModule(const TransferrableModule& src) = delete;
- TransferrableModule& operator=(TransferrableModule&& src) = default;
+ TransferrableModule& operator=(TransferrableModule&& src);
TransferrableModule& operator=(const TransferrableModule& src) = delete;
private:
@@ -4101,9 +4103,11 @@ class V8_EXPORT WasmModuleObjectBuilder final {
// Disable copy semantics *in this implementation*. We can choose to
// relax this, albeit it's not clear why.
WasmModuleObjectBuilder(const WasmModuleObjectBuilder&) = delete;
- WasmModuleObjectBuilder(WasmModuleObjectBuilder&&) = default;
+ WasmModuleObjectBuilder(WasmModuleObjectBuilder&& src)
+ : received_buffers_(std::move(src.received_buffers_)),
+ total_size_(src.total_size_) {}
WasmModuleObjectBuilder& operator=(const WasmModuleObjectBuilder&) = delete;
- WasmModuleObjectBuilder& operator=(WasmModuleObjectBuilder&&) = default;
+ WasmModuleObjectBuilder& operator=(WasmModuleObjectBuilder&&);
std::vector<Buffer> received_buffers_;
size_t total_size_ = 0;