<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Jan 23, 2014, at 13:15 , Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jan 23, 2014 at 9:20 AM, Jordan Rose <span dir="ltr"><<a href="mailto:jordan_rose@apple.com" target="_blank">jordan_rose@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This mostly looks good to me. One comment, though:<br>
<br>
+          !RetValExp->isValueDependent() &&<br>
<br>
The returns_nonnull check doesn't bother to check if it's value-dependent first. Is that necessary? Should that be folded in somewhere else?</blockquote><div><br></div><div>Yes, that is necessary. If your CheckNonNullExpr is supposed to conservatively return false if the expression isn't known to be null, it should return false on any value-dependent expression.</div>
</div></div></div></blockquote><br></div><div>Then we should probably sink the check there, since it's not currently doing that for the returns_nonnull attribute.</div><div><br></div><div>Jordan</div><br></body></html>