clang 22.0.0git
ThreadSafetyCommon.cpp File Reference
#include "clang/Analysis/Analyses/ThreadSafetyCommon.h"
#include "clang/AST/Attr.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclGroup.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/OperationKinds.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/Type.h"
#include "clang/Analysis/Analyses/ThreadSafetyTIL.h"
#include "clang/Analysis/CFG.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/OperatorKinds.h"
#include "clang/Basic/Specifiers.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include <algorithm>
#include <cassert>
#include <string>
#include <utility>

Go to the source code of this file.

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
namespace  clang::threadSafety

Typedefs

using CallingContext = SExprBuilder::CallingContext

Functions

static bool isIncompletePhi (const til::SExpr *E)
static std::pair< StringRef, boolclassifyCapability (const TypeDecl &TD)
static std::pair< StringRef, boolclassifyCapability (QualType QT)
static bool isCalleeArrow (const Expr *E)
static const ValueDeclgetValueDeclFromSExpr (const til::SExpr *E)
static bool hasAnyPointerType (const til::SExpr *E)
static const CXXMethodDeclgetFirstVirtualDecl (const CXXMethodDecl *D)
static void maybeUpdateVD (til::SExpr *E, const ValueDecl *VD)
void clang::threadSafety::printSCFG (CFGWalker &Walker)

Variables

static constexpr std::pair< StringRef, boolClassifyCapabilityFallback

Typedef Documentation

◆ CallingContext

Function Documentation

◆ classifyCapability() [1/2]

std::pair< StringRef, bool > classifyCapability ( const TypeDecl & TD)
static

◆ classifyCapability() [2/2]

◆ getFirstVirtualDecl()

const CXXMethodDecl * getFirstVirtualDecl ( const CXXMethodDecl * D)
static

◆ getValueDeclFromSExpr()

const ValueDecl * getValueDeclFromSExpr ( const til::SExpr * E)
static

Definition at line 406 of file ThreadSafetyCommon.cpp.

References V.

Referenced by hasAnyPointerType().

◆ hasAnyPointerType()

bool hasAnyPointerType ( const til::SExpr * E)
static

◆ isCalleeArrow()

bool isCalleeArrow ( const Expr * E)
static

◆ isIncompletePhi()

bool isIncompletePhi ( const til::SExpr * E)
static

◆ maybeUpdateVD()

void maybeUpdateVD ( til::SExpr * E,
const ValueDecl * VD )
static

Definition at line 763 of file ThreadSafetyCommon.cpp.

References V.

Variable Documentation

◆ ClassifyCapabilityFallback

std::pair<StringRef, bool> ClassifyCapabilityFallback
staticconstexpr
Initial value:
{
StringRef("mutex"),
false}

Definition at line 70 of file ThreadSafetyCommon.cpp.

Referenced by classifyCapability(), and classifyCapability().