clang 20.0.0git
Classes | Namespaces | Enumerations | Functions
ThreadSafety.h File Reference
#include "clang/Basic/SourceLocation.h"
#include "llvm/ADT/StringRef.h"

Go to the source code of this file.

Classes

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

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  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 , clang::threadSafety::POK_ReturnByRef , clang::threadSafety::POK_PtReturnByRef
}
 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.
 
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.