[graph] Remaining failures for Tru64/CXX

Hello, the remaining two failures for Tru64/CXX (kolmogorov_max_flow_test and max_flow_test) should be marked as expected, as the STL implementation on this platform seems to suffer from a vector<bool>::iterator which doesn't satisfy all requirements: cxx: Error: ../boost/concept_check.hpp, line 553: no operator "+" matches these operands (nomatoprfun) operand types are: std::iterator_traits<std::vector<bool, std::allocator<bool>>::iterator>::difference_type + std::vector<bool, std::allocator<bool>>::iterator ... i = i + n; i = n + i; // require addition with difference type ---------------------------^ If agreed, either me or the author can do the markup, whichever is preferred. Markus

Markus Schoepflin wrote:
the remaining two failures for Tru64/CXX (kolmogorov_max_flow_test and max_flow_test) should be marked as expected, as the STL implementation on this platform seems to suffer from a vector<bool>::iterator which doesn't satisfy all requirements:
Thanks for the investigation, Markus. This is a known problem in Rogue Wave library: the vector<bool> iterators are not symmetric. We became aware of it when a new test in Perennial 6.4 testing iterators N + vector<bool> failed to compile. There is associated bug report in the Rogue Wave bug tracking system. A workaround which would work only for the one explicit specialization: vector<bool, std::allocator<bool> > and not for any other allocator could be adding the following to <vector> : namespace std { vector<bool>::iterator operator+( vector<bool>::iterator::difference_type __n, const vector<bool>::iterator& __i) { return __i + __n; } } We may consider adding it. In the meantime, when marking the tests for cxx, please add "acc*" toolset also (asterisk is for acc-pa_risc). Thanks again, Boris ----- Original Message ----- From: "Markus Schöpflin" <markus.schoepflin@comsoft.de> To: <boost@lists.boost.org> Sent: Wednesday, November 21, 2007 4:04 AM Subject: [boost] [graph] Remaining failures for Tru64/CXX
Hello,
the remaining two failures for Tru64/CXX (kolmogorov_max_flow_test and max_flow_test) should be marked as expected, as the STL implementation on this platform seems to suffer from a vector<bool>::iterator which doesn't satisfy all requirements:
cxx: Error: ../boost/concept_check.hpp, line 553: no operator "+" matches these operands (nomatoprfun) operand types are: std::iterator_traits<std::vector<bool, std::allocator<bool>>::iterator>::difference_type + std::vector<bool, std::allocator<bool>>::iterator ... i = i + n; i = n + i; // require addition with difference type ---------------------------^
If agreed, either me or the author can do the markup, whichever is preferred.
Markus
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Boris Gubenko wrote:
Markus Schoepflin wrote:
the remaining two failures for Tru64/CXX (kolmogorov_max_flow_test and max_flow_test) should be marked as expected, as the STL implementation on this platform seems to suffer from a vector<bool>::iterator which doesn't satisfy all requirements:
Thanks for the investigation, Markus. This is a known problem in Rogue Wave library: the vector<bool> iterators are not symmetric. We became aware of it when a new test in Perennial 6.4 testing iterators N + vector<bool> failed to compile. There is associated bug report in the Rogue Wave bug tracking system.
A workaround which would work only for the one explicit specialization: vector<bool, std::allocator<bool> > and not for any other allocator could be adding the following to <vector> :
namespace std { vector<bool>::iterator operator+( vector<bool>::iterator::difference_type __n, const vector<bool>::iterator& __i) { return __i + __n; } }
We may consider adding it. In the meantime, when marking the tests for cxx, please add "acc*" toolset also (asterisk is for acc-pa_risc).
I marked up the failures for cxx and acc. Thanks, Markus
participants (2)
-
Boris Gubenko
-
Markus Schöpflin