Browse Source

Fix GCC 14 -Wtemplate-id-cdtor warnings

Fixes #91206.
Rémi Verschelde 1 year ago
parent
commit
a8ff47b6d6

+ 2 - 2
core/templates/ring_buffer.h

@@ -211,10 +211,10 @@ public:
 		size_mask = mask;
 	}
 
-	RingBuffer<T>(int p_power = 0) {
+	RingBuffer(int p_power = 0) {
 		resize(p_power);
 	}
-	~RingBuffer<T>() {}
+	~RingBuffer() {}
 };
 
 #endif // RING_BUFFER_H

+ 1 - 1
core/templates/safe_refcount.h

@@ -146,7 +146,7 @@ public:
 		}
 	}
 
-	_ALWAYS_INLINE_ explicit SafeNumeric<T>(T p_value = static_cast<T>(0)) {
+	_ALWAYS_INLINE_ explicit SafeNumeric(T p_value = static_cast<T>(0)) {
 		set(p_value);
 	}
 };

+ 2 - 2
thirdparty/clipper2/include/clipper2/clipper.core.h

@@ -138,7 +138,7 @@ namespace Clipper2Lib
     }
 
     template <typename T2>
-    explicit Point<T>(const Point<T2>& p)
+    explicit Point(const Point<T2>& p)
     {
       Init(p.x, p.y, p.z);
     }
@@ -180,7 +180,7 @@ namespace Clipper2Lib
     Point(const T2 x_, const T2 y_) { Init(x_, y_); }
 
     template <typename T2>
-    explicit Point<T>(const Point<T2>& p) { Init(p.x, p.y); }
+    explicit Point(const Point<T2>& p) { Init(p.x, p.y); }
 
     Point operator * (const double scale) const
     {

+ 22 - 0
thirdparty/clipper2/patches/gcc14-warning.patch

@@ -0,0 +1,22 @@
+diff --git a/thirdparty/clipper2/include/clipper2/clipper.core.h b/thirdparty/clipper2/include/clipper2/clipper.core.h
+index a77cdad5f4..0de7c3720e 100644
+--- a/thirdparty/clipper2/include/clipper2/clipper.core.h
++++ b/thirdparty/clipper2/include/clipper2/clipper.core.h
+@@ -138,7 +138,7 @@ namespace Clipper2Lib
+     }
+ 
+     template <typename T2>
+-    explicit Point<T>(const Point<T2>& p)
++    explicit Point(const Point<T2>& p)
+     {
+       Init(p.x, p.y, p.z);
+     }
+@@ -180,7 +180,7 @@ namespace Clipper2Lib
+     Point(const T2 x_, const T2 y_) { Init(x_, y_); }
+ 
+     template <typename T2>
+-    explicit Point<T>(const Point<T2>& p) { Init(p.x, p.y); }
++    explicit Point(const Point<T2>& p) { Init(p.x, p.y); }
+ 
+     Point operator * (const double scale) const
+     {