tpopela / rpms / chromium

Forked from rpms/chromium 6 years ago
Clone
Blob Blame History Raw
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS.jdp chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS
--- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS.jdp	2018-03-07 13:54:42.653286576 -0500
+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/DEPS	2018-03-07 13:55:00.973903591 -0500
@@ -16,6 +16,7 @@ include_rules = [
     "+base/process/process_metrics.h",
     "+base/rand_util.h",
     "+base/strings",
+    "+base/template_util.h",
     "+base/threading/thread_checker.h",
     "+base/time/time.h",
     "+base/tuple.h",
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.jdp chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h
--- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h.jdp	2018-03-07 13:56:29.053062331 -0500
+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/Optional.h	2018-03-07 13:56:36.595904651 -0500
@@ -6,6 +6,7 @@
 #define Optional_h
 
 #include "base/optional.h"
+#include "platform/wtf/TemplateUtil.h"
 #include "platform/wtf/TypeTraits.h"
 
 namespace WTF {
diff -up chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.jdp chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h
--- chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h.jdp	2018-03-07 13:56:47.356679702 -0500
+++ chromium-65.0.3325.146/third_party/WebKit/Source/platform/wtf/TemplateUtil.h	2018-03-07 13:57:41.769542223 -0500
@@ -0,0 +1,28 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef TemplateUtil_h
+#define TemplateUtil_h
+
+#include "base/template_util.h"
+#include "platform/wtf/Vector.h"
+
+namespace base {
+
+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7
+// Workaround for g++7 and earlier family.
+// Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654, without this
+// Optional<WTF::Vector<T>> where T is non-copyable causes a compile error.
+// As we know it is not trivially copy constructible, explicitly declare so.
+//
+// It completes the declaration in base/template_util.h that was provided
+// for std::vector
+template <typename T>
+struct is_trivially_copy_constructible<WTF::Vector<T>> : std::false_type {};
+#endif
+
+}  // namespace base
+
+#endif  // TemplateUtil_h
+