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
|
Patch56: chromium-76.0.3809.100-gcc-move-explicit-initialization.patch
|
||||||
# https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf11424120aa6f6094916dc
|
# https://chromium.googlesource.com/chromium/src.git/+/7dc76c8d9f4cfbce7cf11424120aa6f6094916dc
|
||||||
Patch57: chromium-76.0.3809.100-gcc-initialization-order.patch
|
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
|
# Apply these changes to work around EPEL7 compiler issues
|
||||||
Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch
|
Patch100: chromium-62.0.3202.62-kmaxskip-constexpr.patch
|
||||||
@ -860,6 +870,10 @@ udev.
|
|||||||
%patch55 -p1 -b .gcc-hasfraction-constexpr
|
%patch55 -p1 -b .gcc-hasfraction-constexpr
|
||||||
%patch56 -p1 -b .gcc-move-explicit-initialization
|
%patch56 -p1 -b .gcc-move-explicit-initialization
|
||||||
%patch57 -p1 -b .gcc-initialization-order
|
%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
|
# EPEL specific patches
|
||||||
%if 0%{?rhel} == 7
|
%if 0%{?rhel} == 7
|
||||||
|
Loading…
Reference in New Issue
Block a user