From 846cdbdbf965fc50478bcc4c6436e3dc6a489f3f Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Thu, 14 Oct 2021 19:01:18 -0400 Subject: Initial commit. --- www-client/chromium/files/chromium-73-gcc-1.patch | 99 +++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 www-client/chromium/files/chromium-73-gcc-1.patch (limited to 'www-client/chromium/files/chromium-73-gcc-1.patch') diff --git a/www-client/chromium/files/chromium-73-gcc-1.patch b/www-client/chromium/files/chromium-73-gcc-1.patch new file mode 100644 index 0000000..c3f8e42 --- /dev/null +++ b/www-client/chromium/files/chromium-73-gcc-1.patch @@ -0,0 +1,99 @@ +From 130a5ae24a02daba8729ba2216bcaf3dbfacea69 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Fri, 8 Feb 2019 16:58:38 +0000 +Subject: [PATCH] media::learning: Make LabelledExample's move assignment + operator noexcept +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The GCC build is currently broken with an error like this: + + ../../media/learning/common/labelled_example.cc:20:1: error: function ‘media::learning::LabelledExample::LabelledExample(media::learning::LabelledExample&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ + LabelledExample::LabelledExample(LabelledExample&& rhs) noexcept = default; + ^~~~~~~~~~~~~~~ + +With GCC, having that noexcept marker requires all members to be marked with +noexcept themselves, and TargetValue was missing some assignment operators +and noexcept markers. + +clang is fine because we pass -fno-exceptions and it disables the same error +there, while GCC continues to raise it (bug 843143 and its corresponding CL +have a longer discussion on this issue). + +Bug: 819294 +Change-Id: Ide30932fc466ccb52d6883a82777e703dae48798 +Reviewed-on: https://chromium-review.googlesource.com/c/1458210 +Commit-Queue: Frank Liberato +Reviewed-by: Frank Liberato +Auto-Submit: Raphael Kubo da Costa +Cr-Commit-Position: refs/heads/master@{#630355} +--- + media/learning/common/labelled_example.cc | 3 ++- + media/learning/common/labelled_example.h | 2 +- + media/learning/common/value.cc | 6 ++++++ + media/learning/common/value.h | 4 ++++ + 4 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/media/learning/common/labelled_example.cc b/media/learning/common/labelled_example.cc +index 76d08509298e..43e834f9f3cf 100644 +--- a/media/learning/common/labelled_example.cc ++++ b/media/learning/common/labelled_example.cc +@@ -59,7 +59,8 @@ bool LabelledExample::operator<(const LabelledExample& rhs) const { + LabelledExample& LabelledExample::operator=(const LabelledExample& rhs) = + default; + +-LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) = default; ++LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) noexcept = ++ default; + + TrainingData::TrainingData() = default; + +diff --git a/media/learning/common/labelled_example.h b/media/learning/common/labelled_example.h +index 4f43c54e7a76..365abc3c0ebf 100644 +--- a/media/learning/common/labelled_example.h ++++ b/media/learning/common/labelled_example.h +@@ -40,7 +40,7 @@ struct COMPONENT_EXPORT(LEARNING_COMMON) LabelledExample { + bool operator<(const LabelledExample& rhs) const; + + LabelledExample& operator=(const LabelledExample& rhs); +- LabelledExample& operator=(LabelledExample&& rhs); ++ LabelledExample& operator=(LabelledExample&& rhs) noexcept; + + // Observed feature values. + // Note that to interpret these values, you probably need to have the +diff --git a/media/learning/common/value.cc b/media/learning/common/value.cc +index 9c9395c25d4e..12ea399d24c3 100644 +--- a/media/learning/common/value.cc ++++ b/media/learning/common/value.cc +@@ -23,6 +23,12 @@ Value::Value(const std::string& x) : value_(base::PersistentHash(x)) {} + + Value::Value(const Value& other) : value_(other.value_) {} + ++Value::Value(Value&& rhs) noexcept = default; ++ ++Value& Value::operator=(const Value& rhs) = default; ++ ++Value& Value::operator=(Value&& rhs) noexcept = default; ++ + bool Value::operator==(const Value& rhs) const { + return value_ == rhs.value_; + } +diff --git a/media/learning/common/value.h b/media/learning/common/value.h +index 0e64da961f34..62f4953f691c 100644 +--- a/media/learning/common/value.h ++++ b/media/learning/common/value.h +@@ -38,6 +38,10 @@ class COMPONENT_EXPORT(LEARNING_COMMON) Value { + explicit Value(const std::string& x); + + Value(const Value& other); ++ Value(Value&&) noexcept; ++ ++ Value& operator=(const Value&); ++ Value& operator=(Value&&) noexcept; + + bool operator==(const Value& rhs) const; + bool operator!=(const Value& rhs) const; +-- +2.20.1 + -- cgit v1.2.3