On Thu, Oct 18, 2012 at 1:45 PM, Douglas Gregor <span dir="ltr"><<a href="mailto:dgregor@apple.com" target="_blank">dgregor@apple.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><br>
On Oct 18, 2012, at 9:57 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> wrote:<br>
<br>
> Author: dblaikie<br>
> Date: Thu Oct 18 11:57:32 2012<br>
> New Revision: 166188<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=166188&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=166188&view=rev</a><br>
> Log:<br>
> PR14021: Copy lookup results to ensure safe iteration.<br>
><br>
> Within the body of the loop the underlying map may be modified via<br>
><br>
>  Sema::AddOverloadCandidate<br>
>    -> Sema::CompareReferenceRelationship<br>
>    -> Sema::RequireCompleteType<br>
><br>
> to avoid the use of invalid iterators the sequence is copied first.<br>
<br>
</div>Did you audit other uses of LookupConstructors to ensure that this is the only ticking time bomb in this area?</blockquote><div><br></div><div>Perhaps we can fix all of these by taking a different approach (declaring all the implicit special members whenever we declare any of them).</div>
</div>