LLVM: llvm::jitlink::CompactUnwindTraits< CRTPImpl, PtrSize > Struct Template Reference (original) (raw)

CRTP base for compact unwind traits classes. More...

#include "[ExecutionEngine/JITLink/CompactUnwindSupport.h](CompactUnwindSupport%5F8h%5Fsource.html)"

Static Public Attributes
static constexpr size_t PointerSize = PtrSize
static constexpr size_t Size = 3 * PointerSize + 2 * 4
static constexpr size_t FnFieldOffset = 0
static constexpr size_t SizeFieldOffset = FnFieldOffset + PointerSize
static constexpr size_t EncodingFieldOffset = SizeFieldOffset + 4
static constexpr size_t PersonalityFieldOffset = EncodingFieldOffset + 4
static constexpr size_t LSDAFieldOffset

template<typename CRTPImpl, size_t PtrSize>
struct llvm::jitlink::CompactUnwindTraits< CRTPImpl, PtrSize >

CRTP base for compact unwind traits classes.

Automatically provides derived constants.

FIXME: Passing PtrSize as a template parameter is a hack to work around a bug in older MSVC compilers (until at least MSVC 15) where constexpr fields in the CRTP impl class were not visible to the base class. Once we no longer need to support these compilers the PtrSize template argument should be removed and PointerSize should be defined as a member in the CRTP Impl classes.

Definition at line 41 of file CompactUnwindSupport.h.

encodeDWARFOffset()

template<typename CRTPImpl, size_t PtrSize>

readEncoding()

template<typename CRTPImpl, size_t PtrSize>

readPCRangeSize()

template<typename CRTPImpl, size_t PtrSize>

EncodingFieldOffset

template<typename CRTPImpl, size_t PtrSize>

FnFieldOffset

template<typename CRTPImpl, size_t PtrSize>

LSDAFieldOffset

template<typename CRTPImpl, size_t PtrSize>

Initial value:

=

static constexpr size_t PointerSize

static constexpr size_t PersonalityFieldOffset

Definition at line 48 of file CompactUnwindSupport.h.

PersonalityFieldOffset

template<typename CRTPImpl, size_t PtrSize>

PointerSize

template<typename CRTPImpl, size_t PtrSize>

Size

template<typename CRTPImpl, size_t PtrSize>

SizeFieldOffset

template<typename CRTPImpl, size_t PtrSize>


The documentation for this struct was generated from the following file: