mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
A typedef's context is not the same as type's context. It is the context of typedef decl itself. Use extra parameter to communicate this to DIBuilder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132556 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6a0c04dff2
commit
da174c1d3b
@ -117,8 +117,9 @@ namespace llvm {
|
||||
/// @param Name Typedef name.
|
||||
/// @param File File where this type is defined.
|
||||
/// @param LineNo Line number.
|
||||
/// @param Context The surrounding context for the typedef.
|
||||
DIType createTypedef(DIType Ty, StringRef Name, DIFile File,
|
||||
unsigned LineNo);
|
||||
unsigned LineNo, DIDescriptor Context);
|
||||
|
||||
/// createFriend - Create debugging information entry for a 'friend'.
|
||||
DIType createFriend(DIType Ty, DIType FriendTy);
|
||||
|
@ -160,12 +160,12 @@ DIType DIBuilder::createReferenceType(DIType RTy) {
|
||||
|
||||
/// createTypedef - Create debugging information entry for a typedef.
|
||||
DIType DIBuilder::createTypedef(DIType Ty, StringRef Name, DIFile File,
|
||||
unsigned LineNo) {
|
||||
unsigned LineNo, DIDescriptor Context) {
|
||||
// typedefs are encoded in DIDerivedType format.
|
||||
assert(Ty.Verify() && "Invalid typedef type!");
|
||||
Value *Elts[] = {
|
||||
GetTagConstant(VMContext, dwarf::DW_TAG_typedef),
|
||||
Ty.getContext(),
|
||||
Context,
|
||||
MDString::get(VMContext, Name),
|
||||
File,
|
||||
ConstantInt::get(Type::getInt32Ty(VMContext), LineNo),
|
||||
|
Loading…
Reference in New Issue
Block a user