clang 20.0.0git
Classes | Namespaces | Typedefs | Enumerations
Descriptor.h File Reference
#include "PrimType.h"
#include "clang/AST/Decl.h"
#include "clang/AST/Expr.h"

Go to the source code of this file.

Classes

struct  clang::interp::GlobalInlineDescriptor
 Descriptor used for global variables. More...
 
struct  clang::interp::InlineDescriptor
 Inline descriptor embedded in structures and arrays. More...
 
struct  clang::interp::Descriptor
 Describes a memory block created by an allocation site. More...
 
struct  clang::interp::Descriptor::UnknownSize
 Token to denote structures of unknown size. More...
 
struct  clang::interp::InitMap
 Bitfield tracking the initialisation status of elements of primitive arrays. More...
 

Namespaces

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

Typedefs

using clang::interp::DeclTy = llvm::PointerUnion< const Decl *, const Expr * >
 
using clang::interp::InitMapPtr = std::optional< std::pair< bool, std::shared_ptr< InitMap > > >
 
using clang::interp::BlockCtorFn = void(*)(Block *Storage, std::byte *FieldPtr, bool IsConst, bool IsMutable, bool IsActive, bool InUnion, const Descriptor *FieldDesc)
 Invoked whenever a block is created.
 
using clang::interp::BlockDtorFn = void(*)(Block *Storage, std::byte *FieldPtr, const Descriptor *FieldDesc)
 Invoked when a block is destroyed.
 
using clang::interp::BlockMoveFn = void(*)(Block *Storage, const std::byte *SrcFieldPtr, std::byte *DstFieldPtr, const Descriptor *FieldDesc)
 Invoked when a block with pointers referencing it goes out of scope.
 

Enumerations

enum class  clang::interp::GlobalInitState { clang::interp::Initialized , clang::interp::NoInitializer , clang::interp::InitializerFailed }