chromium: fix build with GCC

This commit is contained in:
Rasmus Thomsen 2018-12-09 20:40:36 +01:00 committed by Johannes
parent b5bc212341
commit 39e72493ef
2 changed files with 57 additions and 2 deletions

View file

@ -0,0 +1,57 @@
From 65be571f6ac2f7942b4df9e50b24da517f829eec Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Mon, 15 Oct 2018 20:26:10 +0000
Subject: [PATCH] google_util: Explicitly use std::initializer_list with
base::NoDestructor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Follow-up to ac53c5c53 ("Remove CR_DEFINE_STATIC_LOCAL from /components").
Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having
base::NoDestructor<T<U>> and passing an initializer list of Us does not
work if this is not done explicitly, as GCC incorrectly fails to determine
which constructor overload to use:
../../components/google/core/common/google_util.cc: In function bool google_util::{anonymous}::IsCanonicalHostGoogleHostname(base::StringPiece, google_util::SubdomainPermission):
../../components/google/core/common/google_util.cc:120:24: error: call of overloaded NoDestructor(<brace-enclosed initializer list>) is ambiguous
{GOOGLE_TLD_LIST});
See also: https://chromium-review.googlesource.com/c/chromium/src/+/1170905
Bug: 819294
Change-Id: Ie1490b6646d7998d636c485769caabf56c1cf44c
Reviewed-on: https://chromium-review.googlesource.com/c/1275854
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Raphael Kubo da Costa (CET) <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#599733}
---
components/google/core/common/google_util.cc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/components/google/core/common/google_util.cc b/components/google/core/common/google_util.cc
index a44c84393820..7733848a0443 100644
--- components/google/core/common/google_util.cc
+++ components/google/core/common/google_util.cc
@@ -117,7 +117,7 @@ bool IsCanonicalHostGoogleHostname(base::StringPiece canonical_host,
StripTrailingDot(&tld);
static base::NoDestructor<std::set<std::string>> google_tlds(
- {GOOGLE_TLD_LIST});
+ std::initializer_list<std::string>({GOOGLE_TLD_LIST}));
return base::ContainsKey(*google_tlds, tld.as_string());
}
@@ -132,7 +132,8 @@ bool IsGoogleSearchSubdomainUrl(const GURL& url) {
StripTrailingDot(&host);
static base::NoDestructor<std::set<std::string>> google_subdomains(
- {"ipv4.google.com", "ipv6.google.com"});
+ std::initializer_list<std::string>(
+ {"ipv4.google.com", "ipv6.google.com"}));
return base::ContainsKey(*google_subdomains, host.as_string());
}
--
2.19.1

View file

@ -35,8 +35,6 @@ depends="libexif hwids desktop-file-utils hicolor-icon-theme"
build_options_default="jumbo_build"
broken="https://build.voidlinux.org/builders/x86_64-musl_builder/builds/15519/steps/shell_3/logs/stdio"
post_extract() {
case "${XBPS_TARGET_MACHINE}" in
*-musl)