- Add patch to fix build with gcc 7: * fix-chromium-gcc7.patch OBS-URL: https://build.opensuse.org/request/show/494963 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtwebengine?expand=0&rev=18
120 lines
4.7 KiB
Diff
120 lines
4.7 KiB
Diff
From 64fdd317d4127142ad9e967197a2df6ac81ef55f Mon Sep 17 00:00:00 2001
|
|
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
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 <michael.bruning@qt.io>
|
|
---
|
|
src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h | 2 +-
|
|
src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h | 2 ++
|
|
src/3rdparty/chromium/v8/src/objects-body-descriptors.h | 2 +-
|
|
src/3rdparty/chromium/v8/src/objects-inl.h | 19 +++++++++++++++++++
|
|
src/3rdparty/chromium/v8/src/objects.h | 16 ++--------------
|
|
5 files changed, 25 insertions(+), 16 deletions(-)
|
|
|
|
diff --git a/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h b/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h
|
|
index 5bd29d5..c94a5ac 100644
|
|
--- a/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h
|
|
+++ b/src/3rdparty/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/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h
|
|
index 58d97fb..839c7df 100644
|
|
--- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h
|
|
+++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h
|
|
@@ -495,6 +495,8 @@ inline LinkedHashSet<T, U, V, W>& LinkedHashSet<T, U, V, W>::operator=(const Lin
|
|
return *this;
|
|
}
|
|
|
|
+inline void swapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b);
|
|
+
|
|
template<typename T, typename U, typename V, typename W>
|
|
inline void LinkedHashSet<T, U, V, W>::swap(LinkedHashSet& other)
|
|
{
|
|
diff --git a/src/3rdparty/chromium/v8/src/objects-body-descriptors.h b/src/3rdparty/chromium/v8/src/objects-body-descriptors.h
|
|
index 91cb888..a1c3634 100644
|
|
--- a/src/3rdparty/chromium/v8/src/objects-body-descriptors.h
|
|
+++ b/src/3rdparty/chromium/v8/src/objects-body-descriptors.h
|
|
@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public BodyDescriptorBase {
|
|
|
|
template <typename StaticVisitor>
|
|
static inline void IterateBody(HeapObject* obj, int object_size) {
|
|
- IterateBody(obj);
|
|
+ IterateBody<StaticVisitor>(obj);
|
|
}
|
|
};
|
|
|
|
diff --git a/src/3rdparty/chromium/v8/src/objects-inl.h b/src/3rdparty/chromium/v8/src/objects-inl.h
|
|
index 177c029..baca18d 100644
|
|
--- a/src/3rdparty/chromium/v8/src/objects-inl.h
|
|
+++ b/src/3rdparty/chromium/v8/src/objects-inl.h
|
|
@@ -3122,6 +3122,25 @@ void HashTableBase::SetNumberOfDeletedElements(int nod) {
|
|
|
|
|
|
template <typename Derived, typename Shape, typename Key>
|
|
+inline 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>
|
|
+inline 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);
|
|
+ }
|
|
+}
|
|
+
|
|
+
|
|
+template <typename Derived, typename Shape, typename Key>
|
|
int HashTable<Derived, Shape, Key>::FindEntry(Key key) {
|
|
return FindEntry(GetIsolate(), key);
|
|
}
|
|
diff --git a/src/3rdparty/chromium/v8/src/objects.h b/src/3rdparty/chromium/v8/src/objects.h
|
|
index 0111c71..d737a18 100644
|
|
--- a/src/3rdparty/chromium/v8/src/objects.h
|
|
+++ b/src/3rdparty/chromium/v8/src/objects.h
|
|
@@ -3157,21 +3157,9 @@ 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 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<Derived> New(
|