[cfe-dev] Allowing checkers to mark symbols as live

Ted Kremenek kremenek at apple.com
Mon Aug 9 21:10:56 PDT 2010


On Aug 9, 2010, at 9:09 PM, Zhongxing Xu wrote:

> On Tue, Aug 10, 2010 at 11:43 AM, Ted Kremenek <kremenek at apple.com> wrote:
>> On Aug 9, 2010, at 7:17 PM, Zhongxing Xu wrote:
>> 
>> I'm inclined to Jordy's original proposal that Checkers should be able
>> to control some symbols that only they know what the symbol means,
>> when the symbol dies.
>> 
>> My point was that the checker shouldn't have to do anything special to
>> extend the lifetime of a symbol.  For symbols that annotate MemRegions, the
>> lifetime of the symbol is inherently bound to the lifetime of the MemRegion.
>>  It seems far more natural to me, more efficient, and far less error prone
>> to have SymbolManager::isLive() understand that the lifetime of one symbol
>> is tied to another (declaratively) then having the checker doing something
>> ad hoc on the side.
>> 
> 
> Make sense. I overlooked the fact that checkers alone can't decide the
> liveness of a symbol. Then some kind of derived symbol is justified.
> To keep symbols immutable, checkers need to make multiple symbols.
> SymbolReaper needs a way to recognize the 'current' symbol.

My thoughts exactly.



More information about the cfe-dev mailing list