Skip to content

Commit

Permalink
fix compilation error for windows testing builds
Browse files Browse the repository at this point in the history
  • Loading branch information
deepak1556 committed Feb 5, 2019
1 parent ac92df3 commit a1cb707
Show file tree
Hide file tree
Showing 2 changed files with 103 additions and 0 deletions.
1 change: 1 addition & 0 deletions patches/common/v8/.patches
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ build-torque-with-x64-toolchain-on-arm.patch
do_not_run_arm_arm64_mksnapshot_binaries.patch
deps_provide_more_v8_backwards_compatibility.patch
dcheck.patch
disallow_implicit_constructors_for_macroassembler.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: deepak1556 <hop2deep@gmail.com>
Date: Tue, 5 Feb 2019 13:32:33 +0530
Subject: DISALLOW_IMPLICIT_CONSTRUCTORS for MacroAssembler

When BUILDING_V8_SHARED in release builds __declspec(dllexport)
causes generation of implicit constructors in the forwarding class
while its deleted in TurboAssemblerBase, which leads to compilation
errors like:

In file included from gen/v8/v8_base_jumbo_6.cc:41:
In file included from .\../../v8/src/interface-descriptors.cc:7:
In file included from ../../v8\src/macro-assembler.h:40:
../../v8\src/x64/macro-assembler-x64.h(92,9): error: call to deleted constructor of 'v8::internal::TurboAssemblerBase'
: TurboAssemblerBase(std::forward<Args>(args)...) {}
^ ~~~~~~~~~~~~~~~~~~~~~~~~
../../v8\src/x64/macro-assembler-x64.h(536,25): note: in instantiation of function template specialization 'v8::internal::TurboAssembler::TurboAssembler<v8::internal::TurboAssembler>' requested here
class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler {
^
../../v8\src/turbo-assembler.h(127,34): note: 'TurboAssemblerBase' has been explicitly marked deleted here
DISALLOW_IMPLICIT_CONSTRUCTORS(TurboAssemblerBase);
^
1 error generated.

diff --git a/src/arm/macro-assembler-arm.h b/src/arm/macro-assembler-arm.h
index 9b67a683e849d306bb8c085f525102a1b9ac3854..29fa10cfeac9cdfb140024c8301465ca76278f4c 100644
--- a/src/arm/macro-assembler-arm.h
+++ b/src/arm/macro-assembler-arm.h
@@ -825,6 +825,8 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler {
// Needs access to SafepointRegisterStackIndex for compiled frame
// traversal.
friend class StandardFrame;
+
+ DISALLOW_IMPLICIT_CONSTRUCTORS(MacroAssembler);
};

// -----------------------------------------------------------------------------
diff --git a/src/arm64/macro-assembler-arm64.h b/src/arm64/macro-assembler-arm64.h
index 9327fce64064dad168b120901423ab2e7d8ecbcb..331be44a1b006ef74bd65eafc2b0dbc9af52d2a8 100644
--- a/src/arm64/macro-assembler-arm64.h
+++ b/src/arm64/macro-assembler-arm64.h
@@ -1981,6 +1981,8 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler {
Label* on_successful_conversion = nullptr,
Label* on_failed_conversion = nullptr);

+ DISALLOW_IMPLICIT_CONSTRUCTORS(MacroAssembler);
+
public:
// Far branches resolving.
//
diff --git a/src/ia32/macro-assembler-ia32.h b/src/ia32/macro-assembler-ia32.h
index 6839a1ac5b1533e179f6cb13f9b76dc4aaf42329..d26152663aa2900ea1c81ea27bbb2a1953e8b76a 100644
--- a/src/ia32/macro-assembler-ia32.h
+++ b/src/ia32/macro-assembler-ia32.h
@@ -695,6 +695,8 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler {
// Needs access to SafepointRegisterStackIndex for compiled frame
// traversal.
friend class StandardFrame;
+
+ DISALLOW_IMPLICIT_CONSTRUCTORS(MacroAssembler);
};

// -----------------------------------------------------------------------------
diff --git a/src/mips/macro-assembler-mips.h b/src/mips/macro-assembler-mips.h
index a833eeb032715f68574da9557740792a42b0a331..303fbb76b21eed23041460f6c83e48b3fe2c1396 100644
--- a/src/mips/macro-assembler-mips.h
+++ b/src/mips/macro-assembler-mips.h
@@ -1148,6 +1148,8 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler {
// Needs access to SafepointRegisterStackIndex for compiled frame
// traversal.
friend class StandardFrame;
+
+ DISALLOW_IMPLICIT_CONSTRUCTORS(MacroAssembler);
};

template <typename Func>
diff --git a/src/mips64/macro-assembler-mips64.h b/src/mips64/macro-assembler-mips64.h
index 40c2d49ca5356e2c3b5ec597a09d625602506faf..2e6991c1ba4a6b73ed62d50f25f09347baf9d9ef 100644
--- a/src/mips64/macro-assembler-mips64.h
+++ b/src/mips64/macro-assembler-mips64.h
@@ -1218,6 +1218,8 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler {
// Needs access to SafepointRegisterStackIndex for compiled frame
// traversal.
friend class StandardFrame;
+
+ DISALLOW_IMPLICIT_CONSTRUCTORS(MacroAssembler);
};

template <typename Func>
diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h
index 97292b98fa4cda503b20757b91b52c1eb8b5473a..cfd040a5c3f77b5788062bfa77bae53e14a0470d 100644
--- a/src/x64/macro-assembler-x64.h
+++ b/src/x64/macro-assembler-x64.h
@@ -899,6 +899,8 @@ class V8_EXPORT_PRIVATE MacroAssembler : public TurboAssembler {
// Needs access to SafepointRegisterStackIndex for compiled frame
// traversal.
friend class StandardFrame;
+
+ DISALLOW_IMPLICIT_CONSTRUCTORS(MacroAssembler);
};

// -----------------------------------------------------------------------------

0 comments on commit a1cb707

Please sign in to comment.