From: Zhongxing Xu Date: Mon, 20 Apr 2009 10:09:10 +0000 (+0000) Subject: update the doc. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4a115519ff89645fa7c6c1e4bacfb43ea1b15d18;p=clang update the doc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69587 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/AnalyzerRegions.html b/docs/AnalyzerRegions.html index 992db15225..35708d57c9 100644 --- a/docs/AnalyzerRegions.html +++ b/docs/AnalyzerRegions.html @@ -214,7 +214,15 @@ when:

 int x; void *p = &x; 

The region of x has its root position at 'int*' node. the cast to void* moves that region up to the 'void*' node. I propose to not allow such -casts, and assign the region of x for p.

+casts, and assign the region of x for p.

+ +

Another non-ideal case is that people might cast to a non-generic pointer +from another non-generic pointer instead of first casting it back to the generic +pointer. Direct handling of this case would result in multiple layers of +TypedViewRegions. This enforces an incorrect semantic view to the region, +because we can only have one typed view on a region at a time. To avoid this +inconsistency, before casting the region, we strip the TypedViewRegion, then do +the cast. In summary, we only allow one layer of TypedViewRegion.

Region Bindings