15#ifndef LLVM_CLANG_BASIC_THUNK_H
16#define LLVM_CLANG_BASIC_THUNK_H
55 return memcmp(
this, &
Other,
sizeof(
Other)) == 0;
64 return memcmp(
this, &RHS,
sizeof(RHS)) < 0;
122 return memcmp(
this, &
Other,
sizeof(
Other)) == 0;
131 return memcmp(
this, &RHS,
sizeof(RHS)) < 0;
144 return !(LHS == RHS);
__DEVICE__ void * memset(void *__a, int __b, size_t __c)
Represents a static or instance method of a struct/union/class.
The base class of the type hierarchy.
The JSON file list parser is used to communicate input to InstallAPI.
@ Other
Other implicit parameter.
friend bool operator==(const ReturnAdjustment &LHS, const ReturnAdjustment &RHS)
friend bool operator!=(const ReturnAdjustment &LHS, const ReturnAdjustment &RHS)
union clang::ReturnAdjustment::VirtualAdjustment Virtual
int64_t NonVirtual
The non-virtual adjustment from the derived object to its nearest virtual base.
friend bool operator<(const ReturnAdjustment &LHS, const ReturnAdjustment &RHS)
ReturnAdjustment()=default
A this pointer adjustment.
friend bool operator<(const ThisAdjustment &LHS, const ThisAdjustment &RHS)
friend bool operator==(const ThisAdjustment &LHS, const ThisAdjustment &RHS)
union clang::ThisAdjustment::VirtualAdjustment Virtual
friend bool operator!=(const ThisAdjustment &LHS, const ThisAdjustment &RHS)
int64_t NonVirtual
The non-virtual adjustment from the derived object to its nearest virtual base.
The this pointer adjustment as well as an optional return adjustment for a thunk.
ThisAdjustment This
The this pointer adjustment.
const CXXMethodDecl * Method
Holds a pointer to the overridden method this thunk is for, if needed by the ABI to distinguish diffe...
ReturnAdjustment Return
The return adjustment.
friend bool operator==(const ThunkInfo &LHS, const ThunkInfo &RHS)
ThunkInfo(const ThisAdjustment &This, const ReturnAdjustment &Return, const Type *ThisT, const CXXMethodDecl *Method=nullptr)
Holds the ABI-specific information about the virtual return adjustment, if needed.
bool Less(const VirtualAdjustment &RHS) const
uint32_t VBPtrOffset
The offset (in bytes) of the vbptr, relative to the beginning of the derived class.
bool Equals(const VirtualAdjustment &Other) const
int64_t VBaseOffsetOffset
The offset (in bytes), relative to the address point of the virtual base class offset.
struct clang::ReturnAdjustment::VirtualAdjustment::@189 Itanium
uint32_t VBIndex
Index of the virtual base in the vbtable.
struct clang::ReturnAdjustment::VirtualAdjustment::@190 Microsoft
Holds the ABI-specific information about the virtual this adjustment, if needed.
bool Equals(const VirtualAdjustment &Other) const
int32_t VtordispOffset
The offset of the vtordisp (in bytes), relative to the ECX.
struct clang::ThisAdjustment::VirtualAdjustment::@192 Microsoft
bool Less(const VirtualAdjustment &RHS) const
int32_t VBOffsetOffset
The offset (in bytes) of the vbase offset in the vbtable.
struct clang::ThisAdjustment::VirtualAdjustment::@191 Itanium
int64_t VCallOffsetOffset
The offset (in bytes), relative to the address point, of the virtual call offset.
int32_t VBPtrOffset
The offset of the vbptr of the derived class (in bytes), relative to the ECX after vtordisp adjustmen...