[Report] 116 regressions on RC_1_34_0 (2007-02-22)

Boost Regression test failures Report time: 2007-02-22T05:41:47Z This report lists all regression test failures on release platforms. Detailed report: http://engineering.meta-comm.com/boost-regression/CVS-RC_1_34_0/developer/is... 116 failures in 12 libraries date_time (2) foreach (1) functional/hash (1) graph (1) iostreams (10) math (1) numeric/interval (1) parameter (1) python (73) regex (3) test (18) wave (4) |date_time| testdate_input_facet: msvc-7.1_stlport4 testdate_input_facet_dll: msvc-7.1_stlport4 |foreach| rvalue_const: intel-linux-9.0 |functional/hash| hash_float_test: intel-linux-9.0 |graph| graphviz_test: msvc-7.1_stlport4 |iostreams| bzip2_test: intel-linux-9.0 msvc-7.1 msvc-8.0 file_descriptor_test: gcc-cygwin-3.4.4 gzip_test: intel-linux-9.0 msvc-7.1 msvc-8.0 zlib_test: intel-linux-9.0 msvc-7.1 msvc-8.0 |math| common_factor_test: msvc-6.5 |numeric/interval| test_float: msvc-7.1_stlport4 |parameter| python_test: gcc-cygwin-3.4.4 |python| andreas_beyer: gcc-cygwin-3.4.4 args: gcc-cygwin-3.4.4 auto_ptr: gcc-cygwin-3.4.4 back_reference: gcc-cygwin-3.4.4 bases: gcc-cygwin-3.4.4 intel-linux-9.0 ben_scott1: gcc-cygwin-3.4.4 bienstman1: gcc-cygwin-3.4.4 bienstman2: gcc-cygwin-3.4.4 bienstman3: gcc-cygwin-3.4.4 borrowed: gcc-cygwin-3.4.4 builtin_converters: gcc-cygwin-3.4.4 callbacks: gcc-cygwin-3.4.4 const_argument: gcc-cygwin-3.4.4 crossmod_exception: gcc-cygwin-3.4.4 crossmod_opaque: gcc-cygwin-3.4.4 data_members: gcc-cygwin-3.4.4 defaults: gcc-cygwin-3.4.4 dict: gcc-cygwin-3.4.4 docstring: gcc-cygwin-3.4.4 enum: gcc-cygwin-3.4.4 exception_translator: gcc-cygwin-3.4.4 exec: gcc-cygwin-3.4.4 intel-linux-9.0 extract: gcc-cygwin-3.4.4 implicit: gcc-cygwin-3.4.4 injected: gcc-cygwin-3.4.4 iterator: gcc-cygwin-3.4.4 keywords: gcc-cygwin-3.4.4 list: gcc-cygwin-3.4.4 long: gcc-cygwin-3.4.4 map_indexing_suite: gcc-cygwin-3.4.4 minimal: gcc-cygwin-3.4.4 multi_arg_constructor: gcc-cygwin-3.4.4 nested: gcc-cygwin-3.4.4 numpy: gcc-cygwin-3.4.4 object: gcc-cygwin-3.4.4 object_manager: gcc-cygwin-3.4.4 opaque: gcc-cygwin-3.4.4 operators: gcc-cygwin-3.4.4 pearu1: gcc-cygwin-3.4.4 pickle1: gcc-cygwin-3.4.4 pickle2: gcc-cygwin-3.4.4 pickle3: gcc-cygwin-3.4.4 pickle4: gcc-cygwin-3.4.4 pointee: gcc-cygwin-3.4.4 intel-linux-9.0 pointer_type_id_test: gcc-cygwin-3.4.4 intel-linux-9.0 pointer_vector: gcc-cygwin-3.4.4 polymorphism: gcc-cygwin-3.4.4 polymorphism2: gcc-cygwin-3.4.4 polymorphism2_auto_ptr: gcc-cygwin-3.4.4 properties: gcc-cygwin-3.4.4 raw_ctor: gcc-cygwin-3.4.4 return_arg: gcc-cygwin-3.4.4 select_arg_to_python_test: gcc-cygwin-3.4.4 select_from_python_test: gcc-cygwin-3.4.4 select_holder: gcc-cygwin-3.4.4 shared_ptr: gcc-cygwin-3.4.4 slice: gcc-cygwin-3.4.4 staticmethod: gcc-cygwin-3.4.4 stl_iterator: gcc-cygwin-3.4.4 str: gcc-cygwin-3.4.4 test_pointer_adoption: gcc-cygwin-3.4.4 try: gcc-cygwin-3.4.4 tuple: gcc-cygwin-3.4.4 upcast: gcc-cygwin-3.4.4 intel-linux-9.0 vector_indexing_suite: gcc-cygwin-3.4.4 virtual_functions: gcc-cygwin-3.4.4 voidptr: gcc-cygwin-3.4.4 wrapper_held_type: gcc-cygwin-3.4.4 |regex| regex_regress_threaded: msvc-7.1_stlport4 msvc-8.0 static_mutex_test: gcc-cygwin-3.4.4 |test| boost_check_equal_str: gcc-mingw-3.4.2 msvc-6.5 msvc-6.5 msvc-6.5_stlport4 errors_handling_test: gcc-mingw-3.4.2 fixed_mapping_test: gcc-mingw-3.4.2 ifstream_line_iterator_test: gcc-mingw-3.4.2 output_test_stream_test: gcc-mingw-3.4.2 parameterized_test_test: gcc-mingw-3.4.2 prg_exec_fail3: cw-9.4 result_report_test: gcc-mingw-3.4.2 test_case_template_test: gcc-mingw-3.4.2 test_fp_comparisons: gcc-mingw-3.4.2 test_tools_test: gcc-mingw-3.4.2 msvc-6.5 msvc-6.5 msvc-6.5_stlport4 token_iterator_test: gcc-mingw-3.4.2 |wave| test_re2c_lexer: msvc-7.1_stlport4 test_slex_lexer: msvc-7.1_stlport4 testwave: msvc-7.1_stlport4 testwave_dll: msvc-7.1_stlport4

