git: 1f9773e8d9e4 - main - misc/openvdb: fix build with clang 19
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 10 Sep 2024 19:47:35 UTC
The branch main has been updated by dim:
URL: https://cgit.FreeBSD.org/ports/commit/?id=1f9773e8d9e41c322b14ae6b199bd5a90de27aae
commit 1f9773e8d9e41c322b14ae6b199bd5a90de27aae
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-09-10 14:24:56 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-09-10 19:46:23 +0000
misc/openvdb: 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/misc/openvdb/work/openvdb-11.0.0/openvdb/openvdb/../openvdb/tree/NodeManager.h:330:31: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
330 | OpT::template eval(mNodeOp, it);
| ^
/wrkdirs/usr/ports/misc/openvdb/work/openvdb-11.0.0/openvdb/openvdb/../openvdb/tree/NodeManager.h:350:31: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
350 | OpT::template eval(mNodeOp, it);
| ^
/wrkdirs/usr/ports/misc/openvdb/work/openvdb-11.0.0/openvdb/openvdb/../openvdb/tree/NodeManager.h:375:31: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
375 | OpT::template eval(*mNodeOp, it);
| ^
In these cases, appending "<>" is enough to satisfy the constraint.
PR: 281418
Approved by: yuri (maintainer)
MFH: 2024Q3
---
.../files/patch-openvdb_openvdb_tree_NodeManager.h | 29 ++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/misc/openvdb/files/patch-openvdb_openvdb_tree_NodeManager.h b/misc/openvdb/files/patch-openvdb_openvdb_tree_NodeManager.h
new file mode 100644
index 000000000000..e87fe2c85273
--- /dev/null
+++ b/misc/openvdb/files/patch-openvdb_openvdb_tree_NodeManager.h
@@ -0,0 +1,29 @@
+--- openvdb/openvdb/tree/NodeManager.h.orig 2023-11-01 20:31:11 UTC
++++ openvdb/openvdb/tree/NodeManager.h
+@@ -327,7 +327,7 @@ class NodeList (private)
+ void operator()(const NodeRange& range) const
+ {
+ for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
+- OpT::template eval(mNodeOp, it);
++ OpT::template eval<>(mNodeOp, it);
+ }
+ }
+ const NodeOp mNodeOp;
+@@ -347,7 +347,7 @@ class NodeList (private)
+ void operator()(const NodeRange& range) const
+ {
+ for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
+- OpT::template eval(mNodeOp, it);
++ OpT::template eval<>(mNodeOp, it);
+ }
+ }
+ const NodeOp& mNodeOp;
+@@ -372,7 +372,7 @@ class NodeList (private)
+ void operator()(const NodeRange& range)
+ {
+ for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
+- OpT::template eval(*mNodeOp, it);
++ OpT::template eval<>(*mNodeOp, it);
+ }
+ }
+ void join(const NodeReducer& other)