FreeBSD Bugzilla – Attachment 255427 Details for
Bug 282949
math/dgl: fix build with clang 19
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
math/dgl: fix build with clang 19
math__dgl-fix-clang19-build-1.diff (text/plain), 3.20 KB, created by
Dimitry Andric
on 2024-11-24 16:53:01 UTC
(
hide
)
Description:
math/dgl: fix build with clang 19
Filename:
MIME Type:
Creator:
Dimitry Andric
Created:
2024-11-24 16:53:01 UTC
Size:
3.20 KB
patch
obsolete
>commit 1cb75163f616c7ada5308d0b4d5fe4210ebf1411 >Author: Dimitry Andric <dim@FreeBSD.org> >Date: 2024-11-24T17:52:16+01: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 > MFH: 2024Q4 > >diff --git a/math/dgl/files/patch-third__party_tensorpipe_third__party_libnop_include_nop_types_variant.h b/math/dgl/files/patch-third__party_tensorpipe_third__party_libnop_include_nop_types_variant.h >new file mode 100644 >index 000000000000..004e29c616b6 >--- /dev/null >+++ b/math/dgl/files/patch-third__party_tensorpipe_third__party_libnop_include_nop_types_variant.h >@@ -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)); >+ }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 282949
: 255427