clang
6.0.0
|
#include "clang/Analysis/Analyses/ThreadSafety.h"
#include "clang/AST/Attr.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/StmtVisitor.h"
#include "clang/Analysis/Analyses/PostOrderCFGView.h"
#include "clang/Analysis/Analyses/ThreadSafetyCommon.h"
#include "clang/Analysis/Analyses/ThreadSafetyLogical.h"
#include "clang/Analysis/Analyses/ThreadSafetyTIL.h"
#include "clang/Analysis/Analyses/ThreadSafetyTraverse.h"
#include "clang/Analysis/AnalysisDeclContext.h"
#include "clang/Analysis/CFG.h"
#include "clang/Analysis/CFGStmtMap.h"
#include "clang/Basic/OperatorKinds.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.h"
#include "llvm/ADT/ImmutableMap.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <ostream>
#include <sstream>
#include <utility>
#include <vector>
Go to the source code of this file.
Classes | |
class | clang::threadSafety::BeforeSet |
Namespaces | |
clang | |
Dataflow Directional Tag Classes. | |
clang::threadSafety | |
Enumerations | |
enum | CFGBlockSide |
A side (entry or exit) of a CFG node. More... | |
Functions | |
static const ValueDecl * | getValueDecl (const Expr *Exp) |
Gets the value decl pointer from DeclRefExprs or MemberExprs. More... | |
static StringRef | ClassifyDiagnostic (const CapabilityAttr *A) |
static StringRef | ClassifyDiagnostic (QualType VDT) |
static StringRef | ClassifyDiagnostic (const ValueDecl *VD) |
template<typename AttrTy > | |
static std::enable_if<!has_arg_iterator_range< AttrTy >::value, StringRef >::type | ClassifyDiagnostic (const AttrTy *A) |
template<typename AttrTy > | |
static std::enable_if< has_arg_iterator_range< AttrTy >::value, StringRef >::type | ClassifyDiagnostic (const AttrTy *A) |
static bool | getStaticBooleanValue (Expr *E, bool &TCond) |
static bool | neverReturns (const CFGBlock *B) |
enum CFGBlockSide |
A side (entry or exit) of a CFG node.
Definition at line 296 of file ThreadSafety.cpp.
|
static |
Definition at line 1117 of file ThreadSafety.cpp.
Referenced by ClassifyDiagnostic().
|
static |
Definition at line 1121 of file ThreadSafety.cpp.
References ClassifyDiagnostic(), clang::Type::getAs(), clang::Type::getPointeeType(), clang::Type::isPointerType(), and clang::Type::isReferenceType().
|
static |
Definition at line 1139 of file ThreadSafety.cpp.
References ClassifyDiagnostic(), and clang::ValueDecl::getType().
|
static |
Definition at line 1149 of file ThreadSafety.cpp.
References ClassifyDiagnostic(), and getValueDecl().
|
static |
Definition at line 1158 of file ThreadSafety.cpp.
References ClassifyDiagnostic(), getValueDecl(), clang::threadSafety::CapabilityExpr::isInvalid(), clang::threadSafety::LK_Generic, P, clang::threadSafety::CapabilityExpr::sexpr(), clang::threadSafety::CapabilityExpr::shouldIgnore(), clang::CFGBlock::succ_begin(), clang::CFGBlock::succ_end(), and clang::threadSafety::CapabilityExpr::toString().
Definition at line 1306 of file ThreadSafety.cpp.
Gets the value decl pointer from DeclRefExprs or MemberExprs.
Definition at line 1087 of file ThreadSafety.cpp.
Referenced by ClassifyDiagnostic().
Definition at line 2081 of file ThreadSafety.cpp.
References clang::CFGBlock::back(), clang::CFGBlock::empty(), clang::CFGElement::getAs(), clang::threadSafety::CFGWalker::getDecl(), clang::threadSafety::CFGWalker::getGraph(), clang::CFGBlock::hasNoReturnElement(), clang::threadSafety::CFGWalker::init(), and clang::Last.