<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Oct 29, 2015 at 6:53 AM, Asiri Rathnayake via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><p class="MsoNormal"><u></u></p></div></blockquote><div><br></div><div>[snip] </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><p class="MsoNormal">  </p><p class="MsoNormal"><u></u></p><p class="MsoNormal">Note that it's not just the tests that need to be updated. For example, take<u></u><u></u></p><p class="MsoNormal">unordered_map::at(key) definition:<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc><u></u><u></u></p><p class="MsoNormal">_Tp& unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::at(const key_type& __k)<u></u><u></u></p><p class="MsoNormal">{<u></u><u></u></p><p class="MsoNormal">    iterator __i = find(__k);<u></u><u></u></p><p class="MsoNormal">#ifndef _LIBCPP_NO_EXCEPTIONS<u></u><u></u></p><p class="MsoNormal">    if (__i == end())<u></u><u></u></p><p class="MsoNormal">        throw out_of_range("unordered_map::at: key not found");<u></u><u></u></p><p class="MsoNormal">#endif<u></u><u></u></p><p class="MsoNormal">    return __i->second;<u></u><u></u></p><p class="MsoNormal">}<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Here the behavior is not correct w.r.t no-exceptions use case, __i == end()<u></u><u></u></p><p class="MsoNormal">should instead call abort(). My local patch includes updates to tests as well<u></u><u></u></p><p class="MsoNormal">as fixes for omissions like this one.<u></u><u></u></p><p class="MsoNormal"><br></p></div></blockquote><div><br></div><div>I find it amusing that you think that there's a "correct behavior" when the standard specifies that an operation should throw an exception and you have disabled exceptions.</div><div><br></div><div>-- Marshall</div></div></div></div>