Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Jan 2025 18:33:52 GMT
From:      Dimitry Andric <dim@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org
Subject:   git: 2a47978486c9 - 2025Q1 - math/linbox: fix build with clang 19
Message-ID:  <202501191833.50JIXqgi065592@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch 2025Q1 has been updated by dim:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2a47978486c99459386f37bec701543bf001d6b8

commit 2a47978486c99459386f37bec701543bf001d6b8
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2025-01-19 18:31:50 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2025-01-19 18:33:28 +0000

    math/linbox: fix build with clang 19
    
    Clang 19 has become more strict about errors in member functions, which
    results in errors building math/linbox:
    
      ../../linbox/vector/blas-subvector.h:121:20: error: no member named 'data' in 'BlasSubvector<_Vector>'
        121 |             _ptr(V.data()+beg), _size(dim), _inc(inc), _field(&V.field()) {}
            |                  ~ ^
      ../../linbox/matrix/sparsematrix/sparse-ell-matrix.h:1216:16: error: cannot assign to non-static data member '_ld' with const-qualified type 'const size_t &' (aka 'const unsigned long &')
       1216 |                                 _ld        = iter._ld ;
            |                                 ~~~        ^
      ../../linbox/matrix/sparsematrix/sparse-ellr-matrix.h:1108:12: error: no viable overloaded '='
       1108 |                                 _rowid = iter._rowid;
            |                                 ~~~~~~ ^ ~~~~~~~~~~~
    
    In all these cases, the methods where the errors occur are not actually
    used, so until upstream sorts out their incorrect code, stub them out
    using #if 0/#endif pairs.
    
    PR:             284159
    Approved by:    thierry (maintainer)
    MFH:            2025Q1
    
    (cherry picked from commit 6e2222799ebf6ff0a12bed3798fc0cc0e71e1e55)
---
 ...-linbox_matrix_sparsematrix_sparse-ell-matrix.h | 18 ++++++++++++
 ...linbox_matrix_sparsematrix_sparse-ellr-matrix.h | 34 ++++++++++++++++++++++
 .../files/patch-linbox_vector_blas-subvector.h     | 13 +++++++++
 3 files changed, 65 insertions(+)

diff --git a/math/linbox/files/patch-linbox_matrix_sparsematrix_sparse-ell-matrix.h b/math/linbox/files/patch-linbox_matrix_sparsematrix_sparse-ell-matrix.h
new file mode 100644
index 000000000000..efde096e0e7e
--- /dev/null
+++ b/math/linbox/files/patch-linbox_matrix_sparsematrix_sparse-ell-matrix.h
@@ -0,0 +1,18 @@
+--- linbox/matrix/sparsematrix/sparse-ell-matrix.h.orig	2021-12-14 10:16:03 UTC
++++ linbox/matrix/sparsematrix/sparse-ell-matrix.h
+@@ -1205,6 +1205,7 @@ namespace LinBox
+ 				, _row(iter._row)
+ 			{}
+ 
++#if 0
+ 			_IndexedIterator &operator = (const _IndexedIterator &iter)
+ 			{
+ 				_colid_beg = iter._colid_beg ;
+@@ -1218,6 +1219,7 @@ namespace LinBox
+ 
+ 				return *this;
+ 			}
++#endif
+ 
+ 			bool operator == (const _IndexedIterator &i) const
+ 			{
diff --git a/math/linbox/files/patch-linbox_matrix_sparsematrix_sparse-ellr-matrix.h b/math/linbox/files/patch-linbox_matrix_sparsematrix_sparse-ellr-matrix.h
new file mode 100644
index 000000000000..bd8b3eaf95c8
--- /dev/null
+++ b/math/linbox/files/patch-linbox_matrix_sparsematrix_sparse-ellr-matrix.h
@@ -0,0 +1,34 @@
+--- linbox/matrix/sparsematrix/sparse-ellr-matrix.h.orig	2021-12-14 10:16:03 UTC
++++ linbox/matrix/sparsematrix/sparse-ellr-matrix.h
+@@ -1099,6 +1099,7 @@ namespace LinBox
+ 
+ 			{}
+ 
++#if 0
+ 			_Iterator &operator = (const _Iterator &iter)
+ 			{
+ 				_data_it  = iter._data_it  ;
+@@ -1111,6 +1112,7 @@ namespace LinBox
+ 
+ 				return *this;
+ 			}
++#endif
+ 
+ 			bool operator == (const _Iterator &i) const
+ 			{
+@@ -1246,6 +1248,7 @@ namespace LinBox
+ 				, _row(iter._row)
+ 			{}
+ 
++#if 0
+ 			_IndexedIterator &operator = (const _IndexedIterator &iter)
+ 			{
+ 				_rowid_it  = iter._rowid_it ;
+@@ -1260,6 +1263,7 @@ namespace LinBox
+ 
+ 				return *this;
+ 			}
++#endif
+ 
+ 			bool operator == (const _IndexedIterator &i) const
+ 			{
diff --git a/math/linbox/files/patch-linbox_vector_blas-subvector.h b/math/linbox/files/patch-linbox_vector_blas-subvector.h
new file mode 100644
index 000000000000..00c6e129b8aa
--- /dev/null
+++ b/math/linbox/files/patch-linbox_vector_blas-subvector.h
@@ -0,0 +1,13 @@
+--- linbox/vector/blas-subvector.h.orig	2021-12-14 10:16:03 UTC
++++ linbox/vector/blas-subvector.h
+@@ -117,8 +117,10 @@ namespace LinBox {
+          * \param dim dimension
+          * \param inc distance between two element
+          */
++#if 0
+         BlasSubvector (Self_t &V, size_t beg, size_t inc, size_t dim) :
+             _ptr(V.data()+beg), _size(dim), _inc(inc), _field(&V.field()) {}
++#endif
+ 
+         
+         /** Constructor from an existing @ref BlasVector



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202501191833.50JIXqgi065592>