Douglas Gregor 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. Any guidance is appreciated. -- Eric Niebler Boost Consulting www.boost-consulting.com

On Thu, 22 Feb 2007 18:13:58 -0000, Eric Niebler <eric@boost-consulting.com> wrote:
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

Daniel James wrote:
Interesting! I'm not familiar with the intel compiler on linux. In what way does it make use of gcc? No matter, I think I can guess what the problem is from the tests you ran. Can you apply the attached patch to boost/foreach.hpp and re-run your tests? Thanks for the tremendous help! -- Eric Niebler Boost Consulting www.boost-consulting.com Index: foreach.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/foreach.hpp,v retrieving revision 1.35 diff -b -d -u -r1.35 foreach.hpp --- foreach.hpp 10 Jan 2007 23:30:15 -0000 1.35 +++ foreach.hpp 26 Feb 2007 02:16:12 -0000 @@ -29,8 +29,8 @@ // Some compilers let us detect even const-qualified rvalues at compile-time #if BOOST_WORKAROUND(BOOST_MSVC, >= 1310) \ - || BOOST_WORKAROUND(__GNUC__, >= 4) \ - || (BOOST_WORKAROUND(__GNUC__, == 3) && (__GNUC_MINOR__ >= 4)) + || (BOOST_WORKAROUND(__GNUC__, >= 4) && !defined(BOOST_INTEL)) \ + || (BOOST_WORKAROUND(__GNUC__, == 3) && (__GNUC_MINOR__ >= 4) && !defined(BOOST_INTEL)) # define BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION #else // Some compilers allow temporaries to be bound to non-const references.

On Mon, 26 Feb 2007 02:18:32 -0000, Eric Niebler <eric@boost-consulting.com> wrote:
Interesting! I'm not familiar with the intel compiler on linux. In what way does it make use of gcc?
It uses the gcc linker and library, and as you've noticed, also pretends to be it - implementing some gcc extensions (and maybe bugs?) that it doesn't on windows. So it's meant to work as a replacement for gcc without much hassle. I think on windows it has a similar relationship with Visual C++.
Yes, that works. Daniel
participants (3)
-
Daniel James
-
Douglas Gregor
-
Eric Niebler