diff options
| author | Zhongxing Xu <xuzhongxing@gmail.com> | 2009-03-27 02:22:41 +0000 |
|---|---|---|
| committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2009-03-27 02:22:41 +0000 |
| commit | c1c09b1f3550a3e1afeed35977843ace55aeb08b (patch) | |
| tree | bec3035b6dc89a64b55b57e37046a92c7fc279f2 /clang/lib | |
| parent | 0e34da42c55f316d6c0302c105458832613622ba (diff) | |
| download | bcm5719-llvm-c1c09b1f3550a3e1afeed35977843ace55aeb08b.tar.gz bcm5719-llvm-c1c09b1f3550a3e1afeed35977843ace55aeb08b.zip | |
remove the updated notes.
llvm-svn: 67813
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Analysis/NOTES.TXT | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/clang/lib/Analysis/NOTES.TXT b/clang/lib/Analysis/NOTES.TXT deleted file mode 100644 index 54ce078c1d8..00000000000 --- a/clang/lib/Analysis/NOTES.TXT +++ /dev/null @@ -1,55 +0,0 @@ -//===----------------------------------------------------------------------===// -// Random notes for the static analysis module. -//===----------------------------------------------------------------------===// - -Currently the analyzer with basic store will report false alarm for such code: - -p[0] = "/bin/sh"; -p[1] = NULL; - -execv(p[0], argv); - -This is because BasicStore "collapses" all elements of an array into their base -region. BasicStore should return UnknownVal() when getLValueElement. But that -way will break current test in null-deref-ps.c. - -//===----------------------------------------------------------------------===// - -Investigate what classes of exprs are passed silently in GRExprEngine::Visit(). - -One is PredefinedExpr. - -//===----------------------------------------------------------------------===// - -Remove PersistentSValPairs and PersistentSVals? - -//===----------------------------------------------------------------------===// - -If the pointer is symbolic, we should expand it to a full region with symbolic -values. This can eliminate the following false warning. - -struct file { - int lineno; -}; - -struct file *fileinfo; - -void f10() { - int i; - int *p = 0; - - if (fileinfo->lineno) - p = &i; - - if (fileinfo->lineno) - *p = 3; // false warning -} - -Now we return a symbolic region for fileinfo->lineno in RegionStore. Loading -from it returns an UnknownVal. Therefore the path condition is not recorded. - -Where should we call this ExpandSymbolicPointer method? Perhaps in -GRExprEngine::VisitMemberExpr(). - -Problem: The base expr of MemberExpr can be in various form. How do we get the -pointer varregion(or other kind of region) to be changed? |

