Commit 9a8defa9 authored by Jose Dapena Paz's avatar Jose Dapena Paz Committed by Commit Bot

GCC: SortByToken operators in PerFrameV8MemoryUsageData cannot be constexpr.

These operators fail to build in GCC as the mojo StructPtr operator-> is not constexpr either:

../../components/performance_manager/v8_memory/v8_per_frame_memory_decorator.cc:60:13: error: call to non-‘constexpr’ function ‘mojo::StructPtr<S>::Struct* mojo::StructPtr<S>::operator->() const [with S = blink::mojom::PerFrameV8MemoryUsageData; mojo::StructPtr<S>::Struct = blink::mojom::PerFrameV8MemoryUsageData]’
   60 |     return a->frame_token < b->frame_token;
      |             ^~
../../components/performance_manager/v8_memory/v8_per_frame_memory_decorator.cc: In member function ‘constexpr bool performance_manager::v8_memory::{anonymous}::SortByToken::operator()(const PerFrameUsagePtr&, const LocalFrameToken&)’:
../../components/performance_manager/v8_memory/v8_per_frame_memory_decorator.cc:65:13: error: call to non-‘constexpr’ function ‘mojo::StructPtr<S>::Struct* mojo::StructPtr<S>::operator->() const [with S = blink::mojom::PerFrameV8MemoryUsageData; mojo::StructPtr<S>::Struct = blink::mojom::PerFrameV8MemoryUsageData]’
   65 |     return a->frame_token < b.value();
      |             ^~

Bug: 819294
Change-Id: I4dbd8ee5f1f4b00b19a21777c4c8c93fdd7f6f16
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2367038Reviewed-by: default avatarFrançois Doray <fdoray@chromium.org>
Commit-Queue: José Dapena Paz <jdapena@igalia.com>
Cr-Commit-Position: refs/heads/master@{#800190}
parent 7819aedc
...@@ -55,13 +55,11 @@ using PerFrameUsagePtr = blink::mojom::PerFrameV8MemoryUsageDataPtr; ...@@ -55,13 +55,11 @@ using PerFrameUsagePtr = blink::mojom::PerFrameV8MemoryUsageDataPtr;
// Comparator that generates a strict total order of PerFrameUsagePtr's when // Comparator that generates a strict total order of PerFrameUsagePtr's when
// compared by their frame tokens. // compared by their frame tokens.
struct SortByToken { struct SortByToken {
constexpr bool operator()(const PerFrameUsagePtr& a, bool operator()(const PerFrameUsagePtr& a, const PerFrameUsagePtr& b) {
const PerFrameUsagePtr& b) {
return a->frame_token < b->frame_token; return a->frame_token < b->frame_token;
} }
constexpr bool operator()(const PerFrameUsagePtr& a, bool operator()(const PerFrameUsagePtr& a, const blink::LocalFrameToken& b) {
const blink::LocalFrameToken& b) {
return a->frame_token < b.value(); return a->frame_token < b.value();
} }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment