Re: [eigen] Testing 2.0

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Fixed, or rather worked-around. It really was a stupid bug in ICC

diff:

 template<typename OtherDerived>
 inline void Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows,
_MaxCols>::swap(const MatrixBase<OtherDerived>& other)
 {
-  ei_matrix_swap_impl<Matrix, OtherDerived>::run(*this,
*const_cast<MatrixBase<OtherDerived>*>(&other));
+  // the Eigen:: here is to work around a stupid ICC 11.1 bug.
+  Eigen::ei_matrix_swap_impl<Matrix, OtherDerived>::run(*this,
*const_cast<MatrixBase<OtherDerived>*>(&other));
 }

Benoit

2010/2/11 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
> and the error output is really as useless as you pasted it. Any option
> to make icpc actually output the whole trace?
>
> Benoit
>
> 2010/2/11 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
>> ok, after humiliating myself installing a stupid proprietary compiler
>> that takes 2.8 GB of disk space, i can now confirm that it is unable
>> to instantiate a c++ template.
>>
>> Benoit
>>
>> 2010/2/11 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
>>> 2010/2/11 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
>>>> 2010/2/11 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
>>>>> 2010/2/11 Thomas Capricelli <orzel@xxxxxxxxxxxxxxx>:
>>>>>>
>>>>>> In data giovedì 11 febbraio 2010 21:43:28, Benoit Jacob ha scritto:
>>>>>>> Everybody: we're releasing Eigen 2.0.12 tomorrow.
>>>>>>>
>>>>>>> I don't remember if GCC 3.3 has been tested (sorry Jitse) ? What about
>>>>>>> MSVC 2005, 2008? And ICC?
>>>>>>
>>>>>> does not  compile here with icc:
>>>>>>
>>>>>> [  9%] Building CXX object test/CMakeFiles/test_basicstuff.dir/basicstuff.cpp.o
>>>>>> /home/orzel/hg/eigen.20/test/basicstuff.cpp(95): warning #279: controlling expression is constant
>>>>>>      VERIFY_RAISES_ASSERT(m1 = (m2.block(0,0, rows-1, cols-1)));
>>>>>>      ^
>>>>>
>>>>> This is just a warning while compiling a unit test with ICC: no need to fix it.
>>>>>
>>>>>>
>>>>>> /home/orzel/hg/eigen.20/Eigen/src/Core/Matrix.h(595): error: too few arguments for class template "Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::ei_matrix_swap_impl"
>>>>>>    ei_matrix_swap_impl<Matrix, OtherDerived>::run(*this, *const_cast<MatrixBase<OtherDerived>*>(&other));
>>>>>>                                            ^
>>>>>>          detected during instantiation of "void basicStuff(const MatrixType &) [with MatrixType=Eigen::Matrix<float, 1, 1, 2, 1, 1>]" at line 115 of "/home/orzel/hg/eigen.20/test/basicstuff.cpp"
>>>>>
>>>>> This one is serious stuff! But doesn't ICC igive you more output? Can
>>>>> you get the trace from basicstuff.cpp:115 to Matrix.h:595 like GCC
>>>>> would give you?
>>>>
>>>> Wow, Arch Linux has a ICC package in its user repositories!
>>>>
>>>> That's probably illegal but a great example of the power of NOT being
>>>> driven by a company with a legal department :)
>>>
>>> Ah no, they honor the stupid EULA requirements from Intel by requiring
>>> me to obtain a license file :( and I was already rejoicing about some
>>> civil disobedience :(
>>>
>>> Benoit
>>>
>>>>
>>>> Benoit
>>>>
>>>>
>>>>>
>>>>> Benoit
>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Thomas Capricelli <orzel@xxxxxxxxxxxxxxx>
>>>>>> http://www.freehackers.org/thomas
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/