clang  6.0.0svn
Classes | Namespaces | Enumerations | Functions
ThreadSafety.h File Reference
#include "clang/Analysis/AnalysisDeclContext.h"
#include "clang/Basic/SourceLocation.h"
#include "llvm/ADT/StringRef.h"
Include dependency graph for ThreadSafety.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clang::threadSafety::ThreadSafetyHandler
 Handler class for thread safety warnings. More...
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 
 clang::threadSafety
 

Enumerations

enum  clang::threadSafety::ProtectedOperationKind {
  clang::threadSafety::POK_VarDereference, clang::threadSafety::POK_VarAccess, clang::threadSafety::POK_FunctionCall, clang::threadSafety::POK_PassByRef,
  clang::threadSafety::POK_PtPassByRef
}
 This enum distinguishes between different kinds of operations that may need to be protected by locks. More...
 
enum  clang::threadSafety::LockKind { clang::threadSafety::LK_Shared, clang::threadSafety::LK_Exclusive, clang::threadSafety::LK_Generic }
 This enum distinguishes between different kinds of lock actions. More...
 
enum  clang::threadSafety::AccessKind { clang::threadSafety::AK_Read, clang::threadSafety::AK_Written }
 This enum distinguishes between different ways to access (read or write) a variable. More...
 
enum  clang::threadSafety::LockErrorKind { clang::threadSafety::LEK_LockedSomeLoopIterations, clang::threadSafety::LEK_LockedSomePredecessors, clang::threadSafety::LEK_LockedAtEndOfFunction, clang::threadSafety::LEK_NotLockedAtEndOfFunction }
 

Functions

void clang::threadSafety::runThreadSafetyAnalysis (AnalysisDeclContext &AC, ThreadSafetyHandler &Handler, BeforeSet **Bset)
 Check a function's CFG for thread-safety violations. More...
 
void clang::threadSafety::threadSafetyCleanup (BeforeSet *Cache)
 
LockKind clang::threadSafety::getLockKindFromAccessKind (AccessKind AK)
 Helper function that returns a LockKind required for the given level of access. More...