From b46455458978e8a6675680b57cc3c1eff1b81f0e Mon Sep 17 00:00:00 2001 From: Than Ngo Date: Wed, 21 Feb 2024 12:52:43 +0100 Subject: [PATCH] fix static assertion in NodeUuidEquality --- chromium-122-static-assert.patch | 32 ++++++++++++++++++++++++++++++++ chromium.spec | 4 ++++ 2 files changed, 36 insertions(+) create mode 100644 chromium-122-static-assert.patch diff --git a/chromium-122-static-assert.patch b/chromium-122-static-assert.patch new file mode 100644 index 00000000..b24439f6 --- /dev/null +++ b/chromium-122-static-assert.patch @@ -0,0 +1,32 @@ +commit 04866680f4f9a8475ae3795ad6ed59649ba478d7 +Author: Jose Dapena Paz +Date: Tue Jan 23 12:04:05 2024 +0000 + + libstdc++: fix static assertion in NodeUuidEquality + + libstdc++ equality checks in static assertion that it is possible to + compare for equality base::Uuid to BookmarkNode*. This was a missing + operator in NodeUuidEquality that this changeset adds. + + Bug: 957519 + Change-Id: Icc9809cb43d321f0b3e3394ef27ab55672aec5e7 + Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5227686 + Reviewed-by: Mikel Astiz + Commit-Queue: José Dapena Paz + Cr-Commit-Position: refs/heads/main@{#1250753} + +diff --git a/components/bookmarks/browser/uuid_index.h b/components/bookmarks/browser/uuid_index.h +index 77cb1a1a54dd9..639d6fefcd831 100644 +--- a/components/bookmarks/browser/uuid_index.h ++++ b/components/bookmarks/browser/uuid_index.h +@@ -23,6 +23,10 @@ class NodeUuidEquality { + bool operator()(const BookmarkNode* n1, const base::Uuid& uuid2) const { + return n1->uuid() == uuid2; + } ++ ++ bool operator()(const base::Uuid& uuid1, const BookmarkNode* n2) const { ++ return uuid1 == n2->uuid(); ++ } + }; + + // Used to hash BookmarkNode instances by UUID. diff --git a/chromium.spec b/chromium.spec index 528332a7..3a14f94c 100644 --- a/chromium.spec +++ b/chromium.spec @@ -444,6 +444,9 @@ Patch311: chromium-115-clang-warnings.patch # enable fstack-protector-strong Patch312: chromium-119-fstack-protector-strong.patch +# fixed static assert error +Patch313: chromium-122-static-assert.patch + # build error Patch351: chromium-121-mnemonic-error.patch @@ -1115,6 +1118,7 @@ udev. %patch -P307 -p1 -b .clang16-buildflag %patch -P308 -p1 -b .v8-c++20 %patch -P309 -p1 -b .constexpr +%patch -P313 -p1 -b .static-assert %endif %patch -P310 -p1 -b .missing-header-files