mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-20 00:29:38 +08:00
Fix 'template argument uses local type'-warnings (when compiled in C++03 mode)
This commit is contained in:
parent
6dcd2642aa
commit
a80a290079
@ -77,6 +77,9 @@ is_same_seq_type(const T1& a, const T2& b)
|
|||||||
|
|
||||||
#define VERIFY_EQ_INT(A,B) VERIFY_IS_APPROX(int(A),int(B))
|
#define VERIFY_EQ_INT(A,B) VERIFY_IS_APPROX(int(A),int(B))
|
||||||
|
|
||||||
|
// C++03 does not allow local or unnamed enums as index
|
||||||
|
enum DummyEnum { XX=0, YY=1 };
|
||||||
|
|
||||||
void check_indexed_view()
|
void check_indexed_view()
|
||||||
{
|
{
|
||||||
using Eigen::placeholders::all;
|
using Eigen::placeholders::all;
|
||||||
@ -375,9 +378,16 @@ void check_indexed_view()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check compilation of enums as index type:
|
// Check compilation of enums as index type:
|
||||||
|
a(XX) = 1;
|
||||||
|
A(XX,YY) = 1;
|
||||||
|
// Anonymous enums only work with C++11
|
||||||
|
#if EIGEN_HAS_CXX11
|
||||||
enum { X=0, Y=1 };
|
enum { X=0, Y=1 };
|
||||||
a(X) = 1;
|
a(X) = 1;
|
||||||
A(X,Y) = 1;
|
A(X,Y) = 1;
|
||||||
|
A(XX,Y) = 1;
|
||||||
|
A(X,YY) = 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
// Check compilation of varying integer types as index types:
|
// Check compilation of varying integer types as index types:
|
||||||
Index i = n/2;
|
Index i = n/2;
|
||||||
|
@ -134,8 +134,8 @@ template<typename MatrixType> void integer_type_tests(const MatrixType& m)
|
|||||||
template<int>
|
template<int>
|
||||||
void integer_types_extra()
|
void integer_types_extra()
|
||||||
{
|
{
|
||||||
VERIFY_IS_EQUAL(internal::scalar_div_cost<int>::value, 8);
|
VERIFY_IS_EQUAL(int(internal::scalar_div_cost<int>::value), 8);
|
||||||
VERIFY_IS_EQUAL(internal::scalar_div_cost<unsigned int>::value, 8);
|
VERIFY_IS_EQUAL(int(internal::scalar_div_cost<unsigned int>::value), 8);
|
||||||
if(sizeof(long)>sizeof(int)) {
|
if(sizeof(long)>sizeof(int)) {
|
||||||
VERIFY(int(internal::scalar_div_cost<long>::value) > int(internal::scalar_div_cost<int>::value));
|
VERIFY(int(internal::scalar_div_cost<long>::value) > int(internal::scalar_div_cost<int>::value));
|
||||||
VERIFY(int(internal::scalar_div_cost<unsigned long>::value) > int(internal::scalar_div_cost<int>::value));
|
VERIFY(int(internal::scalar_div_cost<unsigned long>::value) > int(internal::scalar_div_cost<int>::value));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user