diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Analysis/ThreadSafety.cpp | 7 | ||||
-rw-r--r-- | lib/Sema/AnalysisBasedWarnings.cpp | 6 |
2 files changed, 8 insertions, 5 deletions
diff --git a/lib/Analysis/ThreadSafety.cpp b/lib/Analysis/ThreadSafety.cpp index 196d5e1eb3..e7d9a2d642 100644 --- a/lib/Analysis/ThreadSafety.cpp +++ b/lib/Analysis/ThreadSafety.cpp @@ -1794,9 +1794,12 @@ void BuildLockset::warnIfMutexHeld(const NamedDecl *D, Expr* Exp, } LockData* LDat = FSet.findLock(Analyzer->FactMan, Mutex); - if (LDat) - Analyzer->Handler.handleFunExcludesLock(D->getName(), Mutex.toString(), + if (LDat) { + std::string DeclName = D->getNameAsString(); + StringRef DeclNameSR (DeclName); + Analyzer->Handler.handleFunExcludesLock(DeclNameSR, Mutex.toString(), Exp->getExprLoc()); + } } diff --git a/lib/Sema/AnalysisBasedWarnings.cpp b/lib/Sema/AnalysisBasedWarnings.cpp index 7455c75c2e..a3aee9afe0 100644 --- a/lib/Sema/AnalysisBasedWarnings.cpp +++ b/lib/Sema/AnalysisBasedWarnings.cpp @@ -1084,7 +1084,7 @@ class ThreadSafetyReporter : public clang::thread_safety::ThreadSafetyHandler { diag::warn_variable_requires_any_lock: diag::warn_var_deref_requires_any_lock; PartialDiagnosticAt Warning(Loc, S.PDiag(DiagID) - << D->getName() << getLockKindFromAccessKind(AK)); + << D->getNameAsString() << getLockKindFromAccessKind(AK)); Warnings.push_back(DelayedDiag(Warning, OptionalNotes())); } @@ -1105,7 +1105,7 @@ class ThreadSafetyReporter : public clang::thread_safety::ThreadSafetyHandler { break; } PartialDiagnosticAt Warning(Loc, S.PDiag(DiagID) - << D->getName() << LockName << LK); + << D->getNameAsString() << LockName << LK); PartialDiagnosticAt Note(Loc, S.PDiag(diag::note_found_mutex_near_match) << *PossibleMatch); Warnings.push_back(DelayedDiag(Warning, OptionalNotes(1, Note))); @@ -1122,7 +1122,7 @@ class ThreadSafetyReporter : public clang::thread_safety::ThreadSafetyHandler { break; } PartialDiagnosticAt Warning(Loc, S.PDiag(DiagID) - << D->getName() << LockName << LK); + << D->getNameAsString() << LockName << LK); Warnings.push_back(DelayedDiag(Warning, OptionalNotes())); } } |