[cfe-commits] [PATCH] RegionStore

Ted Kremenek kremenek at apple.com
Mon Oct 20 21:52:28 PDT 2008


On Oct 20, 2008, at 3:48 AM, Zhongxing Xu wrote:

>
>
> Another thought: Maybe we should keep these special handling in  
> GRExprEngine, since these are what C99 requires to do. But this will  
> require to add "if (..->isArrayType()) at more than one place in  
> GRExprEngine, at least in VisitDeclRefExpr and VisitUnaryOperator.  
> The root reason is that the rvalue evaluation of expressions of  
> array type is different from other types. They do not need to go  
> through the store bindings. The rvalue of expressions of array type  
> cannot change.

Exactly.  To me this is an issue of handling the syntax of C, which is  
the domain of GRExprEngine.  By keeping the ugliness localized,  
individual checks, implementations of Store, etc., don't have to worry  
about such language-specific edges cases.  All the Store wants to  
reason about is loads and stores.



More information about the cfe-commits mailing list