mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
Add extra element to composite type. This new element will be used to record c++ class that holds current class's vtable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94586 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cee63322ea
commit
0fd7f9d7ff
@ -298,6 +298,9 @@ namespace llvm {
|
||||
|
||||
DIArray getTypeArray() const { return getFieldAs<DIArray>(10); }
|
||||
unsigned getRunTimeLang() const { return getUnsignedField(11); }
|
||||
DICompositeType getContainingType() const {
|
||||
return getFieldAs<DICompositeType>(12);
|
||||
}
|
||||
|
||||
/// Verify - Verify that a composite type descriptor is well formed.
|
||||
bool Verify() const;
|
||||
@ -567,7 +570,8 @@ namespace llvm {
|
||||
uint64_t OffsetInBits, unsigned Flags,
|
||||
DIType DerivedFrom,
|
||||
DIArray Elements,
|
||||
unsigned RunTimeLang = 0);
|
||||
unsigned RunTimeLang = 0,
|
||||
MDNode *ContainingType = 0);
|
||||
|
||||
/// CreateCompositeType - Create a composite type like array, struct, etc.
|
||||
DICompositeType CreateCompositeTypeEx(unsigned Tag, DIDescriptor Context,
|
||||
|
@ -794,7 +794,8 @@ DICompositeType DIFactory::CreateCompositeType(unsigned Tag,
|
||||
unsigned Flags,
|
||||
DIType DerivedFrom,
|
||||
DIArray Elements,
|
||||
unsigned RuntimeLang) {
|
||||
unsigned RuntimeLang,
|
||||
MDNode *ContainingType) {
|
||||
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(Tag),
|
||||
@ -808,9 +809,10 @@ DICompositeType DIFactory::CreateCompositeType(unsigned Tag,
|
||||
ConstantInt::get(Type::getInt32Ty(VMContext), Flags),
|
||||
DerivedFrom.getNode(),
|
||||
Elements.getNode(),
|
||||
ConstantInt::get(Type::getInt32Ty(VMContext), RuntimeLang)
|
||||
ConstantInt::get(Type::getInt32Ty(VMContext), RuntimeLang),
|
||||
ContainingType
|
||||
};
|
||||
return DICompositeType(MDNode::get(VMContext, &Elts[0], 12));
|
||||
return DICompositeType(MDNode::get(VMContext, &Elts[0], 13));
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user