Backport and create more of the GCC fixes
This commit is contained in:
parent
080ef08ad1
commit
dbf9b1c4cf
53
chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch
Normal file
53
chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch
Normal file
@ -0,0 +1,53 @@
|
||||
From 719df31ffd4d52b473509cf77acd9c02ec112acb Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
Date: Tue, 04 Jun 2019 18:38:12 +0200
|
||||
Subject: [PATCH] GCC: fix noexcept from move constructor and assign operators of AccountInfo
|
||||
|
||||
AccountInfo declares them as noexcept and uses default implementation,
|
||||
so all its members (including AccountId) should be noexcept. But AccountId
|
||||
is not noexcept. To fix it we just need to make CoreAccountId move
|
||||
operator/assign operator noexcept.
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: Ice38654ab7cf3b9eaa6f54aa36e1fec329264f98
|
||||
---
|
||||
|
||||
diff --git a/google_apis/gaia/core_account_id.cc b/google_apis/gaia/core_account_id.cc
|
||||
index d808082..12eefe3 100644
|
||||
--- a/google_apis/gaia/core_account_id.cc
|
||||
+++ b/google_apis/gaia/core_account_id.cc
|
||||
@@ -6,8 +6,16 @@
|
||||
|
||||
CoreAccountId::CoreAccountId() = default;
|
||||
|
||||
+CoreAccountId::CoreAccountId(const CoreAccountId&) = default;
|
||||
+
|
||||
+CoreAccountId::CoreAccountId(CoreAccountId&&) noexcept = default;
|
||||
+
|
||||
CoreAccountId::~CoreAccountId() = default;
|
||||
|
||||
+CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default;
|
||||
+
|
||||
+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default;
|
||||
+
|
||||
CoreAccountId::CoreAccountId(const char* id) : id(id) {}
|
||||
|
||||
CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {}
|
||||
diff --git a/google_apis/gaia/core_account_id.h b/google_apis/gaia/core_account_id.h
|
||||
index 5ea602a..c2d1911 100644
|
||||
--- a/google_apis/gaia/core_account_id.h
|
||||
+++ b/google_apis/gaia/core_account_id.h
|
||||
@@ -14,8 +14,13 @@
|
||||
// for design and tracking).
|
||||
struct CoreAccountId {
|
||||
CoreAccountId();
|
||||
+ CoreAccountId(const CoreAccountId&);
|
||||
+ CoreAccountId(CoreAccountId&&) noexcept;
|
||||
~CoreAccountId();
|
||||
|
||||
+ CoreAccountId& operator=(const CoreAccountId&);
|
||||
+ CoreAccountId& operator=(CoreAccountId&&) noexcept;
|
||||
+
|
||||
// Those implicit constructor and conversion operator allow to
|
||||
// progressively migrate the code to use this struct. Removing
|
||||
// them is tracked by https://crbug.com/959161
|
42
chromium-76.0.3809.100-gcc-history-move-noexcept.patch
Normal file
42
chromium-76.0.3809.100-gcc-history-move-noexcept.patch
Normal file
@ -0,0 +1,42 @@
|
||||
From abe74a7f0c53a43a9706a42d71b7ff4a5da53380 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
Date: Tue, 11 Jun 2019 10:27:19 +0200
|
||||
Subject: [PATCH] GCC: add noexcept move assignment in history::URLRow
|
||||
|
||||
In GCC, build is failing because history::QueryURLResult declares its move
|
||||
assignment operator as noexcept using default implementation. That requires
|
||||
its members to provide a move assignment operator that is noexcept too.
|
||||
|
||||
But URLRow was missing noexcept declaration in move assignment operator (even
|
||||
though it was providing noexcept to its move constructor).
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: I726e3cf7a4a50c9206a5d0fba8a561d363483d4f
|
||||
---
|
||||
|
||||
diff --git a/components/history/core/browser/url_row.cc b/components/history/core/browser/url_row.cc
|
||||
index 44c22fd..aec0101 100644
|
||||
--- a/components/history/core/browser/url_row.cc
|
||||
+++ b/components/history/core/browser/url_row.cc
|
||||
@@ -26,7 +26,7 @@
|
||||
}
|
||||
|
||||
URLRow& URLRow::operator=(const URLRow& other) = default;
|
||||
-URLRow& URLRow::operator=(URLRow&& other) = default;
|
||||
+URLRow& URLRow::operator=(URLRow&& other) noexcept = default;
|
||||
|
||||
void URLRow::Swap(URLRow* other) {
|
||||
std::swap(id_, other->id_);
|
||||
diff --git a/components/history/core/browser/url_row.h b/components/history/core/browser/url_row.h
|
||||
index 8f6f9cf..31a1ef8 100644
|
||||
--- a/components/history/core/browser/url_row.h
|
||||
+++ b/components/history/core/browser/url_row.h
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
virtual ~URLRow();
|
||||
URLRow& operator=(const URLRow& other);
|
||||
- URLRow& operator=(URLRow&& other);
|
||||
+ URLRow& operator=(URLRow&& other) noexcept;
|
||||
|
||||
URLID id() const { return id_; }
|
||||
|
14
chromium-76.0.3809.100-gcc-no-alignas-and-export.patch
Normal file
14
chromium-76.0.3809.100-gcc-no-alignas-and-export.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff -up chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h
|
||||
--- chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas 2019-08-09 16:48:13.000000000 +0200
|
||||
+++ chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h 2019-08-15 21:04:30.231532746 +0200
|
||||
@@ -176,8 +176,8 @@ class CSSLazyPropertyParser
|
||||
DISALLOW_COPY_AND_ASSIGN(CSSLazyPropertyParser);
|
||||
};
|
||||
|
||||
-class CORE_EXPORT alignas(Member<const CSSValue>) alignas(
|
||||
- CSSPropertyValueMetadata) ImmutableCSSPropertyValueSet
|
||||
+class CORE_EXPORT ALIGNAS(alignof(Member<const CSSValue>))
|
||||
+ ALIGNAS(alignof(CSSPropertyValueMetadata)) ImmutableCSSPropertyValueSet
|
||||
: public CSSPropertyValueSet {
|
||||
public:
|
||||
ImmutableCSSPropertyValueSet(const CSSPropertyValue*,
|
36
chromium-76.0.3809.100-gcc-themeservice-includes.patch
Normal file
36
chromium-76.0.3809.100-gcc-themeservice-includes.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From d08ea83acc2f5ff395c1fe54f52687e92fe51c3b Mon Sep 17 00:00:00 2001
|
||||
From: Jose Dapena Paz <jose.dapena@lge.com>
|
||||
Date: Tue, 04 Jun 2019 22:01:03 +0200
|
||||
Subject: [PATCH] IWYU: ThemeService requires NativeTheme
|
||||
|
||||
As ThemeService referes to NativeTheme through a ScopedObserver,
|
||||
the full declaration is required.
|
||||
|
||||
Bug: 819294
|
||||
Change-Id: I9d5bd2e87cfaa76e87f9b5509daea24848906a63
|
||||
---
|
||||
|
||||
diff --git a/chrome/browser/themes/theme_service.cc b/chrome/browser/themes/theme_service.cc
|
||||
index d65388e2..23dc86d 100644
|
||||
--- a/chrome/browser/themes/theme_service.cc
|
||||
+++ b/chrome/browser/themes/theme_service.cc
|
||||
@@ -54,7 +54,6 @@
|
||||
#include "ui/gfx/color_palette.h"
|
||||
#include "ui/gfx/image/image_skia.h"
|
||||
#include "ui/native_theme/common_theme.h"
|
||||
-#include "ui/native_theme/native_theme.h"
|
||||
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
#include "base/scoped_observer.h"
|
||||
diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h
|
||||
index 6c79c72..f93dc0d 100644
|
||||
--- a/chrome/browser/themes/theme_service.h
|
||||
+++ b/chrome/browser/themes/theme_service.h
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "extensions/buildflags/buildflags.h"
|
||||
#include "extensions/common/extension_id.h"
|
||||
#include "ui/base/theme_provider.h"
|
||||
+#include "ui/native_theme/native_theme.h"
|
||||
#include "ui/native_theme/native_theme_observer.h"
|
||||
|
||||
class BrowserThemePack;
|
@ -291,6 +291,16 @@ Patch55: chromium-76.0.3809.100-gcc-hasfraction-constexpr.patch
|
||||
Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch
|
||||
# https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf11424120aa6f6094916dc
|
||||
Patch57: chromium-76.0.3809.100-gcc-initialization-order.patch
|
||||
# https://chromium.googlesource.com/chromium/src.git/+/138904af5d6a4158ef4247fda816a8035e621e59
|
||||
Patch58: chromium-76.0.3809.100-gcc-history-move-noexcept.patch
|
||||
# https://chromium.googlesource.com/chromium/src.git/+/bdc24128b75008743d819e298557a53205706e7c
|
||||
Patch59: chromium-76.0.3809.100-gcc-accountinfo-move-noexcept.patch
|
||||
# https://chromium.googlesource.com/chromium/src.git/+/5d7f227fa844e79568df64e495e7ef958c12d7b2
|
||||
Patch60: chromium-76.0.3809.100-gcc-themeservice-includes.patch
|
||||
# TBD - need to submit it
|
||||
# In GCC one can't use alignas() for exported classes (as described in
|
||||
# https://cs.chromium.org/chromium/src/base/compiler_specific.h?rcl=a5bcc05a48f6cc6299edfaf0179278aa03653ee4&l=103)
|
||||
Patch61: chromium-76.0.3809.100-gcc-no-alignas-and-export.patch
|
||||
|
||||
# Apply these changes to work around EPEL7 compiler issues
|
||||
Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch
|
||||
@ -860,6 +870,10 @@ udev.
|
||||
%patch55 -p1 -b .gcc-hasfraction-constexpr
|
||||
%patch56 -p1 -b .gcc-move-explicit-initialization
|
||||
%patch57 -p1 -b .gcc-initialization-order
|
||||
%patch58 -p1 -b .gcc-history-move-noexcept
|
||||
%patch59 -p1 -b .gcc-accountinfo-move-noexcept
|
||||
%patch60 -p1 -b .gcc-themeservice-includes
|
||||
%patch61 -p1 -b .gcc-no-alignas-and-export
|
||||
|
||||
# EPEL specific patches
|
||||
%if 0%{?rhel} == 7
|
||||
|
Loading…
Reference in New Issue
Block a user