mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-24 19:44:49 +00:00
DebugInfo: Use a 64 bit type for the subrange
While we were encoding 64 bit values (data8) in the subrange itself, using a 32 bit type for the subrange was still confusing the gdb. Oh, and make it unsigned too. As the comment points out, this could be pushed into the frontend so that it would be 32 or 64 bit as appropriate, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205512 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5a64ab6e03
commit
1233d41ff4
@ -1766,12 +1766,12 @@ void DwarfUnit::constructArrayTypeDIE(DIE &Buffer, DICompositeType CTy) {
|
||||
// as different languages may have different sizes for indexes.
|
||||
DIE *IdxTy = getIndexTyDie();
|
||||
if (!IdxTy) {
|
||||
// Construct an anonymous type for index type.
|
||||
// Construct an integer type to use for indexes.
|
||||
IdxTy = createAndAddDIE(dwarf::DW_TAG_base_type, *UnitDie);
|
||||
addString(IdxTy, dwarf::DW_AT_name, "int");
|
||||
addUInt(IdxTy, dwarf::DW_AT_byte_size, None, sizeof(int32_t));
|
||||
addString(IdxTy, dwarf::DW_AT_name, "sizetype");
|
||||
addUInt(IdxTy, dwarf::DW_AT_byte_size, None, sizeof(int64_t));
|
||||
addUInt(IdxTy, dwarf::DW_AT_encoding, dwarf::DW_FORM_data1,
|
||||
dwarf::DW_ATE_signed);
|
||||
dwarf::DW_ATE_unsigned);
|
||||
setIndexTyDie(IdxTy);
|
||||
}
|
||||
|
||||
|
@ -21,8 +21,8 @@
|
||||
; CHECK: [[BASETYPE]]: DW_TAG_base_type
|
||||
; CHECK: [[BASE2]]: DW_TAG_base_type
|
||||
; CHECK-NEXT: DW_AT_name
|
||||
; CHECK-NEXT: DW_AT_byte_size [DW_FORM_data1] (0x04)
|
||||
; CHECK-NEXT: DW_AT_encoding [DW_FORM_data1] (0x05)
|
||||
; CHECK-NEXT: DW_AT_byte_size [DW_FORM_data1] (0x08)
|
||||
; CHECK-NEXT: DW_AT_encoding [DW_FORM_data1] (0x07)
|
||||
|
||||
!llvm.dbg.cu = !{!0}
|
||||
!llvm.module.flags = !{!21}
|
||||
|
@ -23,9 +23,9 @@
|
||||
|
||||
; CHECK: [[BASE]]: DW_TAG_base_type
|
||||
; CHECK: [[BASE2]]: DW_TAG_base_type
|
||||
; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "int")
|
||||
; CHECK-NEXT: DW_AT_byte_size [DW_FORM_data1] (0x04)
|
||||
; CHECK-NEXT: DW_AT_encoding [DW_FORM_data1] (0x05)
|
||||
; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "sizetype")
|
||||
; CHECK-NEXT: DW_AT_byte_size [DW_FORM_data1] (0x08)
|
||||
; CHECK-NEXT: DW_AT_encoding [DW_FORM_data1] (0x07)
|
||||
|
||||
!llvm.dbg.cu = !{!0}
|
||||
!llvm.module.flags = !{!21}
|
||||
|
Loading…
x
Reference in New Issue
Block a user