ports/math/pdal/files/patch-vendor_kazhdan_SparseMatrix.h
Dimitry Andric 465e9eaad0 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:		2024Q3
2024-10-09 21:09:53 +02:00

11 lines
352 B
C

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