1.31.0 Win32 Graph/graph failures?

Damn! Win32 Graph/graph has been failing for Intel and Microsoft since sometime Friday! That's a showstopper. Quick response would be greatly appreciated. --Beman The VC++7.1 error message begins: D:\boost-snapshot\boost\graph\detail\adjacency_list.hpp(1325) : error C2440: 'initializing' : cannot convert from 'std::_Tree<_Traits>::const_iterator' to 'std::_Tree<_Traits>::iterator' with [ _Traits=std::_Tset_traits<boost::detail::adj_list_gen<boost::adjacency_list<boost::setS,boost::setS,boost::undirectedS,boost::property<vertex_id_t,size_t>,boost::property<edge_id_t,size_t>>,boost::setS,boost::setS,boost::undirectedS,boost::property<vertex_id_t,size_t>,boost::property<edge_id_t,size_t>,boost::no_property,boost::listS>::config::StoredEdge,std::less<boost::detail::adj_list_gen<boost::adjacency_list<boost::setS,boost::setS,boost::undirectedS,boost::property<vertex_id_t,size_t>,boost::property<edge_id_t,size_t>>,boost::setS,boost::setS,boost::undirectedS,boost::property<vertex_id_t,size_t>,boost::property<edge_id_t,size_t>,boost::no_property,boost::listS>::config::StoredEdge>,std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::setS,boost::setS,boost::undirectedS,boost::property<vertex_id_t,size_t>,boost::property<edge_id_t,size_t>>,boost::setS,boost::setS,boost::undirectedS,boost::property<vertex_id_t,size_t>,boost::property<edge_id_t,size_t>,! boost: : no_property,boost::listS>::config::StoredEdge>,false> ] and [ _Traits=std::_Tset_traits<boost::detail::adj_list_gen<boost::adjacency_list<boost::setS,boost::setS,boost::undirectedS,boost::property<vertex_id_t,size_t>,boost::property<edge_id_t,size_t>>,boost::setS,boost::setS,boost::undirectedS,boost::property<vertex_id_t,size_t>,boost::property<edge_id_t,size_t>,boost::no_property,boost::listS>::config::StoredEdge,std::less<boost::detail::adj_list_gen<boost::adjacency_list<boost::setS,boost::setS,boost::undirectedS,boost::property<vertex_id_t,size_t>,boost::property<edge_id_t,size_t>>,boost::setS,boost::setS,boost::undirectedS,boost::property<vertex_id_t,size_t>,boost::property<edge_id_t,size_t>,boost::no_property,boost::listS>::config::StoredEdge>,std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::setS,boost::setS,boost::undirectedS,boost::property<vertex_id_t,size_t>,boost::property<edge_id_t,size_t>>,boost::setS,boost::setS,boost::undirectedS,boost::property<vertex_id_t,size_t>,boost::property<edge_id_t,size_t>,! boost: : no_property,boost::listS>::config::StoredEdge>,false> ] No constructor could take the source type, or constructor overload resolution was ambiguous

