clang  3.9.0
Classes | Namespaces | Enumerations | Functions
ThreadSafety.cpp File Reference
#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/ThreadSafety.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/AnalysisContext.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/BitVector.h"
#include "llvm/ADT/FoldingSet.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>
Include dependency graph for ThreadSafety.cpp:

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 ValueDeclgetValueDecl (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)
 

Enumeration Type Documentation

A side (entry or exit) of a CFG node.

Definition at line 298 of file ThreadSafety.cpp.

Function Documentation

static StringRef ClassifyDiagnostic ( const CapabilityAttr *  A)
static

Definition at line 1119 of file ThreadSafety.cpp.

Referenced by ClassifyDiagnostic().

static StringRef ClassifyDiagnostic ( QualType  VDT)
static
static StringRef ClassifyDiagnostic ( const ValueDecl VD)
static

Definition at line 1141 of file ThreadSafety.cpp.

References ClassifyDiagnostic(), and clang::ValueDecl::getType().

template<typename AttrTy >
static std::enable_if<!has_arg_iterator_range<AttrTy>::value, StringRef>::type ClassifyDiagnostic ( const AttrTy *  A)
static

Definition at line 1151 of file ThreadSafety.cpp.

References ClassifyDiagnostic(), and getValueDecl().

template<typename AttrTy >
static std::enable_if<has_arg_iterator_range<AttrTy>::value, StringRef>::type ClassifyDiagnostic ( const AttrTy *  A)
static

Definition at line 1160 of file ThreadSafety.cpp.

References ClassifyDiagnostic(), and getValueDecl().

static bool getStaticBooleanValue ( Expr E,
bool TCond 
)
static

Definition at line 1308 of file ThreadSafety.cpp.

static const ValueDecl* getValueDecl ( const Expr Exp)
static

Gets the value decl pointer from DeclRefExprs or MemberExprs.

Definition at line 1089 of file ThreadSafety.cpp.

Referenced by ClassifyDiagnostic().

static bool neverReturns ( const CFGBlock B)
static