<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 Jun 5, 2013, at 17:51 , Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">On Wed, Jun 5, 2013 at 5:19 PM, Anna Zaks <span dir="ltr"><<a href="mailto:ganna@apple.com" target="_blank">ganna@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">
Author: zaks<br>
Date: Wed Jun  5 19:19:36 2013<br>
New Revision: 183359<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=183359&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=183359&view=rev</a><br>
Log:<br>
[analyzer] Fix a crash that occurs when processing an rvalue array.<br>
<br>
When processing ArrayToPointerDecay, we expect the array to be a location, not a LazyCompoundVal.<br>
Special case the rvalue arrays by using a location to represent them. This case is handled similarly<br>
elsewhere in the code.<br></blockquote><div><br></div><div>Hmm, maybe we should be generating a MaterializeTemporaryExpr between the ImplicitCastExpr and the array temporary?</div></div></blockquote></div><br><div>Is there an array temporary? Or is the whole struct materialized?</div><div><br></div><div>The analyzer's had to do this before (for compound literals), so I didn't think about the wider implications, but clearly at run time some sort of temporary allocation is needed.</div><div><br></div><div>Jordan</div></body></html>