diff --git a/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/lib/CodeGen/AsmPrinter/DwarfUnit.cpp index 97f251086ae..82e9bb008a0 100644 --- a/lib/CodeGen/AsmPrinter/DwarfUnit.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfUnit.cpp @@ -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); } diff --git a/test/DebugInfo/X86/empty-array.ll b/test/DebugInfo/X86/empty-array.ll index 461b9da3add..3fab313fe0e 100644 --- a/test/DebugInfo/X86/empty-array.ll +++ b/test/DebugInfo/X86/empty-array.ll @@ -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} diff --git a/test/DebugInfo/X86/nondefault-subrange-array.ll b/test/DebugInfo/X86/nondefault-subrange-array.ll index b097578a6e2..4df1bd4847d 100644 --- a/test/DebugInfo/X86/nondefault-subrange-array.ll +++ b/test/DebugInfo/X86/nondefault-subrange-array.ll @@ -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}