From 5ede5cc9ba0293bf0764e83cc264c40920bf1d7d Mon Sep 17 00:00:00 2001 From: DeLesley Hutchins Date: Tue, 5 Nov 2013 23:09:56 +0000 Subject: Thread safety analysis: check pt_guarded_by attribute when calling -> and * on smart pointers. -Wthread-safety-beta only. llvm-svn: 194103 --- clang/lib/Analysis/ThreadSafety.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'clang/lib/Analysis/ThreadSafety.cpp') diff --git a/clang/lib/Analysis/ThreadSafety.cpp b/clang/lib/Analysis/ThreadSafety.cpp index e5e5f18b515..607526db3e5 100644 --- a/clang/lib/Analysis/ThreadSafety.cpp +++ b/clang/lib/Analysis/ThreadSafety.cpp @@ -2134,6 +2134,14 @@ void BuildLockset::VisitCallExpr(CallExpr *Exp) { checkAccess(Source, AK_Read); break; } + case OO_Star: + case OO_Arrow: { + if (Analyzer->Handler.issueBetaWarnings()) { + const Expr *Target = OE->getArg(0); + checkPtAccess(Target, AK_Read); + } + break; + } default: { const Expr *Source = OE->getArg(0); checkAccess(Source, AK_Read); -- cgit v1.2.3