<div dir="ltr">Thanks, I committed this in r209832, but I forgot to update this thread.  Happens more than I'd like it to.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, May 27, 2014 at 3:19 PM, Will Dietz <span dir="ltr"><<a href="mailto:w@wdtz.org" target="_blank">w@wdtz.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">LGTM.<br>
<br>
@Code owners: Ping!<br>
<br>
This patch builds cleanly and passes lit tests locally, FWIW.<br>
<br>
Quick scan through the commit logs shows there have been multiple<br>
Twine bugs fixed that this change would have made a compile-time error<br>
(instead of being fixed later, presumably after some head-scratching):<br>
<br>
r206804<br>
r205107<br>
r205105<br>
r200457<br>
<br>
Which helps motivate the change.  It's a trade-off-- in theory a<br>
programmer who "knows what they were doing"<br>
could employ the assignment operator correctly, but on the other hand<br>
all the above bugs (and more) might have<br>
been avoided if this patch were applied at the time.  Furthermore,<br>
since it seems the assignment operator is unused<br>
in all of LLVM/Clang/lldb/other-projects-I-have-locally (and<br>
historically seems to only be used in ways that<br>
are later reverted due to causing bugs) this seems like a good step<br>
for helping prevent future misuse.<br>
<br>
Thoughts/comments/review welcome! :)<br>
<br>
~Will<br>
<div><div class="h5"><br>
On Fri, May 16, 2014 at 8:34 AM, Marco Alesiani <<a href="mailto:marco.diiga@gmail.com">marco.diiga@gmail.com</a>> wrote:<br>
> Compile-time prevention of runtime stack overflow when concatenating Twines<br>
> (infinite recursion). Attached patch, test case and a plain English<br>
> explanation of the problem.<br>
><br>
> --<br>
><br>
> __________________________<br>
><br>
> Marco Alesiani<br>
><br>
><br>
</div></div>> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
><br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>