summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/AnalysisBasedWarnings.cpp
diff options
context:
space:
mode:
authorDeLesley Hutchins <delesley@google.com>2013-04-08 20:11:11 +0000
committerDeLesley Hutchins <delesley@google.com>2013-04-08 20:11:11 +0000
commitfd374bb3dd7c3f9b11973df235d7ed66f49f1326 (patch)
treefc0163ecf5bc294a297269489a907cf6144fec78 /clang/lib/Sema/AnalysisBasedWarnings.cpp
parented61b06fa815fe7a31e92f3eed7e67f5c514fa9a (diff)
downloadbcm5719-llvm-fd374bb3dd7c3f9b11973df235d7ed66f49f1326.tar.gz
bcm5719-llvm-fd374bb3dd7c3f9b11973df235d7ed66f49f1326.zip
Thread safety analysis: turn on checking within lock and unlock functions.
These checks are enabled with the -Wthread-safety-beta flag. llvm-svn: 179046
Diffstat (limited to 'clang/lib/Sema/AnalysisBasedWarnings.cpp')
-rw-r--r--clang/lib/Sema/AnalysisBasedWarnings.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/Sema/AnalysisBasedWarnings.cpp b/clang/lib/Sema/AnalysisBasedWarnings.cpp
index 00d3c47525d..1295339aa33 100644
--- a/clang/lib/Sema/AnalysisBasedWarnings.cpp
+++ b/clang/lib/Sema/AnalysisBasedWarnings.cpp
@@ -1333,8 +1333,12 @@ class ThreadSafetyReporter : public clang::thread_safety::ThreadSafetyHandler {
LocEndOfScope = FunEndLocation;
PartialDiagnosticAt Warning(LocEndOfScope, S.PDiag(DiagID) << LockName);
- PartialDiagnosticAt Note(LocLocked, S.PDiag(diag::note_locked_here));
- Warnings.push_back(DelayedDiag(Warning, OptionalNotes(1, Note)));
+ if (LocLocked.isValid()) {
+ PartialDiagnosticAt Note(LocLocked, S.PDiag(diag::note_locked_here));
+ Warnings.push_back(DelayedDiag(Warning, OptionalNotes(1, Note)));
+ return;
+ }
+ Warnings.push_back(DelayedDiag(Warning, OptionalNotes()));
}
OpenPOWER on IntegriCloud