Fix numerous shadow-warnings for GCC<=4.8

This commit is contained in:
Christoph Hertzberg 2018-08-28 18:32:39 +02:00
parent ef4d79fed8
commit 73ca600bca
18 changed files with 58 additions and 11 deletions

View File

@ -23,6 +23,8 @@
// Ordering interface // Ordering interface
#include "OrderingMethods" #include "OrderingMethods"
#include "src/Core/util/DisableStupidWarnings.h"
#include "src/SparseLU/SparseLU_gemm_kernel.h" #include "src/SparseLU/SparseLU_gemm_kernel.h"
#include "src/SparseLU/SparseLU_Structs.h" #include "src/SparseLU/SparseLU_Structs.h"
@ -43,4 +45,6 @@
#include "src/SparseLU/SparseLU_Utils.h" #include "src/SparseLU/SparseLU_Utils.h"
#include "src/SparseLU/SparseLU.h" #include "src/SparseLU/SparseLU.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_SPARSELU_MODULE_H #endif // EIGEN_SPARSELU_MODULE_H

View File

@ -36,7 +36,7 @@ namespace std \
deque(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) : deque_base(first, last, a) {} \ deque(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) : deque_base(first, last, a) {} \
deque(const deque& c) : deque_base(c) {} \ deque(const deque& c) : deque_base(c) {} \
explicit deque(size_type num, const value_type& val = value_type()) : deque_base(num, val) {} \ explicit deque(size_type num, const value_type& val = value_type()) : deque_base(num, val) {} \
deque(iterator start, iterator end) : deque_base(start, end) {} \ deque(iterator start_, iterator end_) : deque_base(start_, end_) {} \
deque& operator=(const deque& x) { \ deque& operator=(const deque& x) { \
deque_base::operator=(x); \ deque_base::operator=(x); \
return *this; \ return *this; \

View File

@ -35,7 +35,7 @@ namespace std \
list(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) : list_base(first, last, a) {} \ list(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) : list_base(first, last, a) {} \
list(const list& c) : list_base(c) {} \ list(const list& c) : list_base(c) {} \
explicit list(size_type num, const value_type& val = value_type()) : list_base(num, val) {} \ explicit list(size_type num, const value_type& val = value_type()) : list_base(num, val) {} \
list(iterator start, iterator end) : list_base(start, end) {} \ list(iterator start_, iterator end_) : list_base(start_, end_) {} \
list& operator=(const list& x) { \ list& operator=(const list& x) { \
list_base::operator=(x); \ list_base::operator=(x); \
return *this; \ return *this; \

View File

@ -36,7 +36,7 @@ namespace std \
vector(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) : vector_base(first, last, a) {} \ vector(InputIterator first, InputIterator last, const allocator_type& a = allocator_type()) : vector_base(first, last, a) {} \
vector(const vector& c) : vector_base(c) {} \ vector(const vector& c) : vector_base(c) {} \
explicit vector(size_type num, const value_type& val = value_type()) : vector_base(num, val) {} \ explicit vector(size_type num, const value_type& val = value_type()) : vector_base(num, val) {} \
vector(iterator start, iterator end) : vector_base(start, end) {} \ vector(iterator start_, iterator end_) : vector_base(start_, end_) {} \
vector& operator=(const vector& x) { \ vector& operator=(const vector& x) { \
vector_base::operator=(x); \ vector_base::operator=(x); \
return *this; \ return *this; \

View File

@ -10,6 +10,14 @@
#ifndef EIGEN_BLAS_COMMON_H #ifndef EIGEN_BLAS_COMMON_H
#define EIGEN_BLAS_COMMON_H #define EIGEN_BLAS_COMMON_H
#ifdef __GNUC__
# if __GNUC__<5
// GCC < 5.0 does not like the global Scalar typedef
// we just keep shadow-warnings disabled permanently
# define EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
# endif
#endif
#include "../Eigen/Core" #include "../Eigen/Core"
#include "../Eigen/Jacobi" #include "../Eigen/Jacobi"

View File

@ -9,8 +9,12 @@
#include "main.h" #include "main.h"
// GCC<=4.8 has spurious shadow warnings, because `ptr` re-appears inside template instantiations
// workaround: put these in an anonymous namespace
namespace {
float *ptr; float *ptr;
const float *const_ptr; const float *const_ptr;
}
template<typename PlainObjectType, template<typename PlainObjectType,
bool IsDynamicSize = PlainObjectType::SizeAtCompileTime == Dynamic, bool IsDynamicSize = PlainObjectType::SizeAtCompileTime == Dynamic,

View File

@ -12,6 +12,8 @@
#include <Eigen/Geometry> #include <Eigen/Geometry>
#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
namespace Eigen { namespace Eigen {
/** /**
@ -221,4 +223,6 @@ struct evaluator<AlignedVector3<Scalar> >
} }
#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_ALIGNED_VECTOR3 #endif // EIGEN_ALIGNED_VECTOR3

View File

@ -28,11 +28,17 @@ namespace Eigen {
//@{ //@{
} }
#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
#include "src/AutoDiff/AutoDiffScalar.h" #include "src/AutoDiff/AutoDiffScalar.h"
// #include "src/AutoDiff/AutoDiffVector.h" // #include "src/AutoDiff/AutoDiffVector.h"
#include "src/AutoDiff/AutoDiffJacobian.h" #include "src/AutoDiff/AutoDiffJacobian.h"
#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
namespace Eigen { namespace Eigen {
//@} //@}
} }

View File

@ -26,9 +26,9 @@
#include <utility> #include <utility>
#endif #endif
#include <Eigen/src/Core/util/DisableStupidWarnings.h>
#include "../SpecialFunctions" #include "../SpecialFunctions"
#include <Eigen/src/Core/util/DisableStupidWarnings.h>
#include "src/util/CXX11Meta.h" #include "src/util/CXX11Meta.h"
#include "src/util/MaxSizeVector.h" #include "src/util/MaxSizeVector.h"

View File

@ -68,6 +68,8 @@
*/ */
#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
#ifdef EIGEN_FFTW_DEFAULT #ifdef EIGEN_FFTW_DEFAULT
// FFTW: faster, GPL -- incompatible with Eigen in LGPL form, bigger code size // FFTW: faster, GPL -- incompatible with Eigen in LGPL form, bigger code size
# include <fftw3.h> # include <fftw3.h>
@ -415,5 +417,8 @@ void fft_inv_proxy<T_SrcMat,T_FftIfc>::evalTo(T_DestMat& dst) const
} }
} }
#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
#endif #endif
/* vim: set filetype=cpp et sw=2 ts=2 ai: */ /* vim: set filetype=cpp et sw=2 ts=2 ai: */

View File

@ -11,6 +11,8 @@
#define EIGEN_ITERATIVE_SOLVERS_MODULE_H #define EIGEN_ITERATIVE_SOLVERS_MODULE_H
#include <Eigen/Sparse> #include <Eigen/Sparse>
#include "../../Eigen/Jacobi"
#include "../../Eigen/Householder"
/** /**
* \defgroup IterativeSolvers_Module Iterative solvers module * \defgroup IterativeSolvers_Module Iterative solvers module
@ -24,19 +26,21 @@
*/ */
//@{ //@{
#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
#ifndef EIGEN_MPL2_ONLY #ifndef EIGEN_MPL2_ONLY
#include "src/IterativeSolvers/IterationController.h" #include "src/IterativeSolvers/IterationController.h"
#include "src/IterativeSolvers/ConstrainedConjGrad.h" #include "src/IterativeSolvers/ConstrainedConjGrad.h"
#endif #endif
#include "src/IterativeSolvers/IncompleteLU.h" #include "src/IterativeSolvers/IncompleteLU.h"
#include "../../Eigen/Jacobi"
#include "../../Eigen/Householder"
#include "src/IterativeSolvers/GMRES.h" #include "src/IterativeSolvers/GMRES.h"
#include "src/IterativeSolvers/DGMRES.h" #include "src/IterativeSolvers/DGMRES.h"
//#include "src/IterativeSolvers/SSORPreconditioner.h" //#include "src/IterativeSolvers/SSORPreconditioner.h"
#include "src/IterativeSolvers/MINRES.h" #include "src/IterativeSolvers/MINRES.h"
#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
//@} //@}
#endif // EIGEN_ITERATIVE_SOLVERS_MODULE_H #endif // EIGEN_ITERATIVE_SOLVERS_MODULE_H

View File

@ -30,6 +30,9 @@
*/ */
#include "Eigen/SparseCore" #include "Eigen/SparseCore"
#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
#ifndef EIGEN_PARSED_BY_DOXYGEN #ifndef EIGEN_PARSED_BY_DOXYGEN
#include "src/LevenbergMarquardt/LMqrsolv.h" #include "src/LevenbergMarquardt/LMqrsolv.h"
@ -41,5 +44,6 @@
#include "src/LevenbergMarquardt/LevenbergMarquardt.h" #include "src/LevenbergMarquardt/LevenbergMarquardt.h"
#include "src/LevenbergMarquardt/LMonestep.h" #include "src/LevenbergMarquardt/LMonestep.h"
#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_LEVENBERGMARQUARDT_MODULE #endif // EIGEN_LEVENBERGMARQUARDT_MODULE

View File

@ -53,12 +53,16 @@
* *
*/ */
#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
#include "src/MatrixFunctions/MatrixExponential.h" #include "src/MatrixFunctions/MatrixExponential.h"
#include "src/MatrixFunctions/MatrixFunction.h" #include "src/MatrixFunctions/MatrixFunction.h"
#include "src/MatrixFunctions/MatrixSquareRoot.h" #include "src/MatrixFunctions/MatrixSquareRoot.h"
#include "src/MatrixFunctions/MatrixLogarithm.h" #include "src/MatrixFunctions/MatrixLogarithm.h"
#include "src/MatrixFunctions/MatrixPower.h" #include "src/MatrixFunctions/MatrixPower.h"
#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
/** /**
\page matrixbaseextra_page \page matrixbaseextra_page

View File

@ -24,8 +24,12 @@ namespace Eigen
*/ */
} }
#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
#include "src/Splines/SplineFwd.h" #include "src/Splines/SplineFwd.h"
#include "src/Splines/Spline.h" #include "src/Splines/Spline.h"
#include "src/Splines/SplineFitting.h" #include "src/Splines/SplineFitting.h"
#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_SPLINES_MODULE_H #endif // EIGEN_SPLINES_MODULE_H

View File

@ -24,7 +24,7 @@ struct Functor
int m_inputs, m_values; int m_inputs, m_values;
Functor() : m_inputs(InputsAtCompileTime), m_values(ValuesAtCompileTime) {} Functor() : m_inputs(InputsAtCompileTime), m_values(ValuesAtCompileTime) {}
Functor(int inputs, int values) : m_inputs(inputs), m_values(values) {} Functor(int inputs_, int values_) : m_inputs(inputs_), m_values(values_) {}
int inputs() const { return m_inputs; } int inputs() const { return m_inputs; }
int values() const { return m_values; } int values() const { return m_values; }

View File

@ -44,7 +44,7 @@ struct TestFunc1
int m_inputs, m_values; int m_inputs, m_values;
TestFunc1() : m_inputs(InputsAtCompileTime), m_values(ValuesAtCompileTime) {} TestFunc1() : m_inputs(InputsAtCompileTime), m_values(ValuesAtCompileTime) {}
TestFunc1(int inputs, int values) : m_inputs(inputs), m_values(values) {} TestFunc1(int inputs_, int values_) : m_inputs(inputs_), m_values(values_) {}
int inputs() const { return m_inputs; } int inputs() const { return m_inputs; }
int values() const { return m_values; } int values() const { return m_values; }

View File

@ -9,7 +9,7 @@
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#include "../../test/sparse_solver.h" #include "../../test/sparse_solver.h"
#include <Eigen/src/IterativeSolvers/DGMRES.h> #include <unsupported/Eigen/IterativeSolvers>
template<typename T> void test_dgmres_T() template<typename T> void test_dgmres_T()
{ {

View File

@ -35,7 +35,7 @@ struct TestFunc1
int m_inputs, m_values; int m_inputs, m_values;
TestFunc1() : m_inputs(InputsAtCompileTime), m_values(ValuesAtCompileTime) {} TestFunc1() : m_inputs(InputsAtCompileTime), m_values(ValuesAtCompileTime) {}
TestFunc1(int inputs, int values) : m_inputs(inputs), m_values(values) {} TestFunc1(int inputs_, int values_) : m_inputs(inputs_), m_values(values_) {}
int inputs() const { return m_inputs; } int inputs() const { return m_inputs; }
int values() const { return m_values; } int values() const { return m_values; }