summaryrefslogtreecommitdiff
path: root/www-client/chromium/files/chromium-100-LayoutUnit-constexpr.patch
blob: 41943c42f279fe190778ebfa160a9fb72e155e50 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
From 23384ca857117c7dff6627847638e0ab2b9a9e6c Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Tue, 25 Jan 2022 17:29:49 +0000
Subject: [PATCH] GCC: default initialize member in blink::LayoutUnit
 constructor

Before C++20 the compiler is not required to check that members are
initialized before use in constexpr constructors. However,
expressions with undefined behaviour (e.g. due to unitialized data
members) is prohibited for constexpr. Default initialize to
value_ to 0 to workaround the problem.
---
 third_party/blink/renderer/platform/geometry/layout_unit.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h
index e6cbe37..d1e4f07 100644
--- a/third_party/blink/renderer/platform/geometry/layout_unit.h
+++ b/third_party/blink/renderer/platform/geometry/layout_unit.h
@@ -95,7 +95,7 @@ class LayoutUnit {
  public:
   constexpr LayoutUnit() : value_(0) {}
   template <typename IntegerType>
-  constexpr explicit LayoutUnit(IntegerType value) {
+  constexpr explicit LayoutUnit(IntegerType value) : value_(0) {
     if (std::is_signed<IntegerType>::value)
       SaturatedSet(static_cast<int>(value));
     else
-- 
2.34.1