From 4a115519ff89645fa7c6c1e4bacfb43ea1b15d18 Mon Sep 17 00:00:00 2001 From: Zhongxing Xu Date: Mon, 20 Apr 2009 10:09:10 +0000 Subject: [PATCH] update the doc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69587 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/AnalyzerRegions.html | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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

-- 2.50.1