clang: include/clang/Basic/Thunk.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#ifndef LLVM_CLANG_BASIC_THUNK_H
16#define LLVM_CLANG_BASIC_THUNK_H
17
18#include
19#include
20
22
23class CXXMethodDecl;
25
26
28
29
31
32
33
35
36 struct {
37
38
41
42
43 struct {
44
45
47
48
51
53
55 return memcmp(this, &Other, sizeof(Other)) == 0;
56 }
57
61 }
62
64 return memcmp(this, &RHS, sizeof(RHS)) < 0;
65 }
67
69
71
75 }
76
79 return !(LHS == RHS);
80 }
81
85 return true;
86
88 }
89};
90
91
93
94
96
97
98
100
101 struct {
102
103
106
107 struct {
108
110
111
112
114
115
118
120
122 return memcmp(this, &Other, sizeof(Other)) == 0;
123 }
124
128 }
129
131 return memcmp(this, &RHS, sizeof(RHS)) < 0;
132 }
134
136
138
141 }
142
144 return !(LHS == RHS);
145 }
146
149 return true;
150
152 }
153};
154
155
156
158
160
161
163
164
165
166
167
168
169
170
171
174
176
180
184 }
185
188 }
189};
190
191}
192
193#endif
__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.
struct clang::ReturnAdjustment::VirtualAdjustment::@193 Microsoft
bool Less(const VirtualAdjustment &RHS) const
uint32_t VBPtrOffset
The offset (in bytes) of the vbptr, relative to the beginning of the derived class.
struct clang::ReturnAdjustment::VirtualAdjustment::@192 Itanium
bool Equals(const VirtualAdjustment &Other) const
int64_t VBaseOffsetOffset
The offset (in bytes), relative to the address point of the virtual base class offset.
uint32_t VBIndex
Index of the virtual base in the vbtable.
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.
bool Less(const VirtualAdjustment &RHS) const
int32_t VBOffsetOffset
The offset (in bytes) of the vbase offset in the vbtable.
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...
struct clang::ThisAdjustment::VirtualAdjustment::@195 Microsoft
struct clang::ThisAdjustment::VirtualAdjustment::@194 Itanium