[cfe-commits] [PATCH] CallExprs returning references can be lvalues

Zhongxing Xu xuzhongxing at gmail.com
Wed Jun 2 22:04:13 PDT 2010


On Thu, Jun 3, 2010 at 1:02 PM, Ted Kremenek <kremenek at apple.com> wrote:

>
> On Jun 2, 2010, at 9:48 PM, Zhongxing Xu wrote:
>
> Is it necessary to add all RHS of assignment expr as block-level expr?
>>
>> +    return addStmt(B->getLHS(), AddStmtChoice::AsLValueNotAlwaysAdd);
>> +  }
>>
>
> Here better to use visitStmt, because addStmt() means we want to 'add' the
> statement. Maybe we should modify some of the existing code to emphasize
> this.
>
>
>>
>
>
> That's right.  The rest of the cases in that method use addStmt() because
> they introduce real control-flow dependencies.  For the assignment operator
> this isn't need.
>
> Zhongxing: I don't think any of the existing cases in that method need to
> be modified to use VisitStmt() instead of addStmt(), or do you see
> something?
>

I suggest the following implementation of addStmt.

CFGBlock *addStmt(Stmt *S) {
    return Visit(S, AddStmtChoice::AlwaysAdd);
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20100603/8d3a31e8/attachment.html>


More information about the cfe-commits mailing list