diff --git a/core/fpdfdoc/cpdf_metadata.cpp b/core/fpdfdoc/cpdf_metadata.cpp index 323de4ffc..f11a0b0ad 100644 --- a/core/fpdfdoc/cpdf_metadata.cpp +++ b/core/fpdfdoc/cpdf_metadata.cpp @@ -74,7 +74,7 @@ std::vector CPDF_Metadata::CheckForSharedForm() const { CFX_XMLParser parser(stream); std::unique_ptr doc = parser.Parse(); if (!doc) - return {}; + return std::vector(); std::vector unsupported; CheckForSharedFormInternal(doc->GetRoot(), &unsupported); diff --git a/third_party/base/span.h b/third_party/base/span.h index 0fb627ba8..f71c362e2 100644 --- a/third_party/base/span.h +++ b/third_party/base/span.h @@ -214,7 +214,7 @@ class span { // Conversions from spans of compatible types: this allows a span to be // seamlessly used as a span, but not the other way around. template > - constexpr span(const span& other) : span(other.data(), other.size()) {} + span(const span& other) : span(other.data(), other.size()) {} span& operator=(const span& other) noexcept = default; ~span() noexcept { if (!size_) { diff --git a/third_party/base/span.h b/third_party/base/span.h index 0fb627ba8..dda1fc8bc 100644 --- a/third_party/base/span.h +++ b/third_party/base/span.h @@ -204,7 +204,7 @@ class span { // size()|. template > - constexpr span(Container& container) + span(Container& container) : span(container.data(), container.size()) {} template < typename Container, --- a/core/fxcrt/fx_memory_wrappers.h.orig 2020-01-15 11:16:03.848760100 +0100 +++ b/core/fxcrt/fx_memory_wrappers.h 2020-01-15 11:16:44.050531200 +0100 @@ -23,8 +23,11 @@ template struct FxAllocAllocator { public: +#ifndef _WIN32 + // MSVC thinks uint8_t is not an arithmetic type. static_assert(std::is_arithmetic::value, "Only numeric types allowed in this partition"); +#endif using value_type = T; using pointer = T*;