Browse Source

fix compilation error for windows testing builds

deepak1556 6 years ago
parent
commit
200051ccc0

+ 1 - 0
patches/common/v8/.patches

@@ -9,3 +9,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

+ 102 - 0
patches/common/v8/disallow_implicit_constructors_for_macroassembler.patch

@@ -0,0 +1,102 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: deepak1556 <[email protected]>
+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);
+ };
+ 
+ // -----------------------------------------------------------------------------