Opened 12 years ago
Closed 12 years ago
#5397 closed Bugs (invalid)
multi_index_container does not build with exceptions off on some compilers(armcc)
Reported by: | anonymous | Owned by: | Joaquín M López Muñoz |
---|---|---|---|
Milestone: | To Be Determined | Component: | multi_index |
Version: | Boost 1.47.0 | Severity: | Showstopper |
Keywords: | multi_index_container armcc exceptions | Cc: |
Description
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
"../../boost/multi_index_container.hpp", line 503: Error: #940-D: missing return statement at end of non-void function "boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::insert_(const Value &)"
}
"../../boost/multi_index_container.hpp", line 524: Error: #940-D: missing return statement at end of non-void function "boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::insert_(const Value &, boost::multi_index::detail::multi_index_base_type<Value, IndexSpecifierList, Allocator>::type::node_type *)"
}
"../../boost/multi_index_container.hpp", line 585: Error: #940-D: missing return statement at end of non-void function "boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::modify_(Modifier &, boost::multi_index::detail::multi_index_base_type<Value, IndexSpecifierList, Allocator>::type::node_type *) [with Modifier=Modifier]"
}
"../../boost/multi_index_container.hpp", line 621: Error: #940-D: missing return statement at end of non-void function "boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::modify_(Modifier &, Rollback &, boost::multi_index::detail::multi_index_base_type<Value, IndexSpecifierList, Allocator>::type::node_type *) [with Modifier=Modifier, Rollback=Rollback]"
}
This is a bug in your compiler: when exceptions are turned off, control never gets past the try-catch block.
Please try locally redefining the BOOST_CATCH_END macro (line 83 of boost/detail/no_exceptions_support.hpp) as
Does this solve your problem? If so maybe you can get along by patching your boost distribution this way.
Closing this as a non-bug.