<div dir="ltr"><div>Indeed, the conditional temporary destructors problem was my motivation for this patch, I split it into two because they were somewhat independent, and I anticipated this would not be so easy to push through. :)<br>
</div><div class="gmail_extra"><br></div><div class="gmail_extra">Basically, I wanted to store the logical operator results in the state, so that I could later branch consistently. After some experimentation (you can find it in the history of the second patch) I settled for this solution.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Although it may be debatable, I actually find this implementation of EvaluateLogicalExpressions more sensible. My impression of the ProgramState structure is that it is supposed to contain everything needed for further program evaluation. The current implementation seems to bypass that, because it is looking at the exploded graph history. I agree that it is a sensitive part and understand your caution. If you have any further questions, I would be happy to answer them.</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On 15 August 2013 09:14, Ted Kremenek <span dir="ltr"><<a href="mailto:kremenek@apple.com" target="_blank">kremenek@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div class="im">On Aug 14, 2013, at 9:06 PM, Manuel Klimek <<a href="mailto:klimek@google.com" target="_blank">klimek@google.com</a>> wrote:<br><div><br><blockquote type="cite"><blockquote class="gmail_quote" style="font-family:Helvetica;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div style="word-wrap:break-word"> Specifically, what problem are you trying to solve?</div></blockquote><div style="font-family:Helvetica;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br></div><div style="font-family:Helvetica;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
See<span> </span><a href="http://llvm-reviews.chandlerc.com/D1259" target="_blank">http://llvm-reviews.chandlerc.com/D1259</a><span> </span>(WIP Fix for temporary destructors in conditionals), which this patch afaik enables.</div>
<div style="font-family:Helvetica;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
</div></blockquote></div><br></div><div>Thanks Manuel. I’ll review both patches together.</div><div><br></div><div>Pavel: thanks for working on this. This is a bit more than I anticipated reviewing tonight, so I’ll spend more time on it tomorrow.</div>
</div></blockquote></div><br></div></div>