Boost C++ Libraries: Ticket #5397: multi_index_container does not build with exceptions off on some compilers(armcc) https://svn.boost.org/trac10/ticket/5397 <p> with exceptions off, BOOST_TRY and BOOST_CATCH result in these functions not always having a return, making multi_index_container unbuildable in our environment </p> <p> "../../boost/multi_index_container.hpp", line 503: Error: <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/940" title="#940: Feature Requests: make_shared_ptr (closed: None)">#940</a>-D: missing return statement at end of non-void function "boost::multi_index::multi_index_container&lt;Value, <a class="missing wiki">IndexSpecifierList</a>, Allocator&gt;::insert_(const Value &amp;)" </p> <blockquote> <p> } <sup> </sup></p> </blockquote> <p> "../../boost/multi_index_container.hpp", line 524: Error: <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/940" title="#940: Feature Requests: make_shared_ptr (closed: None)">#940</a>-D: missing return statement at end of non-void function "boost::multi_index::multi_index_container&lt;Value, <a class="missing wiki">IndexSpecifierList</a>, Allocator&gt;::insert_(const Value &amp;, boost::multi_index::detail::multi_index_base_type&lt;Value, <a class="missing wiki">IndexSpecifierList</a>, Allocator&gt;::type::node_type *)" </p> <blockquote> <p> } <sup> </sup></p> </blockquote> <p> "../../boost/multi_index_container.hpp", line 585: Error: <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/940" title="#940: Feature Requests: make_shared_ptr (closed: None)">#940</a>-D: missing return statement at end of non-void function "boost::multi_index::multi_index_container&lt;Value, <a class="missing wiki">IndexSpecifierList</a>, Allocator&gt;::modify_(Modifier &amp;, boost::multi_index::detail::multi_index_base_type&lt;Value, <a class="missing wiki">IndexSpecifierList</a>, Allocator&gt;::type::node_type *) [with Modifier=Modifier]" </p> <blockquote> <p> } <sup> </sup></p> </blockquote> <p> "../../boost/multi_index_container.hpp", line 621: Error: <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/940" title="#940: Feature Requests: make_shared_ptr (closed: None)">#940</a>-D: missing return statement at end of non-void function "boost::multi_index::multi_index_container&lt;Value, <a class="missing wiki">IndexSpecifierList</a>, Allocator&gt;::modify_(Modifier &amp;, Rollback &amp;, boost::multi_index::detail::multi_index_base_type&lt;Value, <a class="missing wiki">IndexSpecifierList</a>, Allocator&gt;::type::node_type *) [with Modifier=Modifier, Rollback=Rollback]" </p> <blockquote> <p> } <sup> </sup></p> </blockquote> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/5397 Trac 1.4.3 Joaquín M López Muñoz Mon, 04 Apr 2011 06:59:17 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/5397#comment:1 https://svn.boost.org/trac10/ticket/5397#comment:1 <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">invalid</span> </li> </ul> <p> This is a bug in your compiler: when exceptions are turned off, control never gets past the try-catch block. </p> <p> Please try locally redefining the BOOST_CATCH_END macro (line 83 of boost/detail/no_exceptions_support.hpp) as </p> <pre class="wiki"># define BOOST_CATCH_END std::terminate();} </pre><p> Does this solve your problem? If so maybe you can get along by patching your boost distribution this way. </p> <p> Closing this as a non-bug. </p> Ticket