ports/misc/openvdb/files/patch-openvdb_openvdb_tree_NodeManager.h
Dimitry Andric 1f9773e8d9 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
2024-09-10 21:46:23 +02:00

29 lines
1.1 KiB
C

--- 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)