diff options
| author | Zhongxing Xu <xuzhongxing@gmail.com> | 2010-05-06 02:59:29 +0000 |
|---|---|---|
| committer | Zhongxing Xu <xuzhongxing@gmail.com> | 2010-05-06 02:59:29 +0000 |
| commit | 9174b2c2f9251db08fea0c4e48372b9a599f57af (patch) | |
| tree | 13c7afba2093214a1b5b820c3f4b6fb5bc0c5de9 /clang/lib/Checker | |
| parent | 9feb1bb11727cb79a71015fd950473269bcdafd6 (diff) | |
| download | bcm5719-llvm-9174b2c2f9251db08fea0c4e48372b9a599f57af.tar.gz bcm5719-llvm-9174b2c2f9251db08fea0c4e48372b9a599f57af.zip | |
Make -analyzer-inline-call not a separate analysis. Instead it's a boolean
flag now, and can be used with other analyses. Only turned it on for C++
methods for now.
llvm-svn: 103160
Diffstat (limited to 'clang/lib/Checker')
| -rw-r--r-- | clang/lib/Checker/GRCXXExprEngine.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Checker/GRCXXExprEngine.cpp b/clang/lib/Checker/GRCXXExprEngine.cpp index 00ac9955928..18e112cc8d3 100644 --- a/clang/lib/Checker/GRCXXExprEngine.cpp +++ b/clang/lib/Checker/GRCXXExprEngine.cpp @@ -86,7 +86,7 @@ void GRExprEngine::VisitCXXConstructExpr(const CXXConstructExpr *E, SVal Dest, const CXXConstructorDecl *CD = E->getConstructor(); assert(CD); - if (!CD->isThisDeclarationADefinition()) + if (!(CD->isThisDeclarationADefinition() && AMgr.shouldInlineCall())) // FIXME: invalidate the object. return; @@ -147,7 +147,7 @@ void GRExprEngine::VisitCXXMemberCallExpr(const CXXMemberCallExpr *MCE, const CXXMethodDecl *MD = cast<CXXMethodDecl>(ME->getMemberDecl()); assert(MD && "not a CXXMethodDecl?"); - if (!MD->isThisDeclarationADefinition()) + if (!(MD->isThisDeclarationADefinition() && AMgr.shouldInlineCall())) // FIXME: conservative method call evaluation. return; |

