clang 20.0.0git
Classes | Namespaces | Macros | Functions
MemRegion.h File Reference
#include "clang/AST/ASTContext.h"
#include "clang/AST/CharUnits.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/Type.h"
#include "clang/Analysis/AnalysisDeclContext.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SVals.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
#include <cstdint>
#include <limits>
#include <optional>
#include <string>
#include <utility>
#include "clang/StaticAnalyzer/Core/PathSensitive/Regions.def"

Go to the source code of this file.

Classes

class  clang::ento::RegionOffset
 Represent a region's offset within the top level base region. More...
 
class  clang::ento::MemRegion
 MemRegion - The root abstract class for all memory regions. More...
 
class  clang::ento::MemSpaceRegion
 MemSpaceRegion - A memory region that represents a "memory space"; for example, the set of global variables, the stack frame, etc. More...
 
class  clang::ento::CodeSpaceRegion
 CodeSpaceRegion - The memory space that holds the executable code of functions and blocks. More...
 
class  clang::ento::GlobalsSpaceRegion
 
class  clang::ento::StaticGlobalSpaceRegion
 The region of the static variables within the current CodeTextRegion scope. More...
 
class  clang::ento::NonStaticGlobalSpaceRegion
 The region for all the non-static global variables. More...
 
class  clang::ento::GlobalSystemSpaceRegion
 The region containing globals which are defined in system/external headers and are considered modifiable by system calls (ex: errno). More...
 
class  clang::ento::GlobalImmutableSpaceRegion
 The region containing globals which are considered not to be modified or point to data which could be modified as a result of a function call (system or internal). More...
 
class  clang::ento::GlobalInternalSpaceRegion
 The region containing globals which can be modified by calls to "internally" defined functions - (for now just) functions other then system calls. More...
 
class  clang::ento::HeapSpaceRegion
 
class  clang::ento::UnknownSpaceRegion
 
class  clang::ento::StackSpaceRegion
 
class  clang::ento::StackLocalsSpaceRegion
 
class  clang::ento::StackArgumentsSpaceRegion
 
class  clang::ento::SubRegion
 SubRegion - A region that subsets another larger region. More...
 
class  clang::ento::AllocaRegion
 AllocaRegion - A region that represents an untyped blob of bytes created by a call to 'alloca'. More...
 
class  clang::ento::TypedRegion
 TypedRegion - An abstract class representing regions that are typed. More...
 
class  clang::ento::TypedValueRegion
 TypedValueRegion - An abstract class representing regions having a typed value. More...
 
class  clang::ento::CodeTextRegion
 
class  clang::ento::FunctionCodeRegion
 FunctionCodeRegion - A region that represents code texts of function. More...
 
class  clang::ento::BlockCodeRegion
 BlockCodeRegion - A region that represents code texts of blocks (closures). More...
 
class  clang::ento::BlockDataRegion
 BlockDataRegion - A region that represents a block instance. More...
 
class  clang::ento::BlockDataRegion::referenced_vars_iterator
 
class  clang::ento::SymbolicRegion
 SymbolicRegion - A special, "non-concrete" region. More...
 
class  clang::ento::StringRegion
 StringRegion - Region associated with a StringLiteral. More...
 
class  clang::ento::ObjCStringRegion
 The region associated with an ObjCStringLiteral. More...
 
class  clang::ento::CompoundLiteralRegion
 CompoundLiteralRegion - A memory region representing a compound literal. More...
 
class  clang::ento::DeclRegion
 
class  clang::ento::VarRegion
 
class  clang::ento::NonParamVarRegion
 
class  clang::ento::ParamVarRegion
 ParamVarRegion - Represents a region for paremters. More...
 
class  clang::ento::CXXThisRegion
 CXXThisRegion - Represents the region for the implicit 'this' parameter in a call to a C++ method. More...
 
class  clang::ento::FieldRegion
 
class  clang::ento::ObjCIvarRegion
 
class  clang::ento::RegionRawOffset
 
class  clang::ento::ElementRegion
 ElementRegion is used to represent both array elements and casts. More...
 
class  clang::ento::CXXTempObjectRegion
 
class  clang::ento::CXXLifetimeExtendedObjectRegion
 
class  clang::ento::CXXBaseObjectRegion
 
class  clang::ento::CXXDerivedObjectRegion
 
class  clang::ento::MemRegionManager
 
class  clang::ento::RegionAndSymbolInvalidationTraits
 Information about invalidation for a particular region/symbol. More...
 

Namespaces

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

Macros

#define REGION(Id, Parent)   Id ## Kind,
 
#define REGION_RANGE(Id, First, Last)   BEGIN_##Id = First, END_##Id = Last,
 

Functions

raw_ostream & clang::ento::operator<< (raw_ostream &os, const MemRegion *R)
 

Macro Definition Documentation

◆ REGION

#define REGION (   Id,
  Parent 
)    Id ## Kind,

Definition at line 100 of file MemRegion.h.

◆ REGION_RANGE

#define REGION_RANGE (   Id,
  First,
  Last 
)    BEGIN_##Id = First, END_##Id = Last,

Definition at line 101 of file MemRegion.h.