Hi Anton,

Sorry, I see that I've misread your patch. I'll give it another look tomorrow.

However, can you double check that all the test cases we've discussed in "Re: 
new/delete checker LLVM false positives" thread are either already in the 
repository or are added to the patch.

Thanks,
Anna.

On Oct 28, 2013, at 6:59 PM, Антон Ярцев <[email protected]> wrote:

> 
>  It is the analyzer core (RegionStoreManager::invalidateRegions()) that 
> perform common invalidation of a region as well as it's subregions/indirect 
> regions, traits are used to handle exceptions from the common invalidation 
> logic. Thus marking a region with TK_PreserveContents we prevent the contents 
> of the particularly this region (not subregions/indirect regions) from being 
> invalidated by the core if invalidation touches this region. All the 
> subregions/indirect regions are invalidated in default way.
> 
>  The similar situation with the pointer escape - normally we either call 
> pointer escape callback for an any region/symbol, touched by the invalidation 
> of a top level region or do not call pointer escape callback for either of 
> the regions touched by that invalidation. For now we deviate from this rule 
> only in the case, when we artificially model an impact of the call to 
> 'memcpy' (and several similar library copy functions) on it's source and 
> destination buffers.
> 
>  Calling ConstPointerEscape with TK_SuppressEscape and !TK_PreserveContents 
> means that the checkConstPointerEscape should not be fired for a given region 
> for two reasons - TK_SuppressEscape tells that the escape of a given region 
> is suppressed (currently by the user) and !TK_PreserveContents tells that a 
> given symbol is the matter of a regular pointer escape.
> 
>  If I understand correctly, invalidation and escape is already split into at 
> least three callbacks: checkRegionChanges for invalidation and 
> checkPointerEscape/checkConstPointerEscape for escape.
> 
>  I think it is currently no need to give the user an ability to 
> invalidate/escape a particular region/symbol passing the common 
> invalidation/escape mechanism.
> 
> http://llvm-reviews.chandlerc.com/D1887
> _______________________________________________
> cfe-commits mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to