BDCSVD: Suppress Wmaybe-uninitialized
diff --git a/Eigen/src/SVD/BDCSVD.h b/Eigen/src/SVD/BDCSVD.h
index 192f42f..6b85d1d 100644
--- a/Eigen/src/SVD/BDCSVD.h
+++ b/Eigen/src/SVD/BDCSVD.h
@@ -50,26 +50,6 @@
typedef MatrixType_ MatrixType;
};
-template <typename MatrixType, int Options>
-struct allocate_small_svd {
- static void run(JacobiSVD<MatrixType, Options>& smallSvd, Index rows, Index cols, unsigned int computationOptions) {
- (void)computationOptions;
- smallSvd = JacobiSVD<MatrixType, Options>(rows, cols);
- }
-};
-
-EIGEN_DIAGNOSTICS(push)
-EIGEN_DISABLE_DEPRECATED_WARNING
-
-template <typename MatrixType>
-struct allocate_small_svd<MatrixType, 0> {
- static void run(JacobiSVD<MatrixType>& smallSvd, Index rows, Index cols, unsigned int computationOptions) {
- smallSvd = JacobiSVD<MatrixType>(rows, cols, computationOptions);
- }
-};
-
-EIGEN_DIAGNOSTICS(pop)
-
} // end namespace internal
/** \ingroup SVD_Module
@@ -289,7 +269,7 @@
if (Base::allocate(rows, cols, computationOptions)) return;
if (cols < m_algoswap)
- internal::allocate_small_svd<MatrixType, ComputationOptions>::run(smallSvd, rows, cols, computationOptions);
+ smallSvd.allocate(rows, cols, Options == 0 ? computationOptions : internal::get_computation_options(Options));
m_computed = MatrixXr::Zero(diagSize() + 1, diagSize());
m_compU = computeV();
diff --git a/Eigen/src/SVD/JacobiSVD.h b/Eigen/src/SVD/JacobiSVD.h
index 615aad1..e81db2d 100644
--- a/Eigen/src/SVD/JacobiSVD.h
+++ b/Eigen/src/SVD/JacobiSVD.h
@@ -611,7 +611,6 @@
using Base::rank;
using Base::rows;
- private:
void allocate(Index rows_, Index cols_, unsigned int computationOptions) {
if (Base::allocate(rows_, cols_, computationOptions)) return;
eigen_assert(!(ShouldComputeThinU && int(QRPreconditioner) == int(FullPivHouseholderQRPreconditioner)) &&
@@ -624,6 +623,7 @@
if (rows() > cols()) m_qr_precond_morerows.allocate(*this);
}
+ private:
JacobiSVD& compute_impl(const MatrixType& matrix, unsigned int computationOptions);
protected: