Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2008-01-04 09:06:10


Paul Baxter wrote:
>>> 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 );

Thanks for the confirmation.

> [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?

The problem with ICC isn't the test coverage. Rather, no one seems to
take any interest in the results, post fixed or workarounds for Boost
code, or submit bug reports to Intel or Dinkumware.

--Beman


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