Boost C++ Libraries: Ticket #6081: unordered_multimap::emplace() is not available for Solaris Studio C++ compiler https://svn.boost.org/trac10/ticket/6081 <p> Trying to compile ./libs/unordered/test/unordered/unnecessary_copy_tests.cpp with Sun C++ 5.11 results in the following error: </p> <p> ".../boost_1_47_0<em>libs/unordered/test/unordered/unnecessary_copy_tests.cpp", line 249: Error: Could not find a match for boost::unordered_map&lt;unnecessary_copy_tests::count_copies, unnecessary_copy_tests::count_copies, boost::hash&lt;unnecessary_copy_tests::count_copies&gt;, std::equal_to&lt;unnecessary_copy_tests::count_copies&gt;, std::allocator&lt;std::pair&lt;const unnecessary_copy_tests::count_copies, unnecessary_copy_tests::count_copies&gt;&gt;&gt;::emplace&lt;boost::unordered_map&lt;unnecessary_copy_tests::count_copies, unnecessary_copy_tests::count_copies, boost::hash&lt;unnecessary_copy_tests::count_copies&gt;, std::equal_to&lt;unnecessary_copy_tests::count_copies&gt;, std::allocator&lt;std::pair&lt;const unnecessary_copy_tests::count_copies, unnecessary_copy_tests::count_copies&gt;&gt;&gt;::Arg0&gt;() needed in unnecessary_copy_tests::unnecessary_copy_emplace_map_test_type::run(). </em></p> <p> Investigation revealed that necessary emplace() method is indeed missing: it is placed under </p> <blockquote> <p> #if !BOOST_WORKAROUND(<span class="underline">SUNPRO_CC, BOOST_TESTED_AT(0x5100)) </span></p> </blockquote> <p> which effectively removes emplace() with default argument from Sun C++ compiler's sight. </p> <p> The reason for this "workaround" is unclear as the test compiles successfully (with "workaround" removed, of course) even with 5.9 compiler. (It fails at run time, though, when compiled with stlport4, but passes with stdc++) </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/6081 Trac 1.4.3 Maxim Kartashev <maxim.kartashev@…> Tue, 01 Nov 2011 14:51:38 GMT attachment set https://svn.boost.org/trac10/ticket/6081 https://svn.boost.org/trac10/ticket/6081 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">diffs</span> </li> </ul> <p> Fix for this ticket </p> Ticket anonymous Tue, 01 Nov 2011 15:27:57 GMT <link>https://svn.boost.org/trac10/ticket/6081#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6081#comment:1</guid> <description> <p> The workaround was required to be able to use the containers with incomplete types, which is far more useful functionality than the zero-argument emplace. It was a different test that picked up the failures. </p> <p> Btw. there's going to be a new version in 1.48, so patches against older releases might not apply. </p> </description> <category>Ticket</category> </item> <item> <author>Maxim Kartashev <maxim.kartashev@…></author> <pubDate>Wed, 02 Nov 2011 12:12:57 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/6081#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6081#comment:2</guid> <description> <p> Is there a ticket ID for that change so that I can verify that my proposed patch does not break more than it fixes? Or maybe that test name is known? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Wed, 02 Nov 2011 20:38:48 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/6081#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6081#comment:3</guid> <description> <p> The change was in <a class="changeset" href="https://svn.boost.org/trac10/changeset/58002" title="Try to support incomplete types for Sun - at the expense of zero ...">[58002]</a>. I don't remember the details but it would have been made due to failures in the test results, rather than bug reports. A lot has changed since then so it might be possible that it doesn't apply any more, or only applies to older versions. </p> </description> <category>Ticket</category> </item> <item> <author>Maxim Kartashev <maxim.kartashev@…></author> <pubDate>Tue, 08 Nov 2011 14:31:12 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/6081#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6081#comment:4</guid> <description> <p> Well, in this case can we move forward with fixing this the way I proposed since it has visible benefit yet at the same time drawbacks are unclear? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Daniel James</dc:creator> <pubDate>Sun, 08 Oct 2017 14:54:34 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/6081#comment:5 https://svn.boost.org/trac10/ticket/6081#comment:5 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> At some point the workarounds were disabled for the latest versions of the compiler. </p> Ticket