mirror of
https://git.freebsd.org/ports.git
synced 2025-04-28 01:26:39 -04:00
math/dgl: fix build with clang 19
Clang 19 now implements CWG 96 [1], which requires a template argument list after a 'template' keyword, resulting in errors similar to: /wrkdirs/usr/ports/math/dgl/work/dgl-1.1.2/third_party/tensorpipe/third_party/libnop/include/nop/types/variant.h:241:30: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 241 | index_ = value_.template Construct(std::forward<Args>(args)...); | ^ /wrkdirs/usr/ports/math/dgl/work/dgl-1.1.2/third_party/tensorpipe/third_party/libnop/include/nop/types/variant.h:258:26: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 258 | if (!value_.template Assign(TypeTag<T>{}, index_, std::forward<U>(value))) { | ^ /wrkdirs/usr/ports/math/dgl/work/dgl-1.1.2/third_party/tensorpipe/third_party/libnop/include/nop/types/variant.h:265:26: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 265 | if (!value_.template Assign(index_, std::forward<T>(value))) { | ^ In all these cases, appending "<>" is enough to satisfy the constraint. [1] https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#96 PR: 282949 Approved by: maintainer timeout (2 weeks) MFH: 2024Q4
This commit is contained in:
parent
8b120aa5b5
commit
4dc6727cb5
1 changed files with 28 additions and 0 deletions
|
@ -0,0 +1,28 @@
|
|||
--- third_party/tensorpipe/third_party/libnop/include/nop/types/variant.h.orig 2020-07-24 02:13:02 UTC
|
||||
+++ third_party/tensorpipe/third_party/libnop/include/nop/types/variant.h
|
||||
@@ -238,7 +238,7 @@ class Variant {
|
||||
// resulting type.
|
||||
template <typename... Args>
|
||||
void Construct(Args&&... args) {
|
||||
- index_ = value_.template Construct(std::forward<Args>(args)...);
|
||||
+ index_ = value_.template Construct<>(std::forward<Args>(args)...);
|
||||
}
|
||||
void Construct(EmptyVariant) {}
|
||||
|
||||
@@ -255,14 +255,14 @@ class Variant {
|
||||
// multiple element types.
|
||||
template <typename T, typename U>
|
||||
void Assign(TypeTag<T>, U&& value) {
|
||||
- if (!value_.template Assign(TypeTag<T>{}, index_, std::forward<U>(value))) {
|
||||
+ if (!value_.template Assign<>(TypeTag<T>{}, index_, std::forward<U>(value))) {
|
||||
Destruct();
|
||||
Construct(TypeTag<T>{}, std::forward<U>(value));
|
||||
}
|
||||
}
|
||||
template <typename T>
|
||||
void Assign(T&& value) {
|
||||
- if (!value_.template Assign(index_, std::forward<T>(value))) {
|
||||
+ if (!value_.template Assign<>(index_, std::forward<T>(value))) {
|
||||
Destruct();
|
||||
Construct(std::forward<T>(value));
|
||||
}
|
Loading…
Add table
Reference in a new issue