1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

[MC] Allow .file directives to be out-of-order

llvm-svn: 320727
This commit is contained in:
Paul Robinson 2017-12-14 18:46:43 +00:00
parent 2ca42e294c
commit ab6984b108
2 changed files with 12 additions and 11 deletions

View File

@ -435,7 +435,8 @@ unsigned MCDwarfLineTableHeader::getFile(StringRef &Directory,
return IterBool.first->second;
}
// Make space for this FileNumber in the MCDwarfFiles vector if needed.
MCDwarfFiles.resize(FileNumber + 1);
if (FileNumber >= MCDwarfFiles.size())
MCDwarfFiles.resize(FileNumber + 1);
// Get the new MCDwarfFile slot for this FileNumber.
MCDwarfFile &File = MCDwarfFiles[FileNumber];

View File

@ -1,7 +1,7 @@
// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -r -s -sd | FileCheck %s
.file 1 "foo"
.loc 1 64 0
.file 2 "foo"
.file 1 "bar"
.loc 2 64 0
nop
// CHECK: Section {
@ -9,10 +9,10 @@
// CHECK: Name: __debug_line (5F 5F 64 65 62 75 67 5F 6C 69 6E 65 00 00 00 00)
// CHECK: Segment: __DWARF (5F 5F 44 57 41 52 46 00 00 00 00 00 00 00 00 00)
// CHECK: Address: 0x1
// CHECK: Size: 0x33
// CHECK: Size: 0x3C
// CHECK: Offset: 237
// CHECK: Alignment: 0
// CHECK: RelocationOffset: 0x120
// CHECK: RelocationOffset: 0x12C
// CHECK: RelocationCount: 1
// CHECK: Type: 0x0
// CHECK: Attributes [ (0x20000)
@ -21,15 +21,15 @@
// CHECK: Reserved1: 0x0
// CHECK: Reserved2: 0x0
// CHECK: SectionData (
// CHECK: 0000: 2F000000 02001A00 00000101 FB0E0D00 |/...............|
// CHECK: 0010: 01010101 00000001 00000100 666F6F00 |............foo.|
// CHECK: 0020: 00000000 00050200 00000003 3F010201 |............?...|
// CHECK: 0030: 000101 |...|
// CHECK: 0000: 38000000 02002100 00000101 FB0E0D00 |8.....!.........|
// CHECK: 0010: 01010101 00000001 00000100 62617200 |............bar.|
// CHECK: 0020: 00000066 6F6F0000 00000004 02000502 |...foo..........|
// CHECK: 0030: 00000000 033F0102 01000101 |.....?......|
// CHECK: )
// CHECK: }
// CHECK: ]
// CHECK: Relocations [
// CHECK: Section __debug_line {
// CHECK: 0x27 0 2 0 GENERIC_RELOC_VANILLA 0 __text
// CHECK: 0x30 0 2 0 GENERIC_RELOC_VANILLA 0 __text
// CHECK: }
// CHECK: ]