File 0f3e69db.patch of Package nodejs6.5180

commit 0f3e69db41c2b6a1863f2454b028f3b3b28a9613
Author: Zuzana Svetlikova <zsvetlik@redhat.com>
Date:   Wed Apr 26 18:04:40 2017 +0200

    v8: fix gcc 7 build errors
    
    Porting https://github.com/nodejs/node/pull/12392 to master
    
    Ref: https://github.com/nodejs/node/pull/12392
    Fixes: https://github.com/nodejs/node/issues/10388
    PR-URL: https://github.com/nodejs/node/pull/12676
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>

Index: node-v6.10.3/deps/v8/src/objects-inl.h
===================================================================
--- node-v6.10.3.orig/deps/v8/src/objects-inl.h
+++ node-v6.10.3/deps/v8/src/objects-inl.h
@@ -36,6 +36,27 @@
 namespace v8 {
 namespace internal {
 
+template <typename Derived, typename Shape, typename Key>
+uint32_t HashTable<Derived, Shape, Key>::Hash(Key key) {
+  if (Shape::UsesSeed) {
+    return Shape::SeededHash(key, GetHeap()->HashSeed());
+  } else {
+    return Shape::Hash(key);
+  }
+}
+
+
+template <typename Derived, typename Shape, typename Key>
+uint32_t HashTable<Derived, Shape, Key>::HashForObject(Key key,
+                                                       Object* object) {
+  if (Shape::UsesSeed) {
+    return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
+  } else {
+    return Shape::HashForObject(key, object);
+  }
+}
+
+
 PropertyDetails::PropertyDetails(Smi* smi) {
   value_ = smi->value();
 }
Index: node-v6.10.3/deps/v8/src/objects.h
===================================================================
--- node-v6.10.3.orig/deps/v8/src/objects.h
+++ node-v6.10.3/deps/v8/src/objects.h
@@ -3261,22 +3261,10 @@ class HashTableBase : public FixedArray
 template <typename Derived, typename Shape, typename Key>
 class HashTable : public HashTableBase {
  public:
-  // Wrapper methods
-  inline uint32_t Hash(Key key) {
-    if (Shape::UsesSeed) {
-      return Shape::SeededHash(key, GetHeap()->HashSeed());
-    } else {
-      return Shape::Hash(key);
-    }
-  }
-
-  inline uint32_t HashForObject(Key key, Object* object) {
-    if (Shape::UsesSeed) {
-      return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object);
-    } else {
-      return Shape::HashForObject(key, object);
-    }
-  }
+  // Wrapper methods.  Defined in src/objects-inl.h
+  // to break a cycle with src/heap/heap.h.
+  inline uint32_t Hash(Key key);
+  inline uint32_t HashForObject(Key key, Object* object);
 
   // Returns a new HashTable object.
   MUST_USE_RESULT static Handle<Derived> New(
Index: node-v6.10.3/deps/v8/src/objects-body-descriptors.h
===================================================================
--- node-v6.10.3.orig/deps/v8/src/objects-body-descriptors.h
+++ node-v6.10.3/deps/v8/src/objects-body-descriptors.h
@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public
 
   template <typename StaticVisitor>
   static inline void IterateBody(HeapObject* obj, int object_size) {
-    IterateBody(obj);
+    IterateBody<StaticVisitor>(obj);
   }
 };
 
openSUSE Build Service is sponsored by