[cfe-commits] r59232 - /cfe/trunk/lib/Analysis/GRExprEngine.cpp
Ted Kremenek
kremenek at apple.com
Thu Nov 13 16:58:19 PST 2008
On Nov 13, 2008, at 4:52 PM, Zhongxing Xu wrote:
> We'll need to iterate on this one. We may end up applying your
> patch back, so please don't take my reverting it personally.
>
> Consider:
>
> char* p = alloca(BLOCK);
> new (p) Object1();
> ...
> new (p) Object2();
>
> Untyped memory can be recycled. While this won't occur that often,
> I think with the right design we can handle such things naturally.
>
> I agree that another indirection is necessary, since:
> - We have no type information when creating AllocaRegion.
> - We have to attach type information to AllocaRegion.
> - Regions are immutable once created.
>
> The question remains is that when shall we create this indirect
> layer. A plausible time is when we have the type information, we
> create the indirect layer.
A reasonable insertion point for such information is during VisitCast
when the "interpretation" of a pointer changes. We have a fair amount
of flexibility in how we add such information because VisitCast can
generate new GRStates.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20081113/67142071/attachment.html>
More information about the cfe-commits
mailing list