diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-04-23 06:06:50 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-04-23 06:06:50 +0100 |
commit | 98c7fa9070b6b423d52dfb59567ec7ef0d5f234d (patch) | |
tree | 15a9168c34e20acc6a8707fe4bee72b86d20f86c /www-client/chromium/files | |
parent | 0e1abc96fea41c994e56391bd01c5c9298236783 (diff) |
gentoo auto-resync : 23:04:2023 - 06:06:49
Diffstat (limited to 'www-client/chromium/files')
-rw-r--r-- | www-client/chromium/files/chromium-112-swiftshader.patch | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/www-client/chromium/files/chromium-112-swiftshader.patch b/www-client/chromium/files/chromium-112-swiftshader.patch new file mode 100644 index 000000000000..5f703d919555 --- /dev/null +++ b/www-client/chromium/files/chromium-112-swiftshader.patch @@ -0,0 +1,74 @@ +https://bugs.gentoo.org/904725 + +From 451fb9470e4e1cd183ff05d5e171dc21bae6e47c Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz <jdapena@igalia.com> +Date: Thu, 16 Mar 2023 13:29:48 +0100 +Subject: [PATCH] Another C++20 fix for GCC + +This is a direct backport of commit 95d0d8e9e9d10da3cfa503fbba405e740aea3cc1 +from Richard Smith: + From: Richard Smith <richard@metafoo.co.uk> + Date: Tue, 23 Feb 2021 14:07:13 -0800 + Subject: Fix constructor declarations that are invalid in C++20 onwards. + + Fix constructor declarations that are invalid in C++20 onwards. + + Under C++ CWG DR 2237, the constructor for a class template C must be + written as 'C(...)' not as 'C<T>(...)'. This fixes a build failure with + GCC in C++20 mode. + + In passing, remove some other redundant '<T>' qualification from the + affected classes. + +Bug: chromium:819294 +Change-Id: I51a7f069d355d4932f4b50640fedbba1d5773f0b +Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/71088 +Kokoro-Result: kokoro <noreply+kokoro@google.com> +Reviewed-by: Shahbaz Youssefi <syoussefi@google.com> +Tested-by: Shahbaz Youssefi <syoussefi@google.com> +Commit-Queue: Shahbaz Youssefi <syoussefi@google.com> +--- + +diff --git a/third_party/llvm-10.0/llvm/include/llvm/ADT/STLExtras.h b/third_party/llvm-10.0/llvm/include/llvm/ADT/STLExtras.h +index 620209b..d0a48e8 100644 +--- a/third_party/swiftshader/third_party/llvm-10.0/llvm/include/llvm/ADT/STLExtras.h ++++ b/third_party/swiftshader/third_party/llvm-10.0/llvm/include/llvm/ADT/STLExtras.h +@@ -1415,9 +1415,9 @@ + result_pair(std::size_t Index, IterOfRange<R> Iter) + : Index(Index), Iter(Iter) {} + +- result_pair<R>(const result_pair<R> &Other) ++ result_pair(const result_pair<R> &Other) + : Index(Other.Index), Iter(Other.Iter) {} +- result_pair<R> &operator=(const result_pair<R> &Other) { ++ result_pair &operator=(const result_pair &Other) { + Index = Other.Index; + Iter = Other.Iter; + return *this; +@@ -1451,22 +1451,22 @@ + result_type &operator*() { return Result; } + const result_type &operator*() const { return Result; } + +- enumerator_iter<R> &operator++() { ++ enumerator_iter &operator++() { + assert(Result.Index != std::numeric_limits<size_t>::max()); + ++Result.Iter; + ++Result.Index; + return *this; + } + +- bool operator==(const enumerator_iter<R> &RHS) const { ++ bool operator==(const enumerator_iter &RHS) const { + // Don't compare indices here, only iterators. It's possible for an end + // iterator to have different indices depending on whether it was created + // by calling std::end() versus incrementing a valid iterator. + return Result.Iter == RHS.Result.Iter; + } + +- enumerator_iter<R>(const enumerator_iter<R> &Other) : Result(Other.Result) {} +- enumerator_iter<R> &operator=(const enumerator_iter<R> &Other) { ++ enumerator_iter(const enumerator_iter &Other) : Result(Other.Result) {} ++ enumerator_iter &operator=(const enumerator_iter &Other) { + Result = Other.Result; + return *this; + } |