mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-01-24 14:45:14 +08:00
bug #1752: disable some is_convertible tests for recent compilers.
This commit is contained in:
parent
f0a4642bab
commit
fb557aec5c
@ -101,6 +101,14 @@ EIGEN_DECLARE_TEST(meta)
|
||||
VERIFY(( check_is_convertible(A*B, A) ));
|
||||
}
|
||||
|
||||
#if (EIGEN_COMP_GNUC && EIGEN_COMP_GNUC <= 99) \
|
||||
|| (EIGEN_COMP_CLANG && EIGEN_COMP_CLANG <= 909) \
|
||||
|| (EIGEN_COMP_MSVC && EIGEN_COMP_MSVC <=1914)
|
||||
// See http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1752,
|
||||
// basically, a fix in the c++ standard breaks our c++98 implementation
|
||||
// of is_convertible for abstract classes.
|
||||
// So the following tests are expected to fail with recent compilers.
|
||||
|
||||
STATIC_CHECK(( !internal::is_convertible<MyInterface, MyImpl>::value ));
|
||||
#if (!EIGEN_COMP_GNUC_STRICT) || (EIGEN_GNUC_AT_LEAST(4,8))
|
||||
// GCC prior to 4.8 fails to compile this test:
|
||||
@ -110,12 +118,16 @@ EIGEN_DECLARE_TEST(meta)
|
||||
STATIC_CHECK(( !internal::is_convertible<MyImpl, MyInterface>::value ));
|
||||
#endif
|
||||
STATIC_CHECK(( internal::is_convertible<MyImpl, const MyInterface&>::value ));
|
||||
|
||||
#endif
|
||||
|
||||
{
|
||||
int i;
|
||||
VERIFY(( check_is_convertible(fix<3>(), i) ));
|
||||
VERIFY((!check_is_convertible(i, fix<DynamicIndex>()) ));
|
||||
}
|
||||
|
||||
|
||||
VERIFY(( internal::has_ReturnType<FooReturnType>::value ));
|
||||
VERIFY(( internal::has_ReturnType<ScalarBinaryOpTraits<int,int> >::value ));
|
||||
VERIFY(( !internal::has_ReturnType<MatrixXf>::value ));
|
||||
|
Loading…
Reference in New Issue
Block a user