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); }
|
DIArray getTypeArray() const { return getFieldAs<DIArray>(10); }
|
||||||
unsigned getRunTimeLang() const { return getUnsignedField(11); }
|
unsigned getRunTimeLang() const { return getUnsignedField(11); }
|
||||||
|
DICompositeType getContainingType() const {
|
||||||
|
return getFieldAs<DICompositeType>(12);
|
||||||
|
}
|
||||||
|
|
||||||
/// Verify - Verify that a composite type descriptor is well formed.
|
/// Verify - Verify that a composite type descriptor is well formed.
|
||||||
bool Verify() const;
|
bool Verify() const;
|
||||||
@ -567,7 +570,8 @@ namespace llvm {
|
|||||||
uint64_t OffsetInBits, unsigned Flags,
|
uint64_t OffsetInBits, unsigned Flags,
|
||||||
DIType DerivedFrom,
|
DIType DerivedFrom,
|
||||||
DIArray Elements,
|
DIArray Elements,
|
||||||
unsigned RunTimeLang = 0);
|
unsigned RunTimeLang = 0,
|
||||||
|
MDNode *ContainingType = 0);
|
||||||
|
|
||||||
/// CreateCompositeType - Create a composite type like array, struct, etc.
|
/// CreateCompositeType - Create a composite type like array, struct, etc.
|
||||||
DICompositeType CreateCompositeTypeEx(unsigned Tag, DIDescriptor Context,
|
DICompositeType CreateCompositeTypeEx(unsigned Tag, DIDescriptor Context,
|
||||||
|
@ -794,7 +794,8 @@ DICompositeType DIFactory::CreateCompositeType(unsigned Tag,
|
|||||||
unsigned Flags,
|
unsigned Flags,
|
||||||
DIType DerivedFrom,
|
DIType DerivedFrom,
|
||||||
DIArray Elements,
|
DIArray Elements,
|
||||||
unsigned RuntimeLang) {
|
unsigned RuntimeLang,
|
||||||
|
MDNode *ContainingType) {
|
||||||
|
|
||||||
Value *Elts[] = {
|
Value *Elts[] = {
|
||||||
GetTagConstant(Tag),
|
GetTagConstant(Tag),
|
||||||
@ -808,9 +809,10 @@ DICompositeType DIFactory::CreateCompositeType(unsigned Tag,
|
|||||||
ConstantInt::get(Type::getInt32Ty(VMContext), Flags),
|
ConstantInt::get(Type::getInt32Ty(VMContext), Flags),
|
||||||
DerivedFrom.getNode(),
|
DerivedFrom.getNode(),
|
||||||
Elements.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