summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/Sema.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2011-02-23 01:51:48 +0000
committerTed Kremenek <kremenek@apple.com>2011-02-23 01:51:48 +0000
commit1767a27b3e34a7810c0dcf7d2a3606416751f127 (patch)
tree580cb28dfa0e65692af2b66759db4267f92900b1 /clang/lib/Sema/Sema.cpp
parent55ae319a28f06159d594fddad8d60b4e653ff1bb (diff)
downloadbcm5719-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.cpp10
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;
}
OpenPOWER on IntegriCloud