Hi Beman, Ok, I know what caused this. There's a bug in that STL implementation... they have the wrong return type for std::set::find. I've changed it... though I don't have VC++ handy, so you'll have to tell me if it worked. Ciao, Jeremy On Feb 2, 2004, at 8:59 AM, Beman Dawes wrote:
Damn! Win32 Graph/graph has been failing for Intel and Microsoft since sometime Friday!
That's a showstopper. Quick response would be greatly appreciated.
--Beman
The VC++7.1 error message begins:
D:\boost-snapshot\boost\graph\detail\adjacency_list.hpp(1325) : error C2440: 'initializing' : cannot convert from 'std::_Tree<_Traits>::const_iterator' to 'std::_Tree<_Traits>::iterator' with [ _Traits=std::_Tset_traits<boost::detail::adj_list_gen<boost:: adjacency_list<boost::setS,boost::setS,boost::undirectedS,boost:: property<vertex_id_t,size_t>,boost:: property<edge_id_t,size_t>>,boost::setS,boost::setS,boost:: undirectedS,boost::property<vertex_id_t,size_t>,boost:: property<edge_id_t,size_t>,boost::no_property,boost::listS>::config:: StoredEdge,std::less<boost::detail::adj_list_gen<boost:: adjacency_list<boost::setS,boost::setS,boost::undirectedS,boost:: property<vertex_id_t,size_t>,boost:: property<edge_id_t,size_t>>,boost::setS,boost::setS,boost:: undirectedS,boost::property<vertex_id_t,size_t>,boost:: property<edge_id_t,size_t>,boost::no_property,boost::listS>::config:: StoredEdge>,std::allocator<boost::detail::adj_list_gen<boost:: adjacency_list<boost::setS,boost::setS,boost::undirectedS,boost:: property<vertex_id_t,size_t>,boost:: property<edge_id_t,size_t>>,boost::setS,boost::setS,boost:: undirectedS,boost::property<vertex_id_t,size_t>,boost:: property<edge_id_t,size_t>,! boost: : no_property,boost::listS>::config::StoredEdge>,false> ] and [ _Traits=std::_Tset_traits<boost::detail::adj_list_gen<boost:: adjacency_list<boost::setS,boost::setS,boost::undirectedS,boost:: property<vertex_id_t,size_t>,boost:: property<edge_id_t,size_t>>,boost::setS,boost::setS,boost:: undirectedS,boost::property<vertex_id_t,size_t>,boost:: property<edge_id_t,size_t>,boost::no_property,boost::listS>::config:: StoredEdge,std::less<boost::detail::adj_list_gen<boost:: adjacency_list<boost::setS,boost::setS,boost::undirectedS,boost:: property<vertex_id_t,size_t>,boost:: property<edge_id_t,size_t>>,boost::setS,boost::setS,boost:: undirectedS,boost::property<vertex_id_t,size_t>,boost:: property<edge_id_t,size_t>,boost::no_property,boost::listS>::config:: StoredEdge>,std::allocator<boost::detail::adj_list_gen<boost:: adjacency_list<boost::setS,boost::setS,boost::undirectedS,boost:: property<vertex_id_t,size_t>,boost:: property<edge_id_t,size_t>>,boost::setS,boost::setS,boost:: undirectedS,boost::property<vertex_id_t,size_t>,boost:: property<edge_id_t,size_t>,! boost: : no_property,boost::listS>::config::StoredEdge>,false> ] No constructor could take the source type, or constructor overload resolution was ambiguous _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Jeremy Siek <jsiek@osl.iu.edu> http://www.osl.iu.edu.edu/~jsiek Ph.D. Student, Indiana University Bloomington C++ Booster (http://www.boost.org) Office phone: (812) 856-1820 _______________________________________________

Jeremy Siek <jsiek@osl.iu.edu> writes:
Hi Beman,
Ok, I know what caused this. There's a bug in that STL implementation... they have the wrong return type for std::set::find. I've changed it... though I don't have VC++ handy, so you'll have to tell me if it worked.
It's working fine for me here. -- Dave Abrahams Boost Consulting www.boost-consulting.com

Hi Jeremy,
Ok, I know what caused this. There's a bug in that STL implementation... they have the wrong return type for std::set::find. I've changed it... though I don't have VC++ handy, so you'll have to tell me if it worked.
Tests running now... <rant> As an aside (and NOT for 1.31.0) it would be nice to hold the execution time down on some of the graph tests. Both bfs and dfs take a long time. For example, dfs takes around 45 seconds on my 3.0 Ghz machine. Multiply that by 7 compilers, and you get the idea. 45 seconds of time on a 3.0 Ghz box is an vast number of computations. Probably more test cycles than all the programmers in the world got in a day in 1965. We ought to be able to write 100% coverage test cases that none-the-less run quickly. </rant> OK, test finished, and it passes the three compilers in question. I'll rerun the full Boost tests, and post results shortly. Thanks, --Beman

Hi Beman, On Feb 2, 2004, at 9:56 AM, Beman Dawes wrote:
Hi Jeremy,
Ok, I know what caused this. There's a bug in that STL implementation... they have the wrong return type for std::set::find. I've changed it... though I don't have VC++ handy, so you'll have to tell me if it worked.
Tests running now...
<rant> As an aside (and NOT for 1.31.0) it would be nice to hold the execution time down on some of the graph tests. Both bfs and dfs take a long time. For example, dfs takes around 45 seconds on my 3.0 Ghz machine. Multiply that by 7 compilers, and you get the idea. 45 seconds of time on a 3.0 Ghz box is an vast number of computations. Probably more test cycles than all the programmers in the world got in a day in 1965. We ought to be able to write 100% coverage test cases that none-the-less run quickly. </rant>
Ok, on HEAD I've changed the graph size and number of iterations used for those tests.
OK, test finished, and it passes the three compilers in question.
Great. Cheers, Jeremy _______________________________________________ Jeremy Siek <jsiek@osl.iu.edu> http://www.osl.iu.edu.edu/~jsiek Ph.D. Student, Indiana University Bloomington C++ Booster (http://www.boost.org) Office phone: (812) 856-1820 _______________________________________________
participants (3)
-
Beman Dawes
-
David Abrahams
-
Jeremy Siek