On Jun 5, 2013, at 17:51 , Richard Smith <[email protected]> wrote:

> On Wed, Jun 5, 2013 at 5:19 PM, Anna Zaks <[email protected]> wrote:
> Author: zaks
> Date: Wed Jun  5 19:19:36 2013
> New Revision: 183359
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=183359&view=rev
> Log:
> [analyzer] Fix a crash that occurs when processing an rvalue array.
> 
> When processing ArrayToPointerDecay, we expect the array to be a location, 
> not a LazyCompoundVal.
> Special case the rvalue arrays by using a location to represent them. This 
> case is handled similarly
> elsewhere in the code.
> 
> Hmm, maybe we should be generating a MaterializeTemporaryExpr between the 
> ImplicitCastExpr and the array temporary?

Is there an array temporary? Or is the whole struct materialized?

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.

Jordan
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to