git: e384c3c58d6e - 2024Q4 - math/pdal: fix build with clang 19
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 09 Oct 2024 19:18:22 UTC
The branch 2024Q4 has been updated by dim:
URL: https://cgit.FreeBSD.org/ports/commit/?id=e384c3c58d6e48e729c9b803077702c43cd2ccf8
commit e384c3c58d6e48e729c9b803077702c43cd2ccf8
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-10-05 13:21:23 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-10-09 19:18:02 +0000
math/pdal: fix build with clang 19
Clang 19 has become more strict about errors in member functions, which
results in errors building math/pdal:
/wrkdirs/usr/ports/math/pdal/work/PDAL-2.7.2-src/vendor/kazhdan/SparseMatrix.inl:195:18: error: no member named 'm_N' in 'SparseMatrix<T>'
195 | Resize(this->m_N, this->m_M);
| ~~~~ ^
/wrkdirs/usr/ports/math/pdal/work/PDAL-2.7.2-src/vendor/kazhdan/SparseMatrix.inl:195:29: error: no member named 'm_M' in 'SparseMatrix<T>'
195 | Resize(this->m_N, this->m_M);
| ~~~~ ^
/wrkdirs/usr/ports/math/pdal/work/PDAL-2.7.2-src/vendor/kazhdan/Ply.h:320:97: error: no member named 'value' in 'PlyOrientedVertex<Real>'
320 | PlyOrientedVertex operator - ( PlyOrientedVertex p ) const { return PlyOrientedVertex( point-p.value , normal-p.normal ); }
| ~ ^
/wrkdirs/usr/ports/math/pdal/work/PDAL-2.7.2-src/vendor/kazhdan/Ply.h:366:92: error: no member named 'value' in 'PlyColorVertex::_PlyColorVertex'
366 | _PlyColorVertex operator - ( _PlyColorVertex p ) const { return _PlyColorVertex( point-p.value , color-p.color ); }
| ~ ^
The first pair of errors is because there are no members `m_N` and `m_M`
in `SparseMatrix` at all, nor are there any members that remotely look
like these. However, the `SetZero()` member function that invokes these
is never used anywhere, so it can simply be deleted.
The second pair of errors is due to a typo: `p.value` should have been
`p.point`.
PR: 281867
Approved by: lbartoletti (maintainer)
MFH: 2024Q4
(cherry picked from commit 465e9eaad0eeb60f82c2405459b0c652cb38cdff)
---
math/pdal/files/patch-vendor_kazhdan_Ply.h | 20 ++++++++++++++++++++
math/pdal/files/patch-vendor_kazhdan_SparseMatrix.h | 11 +++++++++++
.../pdal/files/patch-vendor_kazhdan_SparseMatrix.inl | 16 ++++++++++++++++
3 files changed, 47 insertions(+)
diff --git a/math/pdal/files/patch-vendor_kazhdan_Ply.h b/math/pdal/files/patch-vendor_kazhdan_Ply.h
new file mode 100644
index 000000000000..2ec2a38292d4
--- /dev/null
+++ b/math/pdal/files/patch-vendor_kazhdan_Ply.h
@@ -0,0 +1,20 @@
+--- vendor/kazhdan/Ply.h.orig 2024-06-29 01:37:43 UTC
++++ vendor/kazhdan/Ply.h
+@@ -317,7 +317,7 @@ class PlyOrientedVertex (public)
+ PlyOrientedVertex( void ) { ; }
+ PlyOrientedVertex( Point3D< Real > p , Point3D< Real > n ) : point(p) , normal(n) { ; }
+ PlyOrientedVertex operator + ( PlyOrientedVertex p ) const { return PlyOrientedVertex( point+p.point , normal+p.normal ); }
+- PlyOrientedVertex operator - ( PlyOrientedVertex p ) const { return PlyOrientedVertex( point-p.value , normal-p.normal ); }
++ PlyOrientedVertex operator - ( PlyOrientedVertex p ) const { return PlyOrientedVertex( point-p.point , normal-p.normal ); }
+ template< class _Real > PlyOrientedVertex operator * ( _Real s ) const { return PlyOrientedVertex( point*s , normal*s ); }
+ template< class _Real > PlyOrientedVertex operator / ( _Real s ) const { return PlyOrientedVertex( point/s , normal/s ); }
+ PlyOrientedVertex& operator += ( PlyOrientedVertex p ) { point += p.point , normal += p.normal ; return *this; }
+@@ -363,7 +363,7 @@ class PlyColorVertex (public)
+ }
+
+ _PlyColorVertex operator + ( _PlyColorVertex p ) const { return _PlyColorVertex( point+p.point , color+p.color ); }
+- _PlyColorVertex operator - ( _PlyColorVertex p ) const { return _PlyColorVertex( point-p.value , color-p.color ); }
++ _PlyColorVertex operator - ( _PlyColorVertex p ) const { return _PlyColorVertex( point-p.point , color-p.color ); }
+ template< class _Real > _PlyColorVertex operator * ( _Real s ) const { return _PlyColorVertex( point*s , color*s ); }
+ template< class _Real > _PlyColorVertex operator / ( _Real s ) const { return _PlyColorVertex( point/s , color/s ); }
+ _PlyColorVertex& operator += ( _PlyColorVertex p ) { point += p.point , color += p.color ; return *this; }
diff --git a/math/pdal/files/patch-vendor_kazhdan_SparseMatrix.h b/math/pdal/files/patch-vendor_kazhdan_SparseMatrix.h
new file mode 100644
index 000000000000..9152361e68bb
--- /dev/null
+++ b/math/pdal/files/patch-vendor_kazhdan_SparseMatrix.h
@@ -0,0 +1,11 @@
+--- vendor/kazhdan/SparseMatrix.h.orig 2024-06-29 01:37:43 UTC
++++ vendor/kazhdan/SparseMatrix.h
+@@ -67,8 +67,6 @@ template<class T> class SparseMatrix (public)
+ SparseMatrix( const SparseMatrix& M );
+ ~SparseMatrix();
+
+- void SetZero();
+-
+ SparseMatrix<T>& operator = (const SparseMatrix<T>& M);
+
+ SparseMatrix<T> operator * (const T& V) const;
diff --git a/math/pdal/files/patch-vendor_kazhdan_SparseMatrix.inl b/math/pdal/files/patch-vendor_kazhdan_SparseMatrix.inl
new file mode 100644
index 000000000000..c8aa440a1b36
--- /dev/null
+++ b/math/pdal/files/patch-vendor_kazhdan_SparseMatrix.inl
@@ -0,0 +1,16 @@
+--- vendor/kazhdan/SparseMatrix.inl.orig 2024-06-29 01:37:43 UTC
++++ vendor/kazhdan/SparseMatrix.inl
+@@ -188,13 +188,6 @@ void SparseMatrix< T >::SetRowSize( int row , int coun
+ }
+ }
+
+-
+-template<class T>
+-void SparseMatrix<T>::SetZero()
+-{
+- Resize(this->m_N, this->m_M);
+-}
+-
+ template<class T>
+ SparseMatrix<T> SparseMatrix<T>::operator * (const T& V) const
+ {