From: Paul Baxter (pauljbaxter_at_[hidden])
Date: 2008-01-03 18:05:05


>> Most failures seem caused by the standard library which for some reason
>> fails on code like
>>
>> #include <algorithm>
>>
>> int main()
>> {
>> char a[ 10 ], b[ 10 ];
>> std::copy( a, a + 10, b );
>> }
>>
>> I don't have the compiler here to verify that the above fails, but if it
>> does, we probably need to submit it to Intel and Dinkumware and see what
>> they have to say about it.
>
> FWIW, the above code works fine with ICC 9.1 on Windows.
>

Fails on ICC 10.0.25 on Windows 32bit with:

\test.cpp(6): error: more than one instance of overloaded function
 "std::copy" matches the argument list:

function template "_OutElem *__cdecl std::copy(_InIt, _InIt, _OutElem
(&)[_Size])"
function template "std::_Enable_if<<expression>, _OutIt>::_Result __cdecl
std::copy(_InIt, _InIt, _OutIt)"
argument types are: (char [10], char *, char [10])
std::copy( a, a + 10, b );

[Compiles OK as a MSVC 2005 project but fails as above when converted to an
Intel project]

I certainly care because ICC generates the best vectorised code in many of
our apps. Use it mainly with Linux 64 bit and *very* occasionally Windows 32
bit.

Last time I tried to help out with regression testing (admittedly ad-hoc as
I can't dedicate a resource) it wasn't really seen as necessary since there
was already reasonable ICC coverage. Has this changed?

Paul