Boost logo

Boost :

From: Daniel James (daniel_james_at_[hidden])
Date: 2007-02-25 10:50:58


On Thu, 22 Feb 2007 18:13:58 -0000, Eric Niebler
<eric_at_[hidden]> wrote:

> There are two testers running with intel-linux-9.0. The foreach tests
> pass on one, and fail on the other. How is that possible? If these are
> different compilers, their toolsets should have different names. As it
> is, I don't even know how to mark up this failure.

It's the version of gcc they're using with intel linux. The test passes
for gcc-3.3, fails for gcc-3.4, gcc-4.0 and gcc-4.1. So the names could be
changed to something like intel-linux-9.0-gcc-3.3 and
intel-linux-9.0-gcc-3.4. You can see the version details in
http://tinyurl.com/2a45wj and http://tinyurl.com/323fb6

I tried adding some output to the test:

int test_main( int, char*[] )
{
     int counter = 0;

     BOOST_FOREACH(int i, get_vector())
     {
         std::cout<<i<<"\n";
         counter += i;
     }

     std::cout<<"Total: "<<counter<<"\n";
     BOOST_CHECK(16 == counter);

     return 0;
}

And got the following:

Intel 9.0, using gcc-3.3:

$ /opt/intel/cc/9.0/bin/icpc -I ../../.. rvalue_const.cpp -gcc-version=330
$ ./a.out
4
4
4
4
Total: 16

**** no errors detected

Intel 9.0, using gcc-3.3, intel libs:

$ /opt/intel/cc/9.0/bin/icpc -I ../../.. rvalue_const.cpp -gcc-version=330
-cxxlib-icc
$ ./a.out
4
4
4
4
Total: 16

**** no errors detected

Intel 9.0, using gcc-3.4:

$ /opt/intel/cc/9.0/bin/icpc -I ../../.. rvalue_const.cpp -gcc-version=340
$ ./a.out
0
4
4
4
Total: 12
rvalue_const.cpp(40): test 16 == counter failed in function: 'int
test_main(int, char **)'

**** 1 error detected

Intel 9.0, using gcc-3.4, intel libs:

$ /opt/intel/cc/9.0/bin/icpc -I ../../.. rvalue_const.cpp -gcc-version=340
-cxxlib-icc
$ ./a.out
Total: 0
rvalue_const.cpp(40): test 16 == counter failed in function: 'int
test_main(int, char **)'

**** 1 error detected


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