|
Boost : |
From: Guillaume Melquiond (gmelquio_at_[hidden])
Date: 2003-05-20 04:32:18
On Mon, 19 May 2003, Beman Dawes wrote:
> I'd like to do improve results from the Intel compiler on Win32 - the
> results are nowhere near as good as they should be. It wouldn't surprise me
> if BOOST_INTEL solves at least some of the problems.
I don't think BOOST_INTEL will solve anything. Imho, the results are bad
because on Win32 and by default the compiler tries to emulate older
version of MSVC (6.0 and 7.0), and even their bugs (or at least let's call
them non-compliant features [1]). The results would probably be better if
the compiler was running in strict mode or was trying to emulate gcc as it
already does on Linux.
But it would be a good thing if I was wrong about the uselessness of
BOOST_INTEL on this problem.
> Please do go ahead with BOOST_INTEL!
Whatever, here is the patch to add it. I hope I didn't forget anything.
There is a patch for select_compiler.hpp and intel.hpp for defining the
macro, a patch to the documentation, and a patch to config_info.cpp for
displaying it. The patches also add support for __INTEL_COMPILER and __ECC
where it was missing.
Finally, there also are patches to type_traits and regex. They are two
obvious replacement of "defined(__ICC) || defined(__ICL)" by
"defined(BOOST_INTEL)".
Other parts of Boost may not be as trivial as these two and will require
somebody with the two versions of the compiler in order to know if an
occurence of __ICC or __ICL may safely be replaced by BOOST_INTEL.
> Thanks,
>
> --Beman
If nobody complains or finds this macro useless, I will add it to Boost.
Regards,
Guillaume
[1] I see this problem with the 'add' test of the Interval library. Intel
7 on Windows and MSVC 7 wrongfully complain about 'equal' being not
defined; although GCC, Intel 7 on Linux and MSVC 7.1 happily compile the
code.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk