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. _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
