summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhongxing Xu <xuzhongxing@gmail.com>2009-04-20 10:09:10 +0000
committerZhongxing Xu <xuzhongxing@gmail.com>2009-04-20 10:09:10 +0000
commit2f8198f82aa8e412c95ceb59883ca7557f7c7917 (patch)
tree3fc615a2647ba51c7745f0d4f69e8ace4bdca2f5
parent3a1e692fed745fbcec2c2692b8e0d189d2b93851 (diff)
downloadbcm5719-llvm-2f8198f82aa8e412c95ceb59883ca7557f7c7917.tar.gz
bcm5719-llvm-2f8198f82aa8e412c95ceb59883ca7557f7c7917.zip
update the doc.
llvm-svn: 69587
-rw-r--r--clang/docs/AnalyzerRegions.html10
1 files changed, 9 insertions, 1 deletions
diff --git a/clang/docs/AnalyzerRegions.html b/clang/docs/AnalyzerRegions.html
index 992db152256..35708d57c97 100644
--- a/clang/docs/AnalyzerRegions.html
+++ b/clang/docs/AnalyzerRegions.html
@@ -214,7 +214,15 @@ when:</p> <pre> int x; void *p = &amp;x; </pre>
<p>The region of <tt>x</tt> 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 <tt>x</tt> for <tt>p</tt>.<p>
+casts, and assign the region of <tt>x</tt> for <tt>p</tt>.</p>
+
+<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.</p>
<h3>Region Bindings</h3>
OpenPOWER on IntegriCloud