restore previous attributes due to false positives in gcc 14.2

This commit is contained in:
conrad
2025-05-20 13:49:20 +10:00
parent 014e11aa5b
commit f845134e58
4 changed files with 17 additions and 17 deletions
+8 -8
View File
@@ -423,12 +423,12 @@ class SpMat : public SpBase< eT, SpMat<eT> >
inline iterator_base(const SpMat& in_M);
inline iterator_base(const SpMat& in_M, const uword col, const uword pos);
arma_warn_unused inline eT operator*() const;
arma_inline eT operator*() const;
// don't hold location internally; call "dummy" methods to get that information
arma_warn_unused inline uword row() const { return M->row_indices[internal_pos]; }
arma_warn_unused inline uword col() const { return internal_col; }
arma_warn_unused inline uword pos() const { return internal_pos; }
arma_inline uword row() const { return M->row_indices[internal_pos]; }
arma_inline uword col() const { return internal_col; }
arma_inline uword pos() const { return internal_pos; }
arma_aligned const SpMat* M;
arma_aligned uword internal_col;
@@ -491,7 +491,7 @@ class SpMat : public SpBase< eT, SpMat<eT> >
inline iterator (const iterator& other) : const_iterator(other) { }
inline iterator& operator=(const iterator& other) = default;
arma_warn_unused inline SpValProxy< SpMat<eT> > operator*();
arma_hot inline SpValProxy< SpMat<eT> > operator*();
// overloads needed for return type correctness
arma_hot inline iterator& operator++();
@@ -526,9 +526,9 @@ class SpMat : public SpBase< eT, SpMat<eT> >
uword internal_row; // hold row internally
uword actual_pos; // hold the true position we are at in the matrix, as column-major indexing
arma_warn_unused inline eT operator*() const { return iterator_base::M->values[actual_pos]; }
arma_inline eT operator*() const { return iterator_base::M->values[actual_pos]; }
arma_warn_unused inline uword row() const { return internal_row; }
arma_inline uword row() const { return internal_row; }
arma_hot inline bool operator==(const const_iterator& rhs) const;
arma_hot inline bool operator!=(const const_iterator& rhs) const;
@@ -555,7 +555,7 @@ class SpMat : public SpBase< eT, SpMat<eT> >
inline row_iterator(const row_iterator& other) : const_row_iterator(other) { }
inline row_iterator& operator= (const row_iterator& other) = default;
arma_warn_unused inline SpValProxy< SpMat<eT> > operator*();
arma_hot inline SpValProxy< SpMat<eT> > operator*();
// overloads required for return type correctness
arma_hot inline row_iterator& operator++();
@@ -62,7 +62,7 @@ SpMat<eT>::iterator_base::iterator_base(const SpMat<eT>& in_M, const uword in_co
template<typename eT>
inline
arma_inline
eT
SpMat<eT>::iterator_base::operator*() const
{
+7 -7
View File
@@ -169,8 +169,8 @@ class SpSubview : public SpBase< eT, SpSubview<eT> >
inline iterator_base(const SpSubview& in_M);
inline iterator_base(const SpSubview& in_M, const uword col, const uword pos);
arma_warn_unused inline uword col() const { return internal_col; }
arma_warn_unused inline uword pos() const { return internal_pos; }
arma_inline uword col() const { return internal_col; }
arma_inline uword pos() const { return internal_pos; }
arma_aligned const SpSubview* M;
arma_aligned uword internal_col;
@@ -192,7 +192,7 @@ class SpSubview : public SpBase< eT, SpSubview<eT> >
inline const_iterator(const SpSubview& in_M, uword in_row, uword in_col, uword in_pos, uword skip_pos);
inline const_iterator(const const_iterator& other);
arma_warn_unused inline eT operator*() const;
arma_inline eT operator*() const;
// Don't hold location internally; call "dummy" methods to get that information.
arma_inline uword row() const { return iterator_base::M->m.row_indices[iterator_base::internal_pos + skip_pos] - iterator_base::M->aux_row1; }
@@ -227,7 +227,7 @@ class SpSubview : public SpBase< eT, SpSubview<eT> >
inline iterator(SpSubview& in_M, const uword in_row, const uword in_col, const uword in_pos, const uword in_skip_pos) : const_iterator(in_M, in_row, in_col, in_pos, in_skip_pos) { }
inline iterator(const iterator& other) : const_iterator(other) { }
arma_warn_unused inline SpValProxy< SpSubview<eT> > operator*();
arma_hot inline SpValProxy< SpSubview<eT> > operator*();
// overloads needed for return type correctness
arma_hot inline iterator& operator++();
@@ -260,9 +260,9 @@ class SpSubview : public SpBase< eT, SpSubview<eT> >
uword internal_row; // Hold row internally because we use internal_pos differently.
uword actual_pos; // Actual position in subview's parent matrix.
arma_warn_unused eT operator*() const { return iterator_base::M->m.values[actual_pos]; }
arma_inline eT operator*() const { return iterator_base::M->m.values[actual_pos]; }
arma_warn_unused inline uword row() const { return internal_row; }
arma_inline uword row() const { return internal_row; }
arma_hot inline bool operator!=(const const_iterator& rhs) const;
arma_hot inline bool operator==(const const_iterator& rhs) const;
@@ -285,7 +285,7 @@ class SpSubview : public SpBase< eT, SpSubview<eT> >
inline row_iterator(SpSubview& in_M, uword in_row, uword in_col) : const_row_iterator(in_M, in_row, in_col) { }
inline row_iterator(const row_iterator& other) : const_row_iterator(other) { }
arma_warn_unused inline SpValProxy< SpSubview<eT> > operator*();
arma_hot inline SpValProxy< SpSubview<eT> > operator*();
// overloads needed for return type correctness
arma_hot inline row_iterator& operator++();
@@ -269,7 +269,7 @@ SpSubview<eT>::const_iterator::const_iterator(const const_iterator& other)
template<typename eT>
inline
arma_inline
eT
SpSubview<eT>::const_iterator::operator*() const
{