Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2007-02-25 13:10:46


I've been running release-mode tests of the release branch using the
native AMD64 version of VC++ 8.0, and things have settled down now to
the point where I think the failure report is useful. You can see the
results in the BoostConsulting column of the release branch regression
report (http://tinyurl.com/lawq3), but I've enclosed a list of the
failures along with my analysis. I pruned the error messages down to
a representative sample for each failure so this should be easy to
review. The libraries with failures are:

  bind
  concept_check
  date_time
  graph
  iterator
  numeric
  program_options
  python
  range
  spirit
  test
  thread
  tr1
  typeof

Although this platform/compiler is not part of our official release
requirements, I hope that the consolidation, pruning, and analysis
will make it easier to use than the webpage, to the point that the
library maintainers will prefer using what I've enclosed, or at least
will be willing to give it a few moments' attention.

Thanks, Dave

-------

compile-c-c++ concept_check/stl_concept_covering.obj

      known bogus test.

compile-c-c++ graph/csr_graph_test.obj

    call "C:\Program Files (x86)\Microsoft Visual Studio 8\VC\vcvarsall.bat" amd64 >nul
cl /Zm800 -nologo @"Z:\results\boost\bin.v2\libs\graph\test\csr_graph_test.test\msvc-8.0.m\rls\adrs-mdl-64\instr-set-optrn\thrd-mlt\csr_graph_test.obj.rsp"

csr_graph_test.cpp
..\libs\graph\test\csr_graph_test.cpp(353) : error C2752: 'boost::property_map<Graph,Property>' : more than one partial specialization matches the template argument list
        with
        [
            Graph=boost::compressed_sparse_row_graph<boost::directedS,Vertex,Edge>,
            Property=double Vertex::*
        ]
        ..\boost/graph/compressed_sparse_row_graph.hpp(737): could be 'boost::property_map<boost::compressed_sparse_row_graph<Directed,VertexProperty,EdgeProperty,GraphProperty,Vertex,EdgeIndex>,TBundle::* >'
        ..\boost/graph/properties.hpp(352): or 'boost::property_map<Graph,TBundle::* >'
..\boost/pending/property.hpp(46) : error C2825: 'PropertyTag': must be a class or namespace when followed by '::'
        ..\boost/graph/properties.hpp(199) : see reference to class template instantiation 'boost::property_kind<PropertyTag>' being compiled
        with
        [
            PropertyTag=double Vertex::*
        ]
        ..\libs\graph\test\csr_graph_test.cpp(353) : see reference to class template instantiation 'boost::property_map<Graph,Property>' being compiled
        with
        [
            Graph=boost::compressed_sparse_row_graph<boost::directedS,Vertex,Edge>,
            Property=double Vertex::*
        ]

compile-c-c++ iterator/lvalue_concept_fail.obj

  The optimizer seems to be defeating the concept check. Newer
  concept checks in HEAD don't have this problem.

compile-c-c++ numeric/det.obj
compile-c-c++ numeric/integer.obj
compile-c-c++ numeric/mul.obj
compile-c-c++ numeric/overflow.obj
compile-c-c++ numeric/pi.obj
compile-c-c++ numeric/pow.obj
compile-c-c++ numeric/test_float.obj

  All of the above:

    ..\boost/numeric/interval/hw_rounding.hpp(38) : fatal error C1189: #error : Boost.Numeric.Interval: Please specify rounding control mechanism.

compile-c-c++ program_options/test_convert.obj

  Appears to be a missing #include file, but it also looks like this should be using boost/detail/lightweight_test.hpp

  ..\libs\program_options\test\test_convert.cpp(22) : error C3861: 'assert': identifier not found
..\libs\program_options\test\test_convert.cpp(77) : error C2143: syntax error : missing ';' before '<'

compile-c-c++ tr1/std_test_bind_tricky.obj

  Looks like a Boost bug. Missing #include?

  ..\libs\tr1\test\test_bind_tricky.cpp(21) : error C2039: 'is_placeholder' : is not a member of 'std::tr1'
          ..\libs\tr1\test\test_bind_tricky.cpp(54) : see reference to function template instantiation 'void check_placeholder<boost::arg<I>>(const T &)' being compiled
          with
          [
              I=1,
              T=boost::arg<1>
          ]

compile-c-c++ tr1/std_test_function_tricky.obj

  It's unknown what the problem is here; I suggest using
  boost/mpl/assert.hpp for a more descriptive message.

  ..\libs\tr1\test\test_function_tricky.cpp(77) : error C2027: use of undefined type 'boost::STATIC_ASSERTION_FAILURE<x>'
          with
          [
              x=false
          ]
  ..\libs\tr1\test\test_function_tricky.cpp(78) : error C2027: use of undefined type 'boost::STATIC_ASSERTION_FAILURE<x>'
          with
          [
              x=false
          ]

compile-c-c++ tr1/std_test_mem_fn_tricky.obj

  This one looks like a Boost bug.

  ..\libs\tr1\test\test_mem_fn_tricky.cpp(37) : error C2664: 'boost::_mfi::dm<R,T> boost::mem_fn<expected_result(void),test>(R (__cdecl test::* ))' : cannot convert parameter 1 from 'expected_result (__cdecl test::* )(void) volatile' to 'expected_result (__cdecl test::* )(void)'
          with
          [
              R=expected_result (void),
              T=test
          ]
          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
          ...

compile-c-c++ tr1/std_test_ref_wrapper_tricky.obj

  It's unknown what the problem is here; I suggest using
  boost/mpl/assert.hpp for a more descriptive message.

  ..\libs\tr1\test\test_ref_wrapper_tricky.cpp(38) : error C2027: use of undefined type 'boost::STATIC_ASSERTION_FAILURE<x>'
          with
          [
              x=false
          ]
  ..\libs\tr1\test\test_ref_wrapper_tricky.cpp(39) : error C2027: use of undefined type 'boost::STATIC_ASSERTION_FAILURE<x>'
          with
          [
              x=false
          ]

compile-c-c++ tr1/test_bind_tricky.obj

  Looks like a Boost bug. Missing #include?

  ..\libs\tr1\test\test_bind_tricky.cpp(21) : error C2039: 'is_placeholder' : is not a member of 'std::tr1'
          ..\libs\tr1\test\test_bind_tricky.cpp(54) : see reference to function template instantiation 'void check_placeholder<boost::arg<I>>(const T &)' being compiled
          with
          [
              I=1,
              T=boost::arg<1>
          ]

compile-c-c++ tr1/test_function_tricky.obj

  It's unknown what the problem is here; I suggest using
  boost/mpl/assert.hpp for a more descriptive message.

  ..\libs\tr1\test\test_function_tricky.cpp(77) : error C2027: use of undefined type 'boost::STATIC_ASSERTION_FAILURE<x>'
          with
          [
              x=false
          ]
  ..\libs\tr1\test\test_function_tricky.cpp(78) : error C2027: use of undefined type 'boost::STATIC_ASSERTION_FAILURE<x>'
          with
          [
              x=false
          ]

compile-c-c++ tr1/test_mem_fn_tricky.obj

  This one looks like a Boost bug.

  ..\libs\tr1\test\test_mem_fn_tricky.cpp(37) : error C2664: 'boost::_mfi::dm<R,T> boost::mem_fn<expected_result(void),test>(R (__cdecl test::* ))' : cannot convert parameter 1 from 'expected_result (__cdecl test::* )(void) volatile' to 'expected_result (__cdecl test::* )(void)'
          with
          [
              R=expected_result (void),
              T=test
          ]
          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
          ...

compile-c-c++ tr1/test_ref_wrapper_tricky.obj

  It's unknown what the problem is here; I suggest using
  boost/mpl/assert.hpp for a more descriptive message.

  ..\libs\tr1\test\test_ref_wrapper_tricky.cpp(38) : error C2027: use of undefined type 'boost::STATIC_ASSERTION_FAILURE<x>'
          with
          [
              x=false
          ]

compile-c-c++ typeof/data_member_native.obj
compile-c-c++ typeof/function_binding_native.obj
compile-c-c++ typeof/function_native.obj
compile-c-c++ typeof/function_ptr_from_tpl_native.obj
compile-c-c++ typeof/function_ptr_native.obj
compile-c-c++ typeof/function_ref_native.obj
compile-c-c++ typeof/member_function_native.obj
compile-c-c++ typeof/modifiers_native.obj
compile-c-c++ typeof/nested_typedef_native.obj
compile-c-c++ typeof/noncopyable_native.obj
compile-c-c++ typeof/odr1.obj
compile-c-c++ typeof/odr2.obj
compile-c-c++ typeof/std_native.obj
compile-c-c++ typeof/template_dependent_native.obj
compile-c-c++ typeof/template_enum_native.obj
compile-c-c++ typeof/template_int_native.obj
compile-c-c++ typeof/template_multiword_native.obj
compile-c-c++ typeof/template_tpl_native.obj
compile-c-c++ typeof/template_type_native.obj
compile-c-c++ typeof/type_native.obj

  I think these are all expected failures, and we fix them in
  1.35 (CVS HEAD) with a newly-discovered VC8 bugfeature.

  ..\boost/typeof/typeof.hpp(104) : fatal error C1189: #error : native typeof is not supported

testing.capture-output bind/mem_fn_eq_test.run

  looks like a Boost bug.

  ..\libs\bind\test\mem_fn_eq_test.cpp(175): test 'boost::mem_fn(&X::mf0_1) != boost::mem_fn(&X::mf0_2)' failed in function 'int __cdecl main(void)'
  ..\libs\bind\test\mem_fn_eq_test.cpp(178): test 'boost::mem_fn(&X::cmf0_1) != boost::mem_fn(&X::cmf0_2)' failed in function 'int __cdecl main(void)'
  ...
  36 errors detected.

testing.capture-output date_time/testmicrosec_time_clock.run

  looks like a Boost bug.
  
  2007-Feb-25 10:27:54
  2007-Feb-25 10:27:54.730125000
  Pass :: hours match
  Pass :: minutes match
  Pass :: seconds match
  Pass :: hours date
  Pass :: last is less
  2007-Feb-25 10:27:54
  2007-Feb-25 10:27:54.730125000
  Pass :: hours match
  Pass :: minutes match
  Pass :: seconds match
  Pass :: hours date
  FAIL :: last is less
  ...

testing.capture-output python/exec.run

  This failure is a combination of broken Windows Python support in
  BBv2 (working on it) and local configuration issues on the test
  machine.

  EXIT STATUS: 128

testing.capture-output spirit/symbols_add_null.run
testing.capture-output spirit/symbols_add_null_debug.run

..\libs\spirit\test\symbols_add_null.cpp(52): test '0' failed in function 'int __cdecl main(void)'
..\libs\spirit\test\symbols_add_null.cpp(62): test '0' failed in function 'int __cdecl main(void)'

testing.capture-output test/prg_exec_fail3.run

  This one is very suspicious, because there's no

    ====== BEGIN OUTPUT ======

    ...

    EXIT STATUS: 1
    ====== END OUTPUT ======

  sequence in the log, and yet bjam marks it as failing.

testing.capture-output thread/test_tss_lib.run

  Not sure what this one means.

  ====== BEGIN OUTPUT ======
  Running 1 test case...
  tss_instances = 0; tss_total = 5
  tss_instances = 5; tss_total = 5
  ../libs/thread/test/test_tss.cpp(151): error in "test_tss": Support of automatic tss cleanup for native threading API not available

  *** 1 failure detected in test suite "Master Test Suite"

  EXIT STATUS: 201
  ====== END OUTPUT ======


-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

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