mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-22 10:24:26 +00:00
PR14759: Debug info support for C++ member pointers.
This works fine with GDB for member variable pointers, but GDB's support for member function pointers seems to be quite unrelated to DW_TAG_ptr_to_member_type. (see GDB bug 14998 for details) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171698 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -229,6 +229,24 @@ DIType DIBuilder::createPointerType(DIType PointeeTy, uint64_t SizeInBits,
|
||||
return DIType(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
DIType DIBuilder::createMemberPointerType(DIType PointeeTy, DIType Base) {
|
||||
// Pointer types are encoded in DIDerivedType format.
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(VMContext, dwarf::DW_TAG_ptr_to_member_type),
|
||||
NULL, //TheCU,
|
||||
NULL,
|
||||
NULL, // Filename
|
||||
ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Line
|
||||
ConstantInt::get(Type::getInt64Ty(VMContext), 0),
|
||||
ConstantInt::get(Type::getInt64Ty(VMContext), 0),
|
||||
ConstantInt::get(Type::getInt64Ty(VMContext), 0), // Offset
|
||||
ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Flags
|
||||
PointeeTy,
|
||||
Base
|
||||
};
|
||||
return DIType(MDNode::get(VMContext, Elts));
|
||||
}
|
||||
|
||||
/// createReferenceType - Create debugging information entry for a reference
|
||||
/// type.
|
||||
DIType DIBuilder::createReferenceType(unsigned Tag, DIType RTy) {
|
||||
|
Reference in New Issue
Block a user