Boost C++ Libraries: Ticket #7363: coordinate_matrix::sort() fails with gcc 4.7 https://svn.boost.org/trac10/ticket/7363 <p> coordinate_matrix::sort() fails with gcc 4.7 because std::inplace_merge requires the provided iterator's method operator*() to really return a reference. The current implementation of index_triple's iterator however returns a proxy (which does not comply to the random_access iterator concept). </p> <p> (The same problem applies to zip_iterator, see e.g. <a href="http://www.boost.org/doc/libs/1_48_0/libs/iterator/doc/new-iter-concepts.html#changes-to-algorithm-requirements">http://www.boost.org/doc/libs/1_48_0/libs/iterator/doc/new-iter-concepts.html#changes-to-algorithm-requirements</a> ) </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7363 Trac 1.4.3 Gunter Mon, 10 Sep 2012 21:36:03 GMT component changed https://svn.boost.org/trac10/ticket/7363#comment:1 https://svn.boost.org/trac10/ticket/7363#comment:1 <ul> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">uBLAS</span> </li> </ul> Ticket Gunter Mon, 10 Sep 2012 21:38:13 GMT <link>https://svn.boost.org/trac10/ticket/7363#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7363#comment:2</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/80487" title="* boost/numeric/ublas/matrix_sparse.hpp: see #7363, add new define ...">[80487]</a>) * boost/numeric/ublas/matrix_sparse.hpp: see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7363" title="#7363: Bugs: coordinate_matrix::sort() fails with gcc 4.7 (closed: fixed)">#7363</a>, add new define BOOST_UBLAS_COO_ALWAYS_DO_FULL_SORT in order to force a full sort instead of partial sort + inplace merge </p> <ul><li>libs/numeric/ublas/test/Jamfile.v2: add test to see effect of new define </li></ul> </description> <category>Ticket</category> </item> <item> <dc:creator>Gunter</dc:creator> <pubDate>Sun, 16 Sep 2012 21:06:42 GMT</pubDate> <title>status changed https://svn.boost.org/trac10/ticket/7363#comment:3 https://svn.boost.org/trac10/ticket/7363#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> Ticket anonymous Tue, 18 Sep 2012 19:43:48 GMT attachment set https://svn.boost.org/trac10/ticket/7363 https://svn.boost.org/trac10/ticket/7363 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">custom_inplace_merge.diff</span> </li> </ul> Ticket j.ungermann@… Tue, 18 Sep 2012 19:49:15 GMT <link>https://svn.boost.org/trac10/ticket/7363#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7363#comment:4</guid> <description> <p> I just attached a patch (as anonymous, sorry) hopefully fixing the problem. </p> <p> Two custom inplace_merge routines were added to coordinate_vector and coordinate_matrix that replace the problematic STL version. </p> <p> This could be generalized, but this requires an astonishing amount of templated code to properly pull of, so this copy-paste version seems preferable. </p> <p> In addition two new test files were added that exercise the coordinate types and check on sortedness of indice and correctness. </p> <p> I compiled and executed the tests, so some additional changes are likely required to automatically execute them. (I am unfamiliar with the boost test system and familiarizing me with that would have create delayed the patch). </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Gunter</dc:creator> <pubDate>Tue, 18 Sep 2012 20:51:16 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7363#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7363#comment:5</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/80586" title=" * libs/numeric/ublas/test/Jamfile.v2: see #7363 - separate test of ...">[80586]</a>) </p> <ul><li>libs/numeric/ublas/test/Jamfile.v2: see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7363" title="#7363: Bugs: coordinate_matrix::sort() fails with gcc 4.7 (closed: fixed)">#7363</a> - separate test of COO matrix </li></ul> </description> <category>Ticket</category> </item> <item> <dc:creator>Gunter</dc:creator> <pubDate>Tue, 18 Sep 2012 21:40:07 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7363#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7363#comment:6</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/80591" title=" * boost/numeric/ublas/vector_sparse.hpp: add ifdef ...">[80591]</a>) </p> <ul><li>boost/numeric/ublas/vector_sparse.hpp: add ifdef BOOST_UBLAS_COO_ALWAYS_DO_FULL_SORT to coordinate_vector::sort() (similar to coordinate_matrix::sort()), see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7363" title="#7363: Bugs: coordinate_matrix::sort() fails with gcc 4.7 (closed: fixed)">#7363</a> </li></ul><ul><li>libs/numeric/ublas/test/Jamfile.v2: use COO_ALWAYS_DO_FULL_SORT in test_assign because we do not want to test performance here </li></ul> </description> <category>Ticket</category> </item> <item> <author>j.ungermann@…</author> <pubDate>Wed, 19 Sep 2012 19:46:26 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7363#comment:7 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7363#comment:7</guid> <description> <p> Ticket <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4862" title="#4862: Bugs: generalized_vector_of_vector compile error (closed: duplicate)">#4862</a> is a duplicate of this one (obvious from the attached error output in that ticket). </p> </description> <category>Ticket</category> </item> <item> <author>j.ungermann@…</author> <pubDate>Fri, 21 Sep 2012 21:18:04 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/7363 https://svn.boost.org/trac10/ticket/7363 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">custom_inplace_merge_fixed.diff</span> </li> </ul> Ticket j.ungermann@… Fri, 21 Sep 2012 21:33:15 GMT attachment set https://svn.boost.org/trac10/ticket/7363 https://svn.boost.org/trac10/ticket/7363 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">custom_inplace_merge_r80623.diff</span> </li> </ul> Ticket j.ungermann@… Fri, 21 Sep 2012 21:36:02 GMT <link>https://svn.boost.org/trac10/ticket/7363#comment:8 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7363#comment:8</guid> <description> <p> I provided two new patch files. The first one with "_fixed" fixes a danging include statement that should generate a compilation error. The second one is the same patch but against the most recent revision 80623 that I just checked out. The original patch was partly against an older version. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Gunter</dc:creator> <pubDate>Fri, 21 Sep 2012 23:43:20 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7363#comment:9 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7363#comment:9</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/80625" title=" * boost/numeric/ublas/vector_sparse.hpp, ...">[80625]</a>) </p> <ul><li>boost/numeric/ublas/vector_sparse.hpp, boost/numeric/ublas/matrix_sparse.hpp: see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7363" title="#7363: Bugs: coordinate_matrix::sort() fails with gcc 4.7 (closed: fixed)">#7363</a>, applied patch (added inplace_merge) </li></ul><ul><li>libs/numeric/ublas/test/Jamfile.v2, libs/numeric/ublas/test/test_coordinate_vector_inplace_merge.cpp, libs/numeric/ublas/test/test_coordinate_matrix_inplace_merge.cpp: add test for COO::sort() </li></ul> </description> <category>Ticket</category> </item> <item> <dc:creator>Gunter</dc:creator> <pubDate>Sat, 22 Sep 2012 20:23:23 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7363#comment:10 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7363#comment:10</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/80643" title=" * boost/numeric/ublas/storage.hpp: see #7363, remove ...">[80643]</a>) </p> <ul><li>boost/numeric/ublas/storage.hpp: see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7363" title="#7363: Bugs: coordinate_matrix::sort() fails with gcc 4.7 (closed: fixed)">#7363</a>, remove boost::noncopyable from index_pair and index_triple because both classes can be copied </li></ul> </description> <category>Ticket</category> </item> <item> <dc:creator>Gunter</dc:creator> <pubDate>Sat, 22 Sep 2012 21:58:00 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7363#comment:11 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7363#comment:11</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/80645" title="merged ...">[80645]</a>) merged <a class="changeset" href="https://svn.boost.org/trac10/changeset/80483" title=" boost/numeric/ublas/traits.hpp, ...">[80483]</a>,<a class="changeset" href="https://svn.boost.org/trac10/changeset/80487" title="* boost/numeric/ublas/matrix_sparse.hpp: see #7363, add new define ...">[80487]</a>,<a class="changeset" href="https://svn.boost.org/trac10/changeset/80586" title=" * libs/numeric/ublas/test/Jamfile.v2: see #7363 - separate test of ...">[80586]</a>,<a class="changeset" href="https://svn.boost.org/trac10/changeset/80591" title=" * boost/numeric/ublas/vector_sparse.hpp: add ifdef ...">[80591]</a>,<a class="changeset" href="https://svn.boost.org/trac10/changeset/80592" title=" * boost/numeric/ublas/operation/size.hpp: apply patch, see #5812 ">[80592]</a>,<a class="changeset" href="https://svn.boost.org/trac10/changeset/80599" title=" * libs/numeric/ublas/test/test_triangular.cpp - remove unused ...">[80599]</a>,<a class="changeset" href="https://svn.boost.org/trac10/changeset/80600" title=" * libs/numeric/ublas/test/utils.hpp: use 'using ::std' instead of ...">[80600]</a>,<a class="changeset" href="https://svn.boost.org/trac10/changeset/80624" title=" * libs/numeric/ublas/test/utils.hpp: switch to boost::math::isnan, ...">[80624]</a>,<a class="changeset" href="https://svn.boost.org/trac10/changeset/80625" title=" * boost/numeric/ublas/vector_sparse.hpp, ...">[80625]</a>,<a class="changeset" href="https://svn.boost.org/trac10/changeset/80643" title=" * boost/numeric/ublas/storage.hpp: see #7363, remove ...">[80643]</a>,<a class="changeset" href="https://svn.boost.org/trac10/changeset/80644" title=" * libs/numeric/ublas/test/test_triangular.cpp: switch to boost::timer ...">[80644]</a> into release: </p> <ul><li>fix <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4024" title="#4024: Patches: improve performance of inplace_solve (closed: fixed)">#4024</a> </li></ul><ul><li>fix <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/5812" title="#5812: Patches: Ill formed use of template keyword in qualified names (closed: fixed)">#5812</a> </li></ul><ul><li>fix <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7296" title="#7296: Bugs: Bug-fix and improvements to test utility functions (closed: fixed)">#7296</a> (hopefully ;-) </li></ul><ul><li>see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7363" title="#7363: Bugs: coordinate_matrix::sort() fails with gcc 4.7 (closed: fixed)">#7363</a> (must wait for a full test cycle before closing this task) </li></ul> </description> <category>Ticket</category> </item> <item> <dc:creator>Gunter</dc:creator> <pubDate>Sat, 22 Sep 2012 22:53:43 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7363#comment:12 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7363#comment:12</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/80649" title=" * libs/numeric/ublas/doc/release_notes.htm, ...">[80649]</a>) </p> <ul><li>libs/numeric/ublas/doc/release_notes.htm, libs/numeric/ublas/doc/index.htm: see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7363" title="#7363: Bugs: coordinate_matrix::sort() fails with gcc 4.7 (closed: fixed)">#7363</a>, update release notes and docs </li></ul> </description> <category>Ticket</category> </item> <item> <dc:creator>Gunter</dc:creator> <pubDate>Sun, 30 Sep 2012 19:59:08 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/7363#comment:13 https://svn.boost.org/trac10/ticket/7363#comment:13 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> tests are green on release branch </p> Ticket