From 64fdd317d4127142ad9e967197a2df6ac81ef55f Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 29 Mar 2017 17:42:18 +0200 Subject: [PATCH] Fix build with GCC 7.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes some ambiguities and outright wrong code GCC 7 doesn't accept but earlier compilers did. Task-number:QTBUG-59776 Change-Id: I012f121842ac6cde49db0d571efc62aabe2115e3 Reviewed-by: Michael BrĂ¼ning --- .../mojo/public/cpp/bindings/interface_ptr_info.h | 2 +- .../third_party/WebKit/Source/wtf/LinkedHashSet.h | 2 ++ chromium/v8/src/objects-body-descriptors.h | 2 +- chromium/v8/src/objects-inl.h | 19 +++++++++++++++++++ chromium/v8/src/objects.h | 16 ++-------------- 5 files changed, 25 insertions(+), 16 deletions(-) diff --git a/chromium/mojo/public/cpp/bindings/interface_ptr_info.h b/chromium/mojo/public/cpp/bindings/interface_ptr_info.h index 5bd29d542d..c94a5acdcd 100644 --- a/chromium/mojo/public/cpp/bindings/interface_ptr_info.h +++ b/chromium/mojo/public/cpp/bindings/interface_ptr_info.h @@ -34,7 +34,7 @@ class InterfacePtrInfo { InterfacePtrInfo& operator=(InterfacePtrInfo&& other) { if (this != &other) { - handle_ = other.handle_.Pass(); + handle_ = std::move(other.handle_); version_ = other.version_; other.version_ = 0u; } diff --git a/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h b/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h index 58d97fbaac..839c7df114 100644 --- a/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h +++ b/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h @@ -495,6 +495,8 @@ inline LinkedHashSet& LinkedHashSet::operator=(const Lin return *this; } +inline void swapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b); + template inline void LinkedHashSet::swap(LinkedHashSet& other) { diff --git a/chromium/v8/src/objects-body-descriptors.h b/chromium/v8/src/objects-body-descriptors.h index 91cb8883be..a1c3634bd7 100644 --- a/chromium/v8/src/objects-body-descriptors.h +++ b/chromium/v8/src/objects-body-descriptors.h @@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public BodyDescriptorBase { template static inline void IterateBody(HeapObject* obj, int object_size) { - IterateBody(obj); + IterateBody(obj); } }; diff --git a/chromium/v8/src/objects-inl.h b/chromium/v8/src/objects-inl.h index 177c0294dc..baca18d0ef 100644 --- a/chromium/v8/src/objects-inl.h +++ b/chromium/v8/src/objects-inl.h @@ -3122,6 +3122,25 @@ void HashTableBase::SetNumberOfDeletedElements(int nod) { template +inline uint32_t HashTable::Hash(Key key) { + if (Shape::UsesSeed) { + return Shape::SeededHash(key, GetHeap()->HashSeed()); + } else { + return Shape::Hash(key); + } +} + +template +inline uint32_t HashTable::HashForObject(Key key, Object* object) { + if (Shape::UsesSeed) { + return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object); + } else { + return Shape::HashForObject(key, object); + } +} + + +template int HashTable::FindEntry(Key key) { return FindEntry(GetIsolate(), key); } diff --git a/chromium/v8/src/objects.h b/chromium/v8/src/objects.h index 0111c71311..d737a18fe9 100644 --- a/chromium/v8/src/objects.h +++ b/chromium/v8/src/objects.h @@ -3157,21 +3157,9 @@ template 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 Hash(Key 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); - } - } + inline uint32_t HashForObject(Key key, Object* object); // Returns a new HashTable object. MUST_USE_RESULT static Handle New( -- 2.12.2