clang 17.0.0git
|
#include "clang/Analysis/Analyses/ThreadSafety.h"
#include "clang/AST/Attr.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclGroup.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/OperationKinds.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/StmtVisitor.h"
#include "clang/AST/Type.h"
#include "clang/Analysis/Analyses/PostOrderCFGView.h"
#include "clang/Analysis/Analyses/ThreadSafetyCommon.h"
#include "clang/Analysis/Analyses/ThreadSafetyTIL.h"
#include "clang/Analysis/Analyses/ThreadSafetyTraverse.h"
#include "clang/Analysis/Analyses/ThreadSafetyUtil.h"
#include "clang/Analysis/AnalysisDeclContext.h"
#include "clang/Analysis/CFG.h"
#include "clang/Basic/Builtins.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/OperatorKinds.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/Specifiers.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/ImmutableMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <functional>
#include <iterator>
#include <memory>
#include <optional>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
Go to the source code of this file.
Classes | |
class | clang::threadSafety::BeforeSet |
Namespaces | |
namespace | clang |
namespace | clang::threadSafety |
Functions | |
static void | warnInvalidLock (ThreadSafetyHandler &Handler, const Expr *MutexExp, const NamedDecl *D, const Expr *DeclExp, StringRef Kind) |
Issue a warning about an invalid lock expression. | |
static void | findBlockLocations (CFG *CFGraph, const PostOrderCFGView *SortedGraph, std::vector< CFGBlockInfo > &BlockInfo) |
Find the appropriate source locations to use when producing diagnostics for each block in the CFG. | |
static const ValueDecl * | getValueDecl (const Expr *Exp) |
Gets the value decl pointer from DeclRefExprs or MemberExprs. | |
static bool | getStaticBooleanValue (Expr *E, bool &TCond) |
static const Expr * | UnpackConstruction (const Expr *E) |
static bool | neverReturns (const CFGBlock *B) |
|
static |
Find the appropriate source locations to use when producing diagnostics for each block in the CFG.
Definition at line 809 of file ThreadSafety.cpp.
References clang::CFG::getExit().
Definition at line 1369 of file ThreadSafety.cpp.
References getStaticBooleanValue().
Referenced by getStaticBooleanValue().
Gets the value decl pointer from DeclRefExprs or MemberExprs.
Definition at line 1184 of file ThreadSafety.cpp.
References getValueDecl().
Referenced by getValueDecl().
Definition at line 2212 of file ThreadSafety.cpp.
References clang::CFGBlock::back(), clang::CFGBlock::empty(), clang::CFGBlock::hasNoReturnElement(), and clang::Last.
Definition at line 2084 of file ThreadSafety.cpp.
References clang::CastExpr::getCastKind(), clang::CastExpr::getSubExpr(), and clang::Expr::IgnoreParens().
|
static |
Issue a warning about an invalid lock expression.
Definition at line 68 of file ThreadSafety.cpp.
References clang::Expr::getExprLoc(), clang::threadSafety::ThreadSafetyHandler::handleInvalidLockExp(), and clang::SourceLocation::isValid().