On May 12, 2009, at 8:07 PM, Zhongxing Xu wrote: > 2009/5/13 Ted Kremenek <[email protected]>: >> >> On May 12, 2009, at 9:56 AM, Ted Kremenek wrote: >> >>> On May 12, 2009, at 3:10 AM, Zhongxing Xu wrote: >>> >>>> +++ cfe/trunk/include/clang/Analysis/PathSensitive/Store.h Tue >>>> May 12 >>>> 05:10:00 2009 >>>> @@ -161,6 +161,11 @@ >>>> return St; >>>> } >>>> >>>> + virtual const GRState* setDefaultValue(const GRState* St, >>>> + const MemRegion* R, >>>> SVal V) { >>>> + return St; >>>> + } >>>> + >>> >>> Hi Zhongxing, >>> >>> I noticed the addition of this method to StoreManager, but I don't >>> quite >>> know what it does. Could you add some comments? I see it used >>> later, but I >>> cannot quite evaluate the approach without a little more context. >>> Thanks! >>> >>> Ted >> >> I think I understand. 'setDefaultValue' installs a default value >> for a >> MemRegion (e.g., representing an array) that will be used when no >> value is >> available for a specific element of that region. Is this the right >> approach? This basically assumes that all elements within that >> region have >> the same value. >> > > Now setDefaultValue sets a conjured symbolic value to the array > region. When retrieving the element, we create a new SymbolRegionValue > for that element region. > > The meaning of setting a conjured symbol is not that the whole array > has the same symbolic region, but just mark that array to be > 'symbolic'.
Got it. Makes sense. _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
