diff options
author | Ted Kremenek <kremenek@apple.com> | 2011-02-23 01:51:48 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2011-02-23 01:51:48 +0000 |
commit | 1767a27b3e34a7810c0dcf7d2a3606416751f127 (patch) | |
tree | 580cb28dfa0e65692af2b66759db4267f92900b1 /clang/lib/Sema/Sema.cpp | |
parent | 55ae319a28f06159d594fddad8d60b4e653ff1bb (diff) | |
download | bcm5719-llvm-1767a27b3e34a7810c0dcf7d2a3606416751f127.tar.gz bcm5719-llvm-1767a27b3e34a7810c0dcf7d2a3606416751f127.zip |
Issue AnalysisBasedWarnings as part of calling Sema::PopBlockOrFunctionScope(). No real functionality change.
llvm-svn: 126287
Diffstat (limited to 'clang/lib/Sema/Sema.cpp')
-rw-r--r-- | clang/lib/Sema/Sema.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/clang/lib/Sema/Sema.cpp b/clang/lib/Sema/Sema.cpp index 78d49b74158..1920f1e6fc8 100644 --- a/clang/lib/Sema/Sema.cpp +++ b/clang/lib/Sema/Sema.cpp @@ -631,9 +631,15 @@ void Sema::PushBlockScope(Scope *BlockScope, BlockDecl *Block) { BlockScope, Block)); } -void Sema::PopFunctionOrBlockScope() { - FunctionScopeInfo *Scope = FunctionScopes.pop_back_val(); +void Sema::PopFunctionOrBlockScope(const AnalysisBasedWarnings::Policy *WP, + const Decl *D, const BlockExpr *blkExpr) { + FunctionScopeInfo *Scope = FunctionScopes.pop_back_val(); assert(!FunctionScopes.empty() && "mismatched push/pop!"); + + // Issue any analysis-based warnings. + if (WP && D) + AnalysisWarnings.IssueWarnings(*WP, D, blkExpr); + if (FunctionScopes.back() != Scope) delete Scope; } |