Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/media/highway/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  mozilla.patch   Sprache: unbekannt

 
diff --git a/third_party/highway/hwy/aligned_allocator.h b/third_party/highway/hwy/aligned_allocator.h
index 7584318a75792..66f730820978f 100644
--- a/third_party/highway/hwy/aligned_allocator.h
+++ b/third_party/highway/hwy/aligned_allocator.h
@@ -30,6 +30,8 @@
 #include "hwy/base.h"
 #include "hwy/per_target.h"
 
+#include <mozilla/Attributes.h>
+
 namespace hwy {
 
 // Minimum alignment of allocated memory for use in HWY_ASSUME_ALIGNED, which
@@ -222,8 +224,8 @@ class Span {
   Span() = default;
   Span(T* data, size_t size) : size_(size), data_(data) {}
   template <typename U>
-  Span(U u) : Span(u.data(), u.size()) {}
-  Span(std::initializer_list<const T> v) : Span(v.begin(), v.size()) {}
+  MOZ_IMPLICIT Span(U u) : Span(u.data(), u.size()) {}
+  MOZ_IMPLICIT Span(std::initializer_list<const T> v) : Span(v.begin(), v.size()) {}
 
   // Copies the contents of the initializer list to the span.
   Span<T>& operator=(std::initializer_list<const T> v) {
diff --git a/third_party/highway/hwy/base.h b/third_party/highway/hwy/base.h
index c289db7262bcb..0b81d6012314a 100644
--- a/third_party/highway/hwy/base.h
+++ b/third_party/highway/hwy/base.h
@@ -25,6 +25,8 @@
 #include "hwy/detect_compiler_arch.h"
 #include "hwy/highway_export.h"
 
+#include <mozilla/Attributes.h>
+
 #if HWY_COMPILER_MSVC && defined(_MSVC_LANG) && _MSVC_LANG > __cplusplus
 #define HWY_CXX_LANG _MSVC_LANG
 #else
@@ -1102,7 +1104,7 @@ struct alignas(2) float16_t {
 #if HWY_HAVE_SCALAR_F16_TYPE
   // NEON vget/set_lane intrinsics and SVE `svaddv` could use explicit
   // float16_t(intrinsic()), but user code expects implicit conversions.
-  constexpr float16_t(Native arg) noexcept : native(arg) {}
+  MOZ_IMPLICIT constexpr float16_t(Native arg) noexcept : native(arg) {}
   constexpr operator Native() const noexcept { return native; }
 #endif
 
@@ -1129,7 +1131,7 @@ struct alignas(2) float16_t {
 #if HWY_HAVE_SCALAR_F16_OPERATORS || HWY_IDE
   template <typename T, hwy::EnableIf<!IsSame<RemoveCvRef<T>, float16_t>() &&
                                       IsConvertible<T, Native>()>* = nullptr>
-  constexpr float16_t(T&& arg) noexcept
+  MOZ_IMPLICIT constexpr float16_t(T&& arg) noexcept
       : native(static_cast<Native>(static_cast<T&&>(arg))) {}
 
   template <typename T, hwy::EnableIf<!IsSame<RemoveCvRef<T>, float16_t>() &&
@@ -1572,7 +1574,7 @@ struct alignas(2) bfloat16_t {
 
 // Only enable implicit conversions if we have a native type.
 #if HWY_HAVE_SCALAR_BF16_TYPE
-  constexpr bfloat16_t(Native arg) noexcept : native(arg) {}
+  MOZ_IMPLICIT constexpr bfloat16_t(Native arg) noexcept : native(arg) {}
   constexpr operator Native() const noexcept { return native; }
 #endif
 

[ Dauer der Verarbeitung: 0.31 Sekunden  (vorverarbeitet)  ]