3.0-beta2: Intel incomplete type error breaks several unit tests
Submitted by Rhys Ulerich
Assigned to Nobody
Link to original bugzilla bug (#73)
Version: 3.0
Operating system: Linux
Description
Using Intel 11.1 compilers, the recently released beta2 dies when some of its unit tests. The first failure is as follows:
[ 0%] Building CXX object test/CMakeFiles/mixingtypes_1.dir/mixingtypes.cpp.o
/home/rhys/tmp/eigen/Eigen/src/Householder/HouseholderSequence.h(97): error: incomplete type is not allowed
typedef typename ei_scalar_product_traits<OtherScalarType, typename MatrixType::Scalar>::ReturnType
^
detected during:
instantiation of class "Eigen::ei_matrix_type_times_scalar_type<OtherScalarType, MatrixType> [with OtherScalarType=double, MatrixType=Eigen::Block<Eigen::Matrix<float, 6, 1, 0, 6, 1>, -1, 1, false, true>]" at line 92 of "/home/rhys/tmp/eigen/Eigen/src/Core/../plugins/CommonCwiseUnaryOps.h"
instantiation of class "Eigen::MatrixBase<Derived> [with Derived=Eigen::Block<Eigen::Matrix<float, 6, 1, 0, 6, 1>, -1, 1, false, true>]" at line 89 of "/home/rhys/tmp/eigen/unsupported/Eigen/src/Polynomials/Companion.h"
instantiation of "void Eigen::ei_companion<_Scalar, _Deg>::setPolynomial(const VectorType &) [with _Scalar=float, _Deg=5, VectorType=Eigen::Matrix<float, 6, 1, 0, 6, 1>]" at line 96 of "/home/rhys/tmp/eigen/unsupported/Eigen/src/Polynomials/Companion.h"
instantiation of "Eigen::ei_companion<_Scalar, _Deg>::ei_companion(const VectorType &) [with _Scalar=float, _Deg=5, VectorType=Eigen::Matrix<float, 6, 1, 0, 6, 1>]" at line 358 of "/home/rhys/tmp/eigen/unsupported/Eigen/src/Polynomials/PolynomialSolver.h"
instantiation of "void Eigen::PolynomialSolver<_Scalar, _Deg>::compute(const OtherPolynomial &) [with _Scalar=float, _Deg=5, OtherPolynomial=Eigen::Matrix<float, 6, 1, 0, 6, 1>]" at line 58 of "/home/rhys/tmp/eigen/unsupported/test/polynomialsolver.cpp"
instantiation of "bool aux_evalSolver<Deg,POLYNOMIAL,SOLVER>(const POLYNOMIAL &, SOLVER &) [with Deg=5, POLYNOMIAL=Eigen::Matrix<float, 6, 1, 0, 6, 1>, SOLVER=Eigen::PolynomialSolver<float, 5>]" at line 129 of "/home/rhys/tmp/eigen/unsupported/test/polynomialsolver.cpp"
instantiation of "void evalSolver<Deg,POLYNOMIAL>(const POLYNOMIAL &) [with Deg=5, POLYNOMIAL=Eigen::Matrix<float, 6, 1, 0, 6, 1>]" at line 219 of "/home/rhys/tmp/eigen/unsupported/test/polynomialsolver.cpp"
instantiation of "void polynomialsolver<_Scalar,_Deg>(int) [with _Scalar=float, _Deg=5]" at line 247 of "/home/rhys/tmp/eigen/unsupported/test/polynomialsolver.cpp"
instantiation of "void polynomialsolver_scalar<_Scalar>() [with _Scalar=float]" at line 262 of "/home/rhys/tmp/eigen/unsupported/test/polynomialsolver.cpp"
The system and compiler information are
[2004 rhys@tiresias ~]$ uname -a
Linux tiresias 2.6.32-25-generic #44 (closed)-Ubuntu SMP Fri Sep 17 20:05:27 UTC 2010 x86_64 GNU/Linux
[2005 rhys@tiresias ~]$ icpc -V
Intel(R) C++ Intel(R) 64 Compiler Professional for applications running on Intel(R) 64, Version 11.1 Build 20100414 Package ID: l_cproc_p_11.1.072
Copyright (C) 1985-2010 Intel Corporation. All rights reserved.
FOR NON-COMMERCIAL USE ONLY
If you don't have access to a machine with the Intel compilers, you may be able to try them via this non-commercial development program: http://software.intel.com/en-us/articles/non-commercial-software-development/