Boost logo

Boost :

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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk