[llvm] r320727 - [MC] Allow .file directives to be out-of-order
Paul Robinson via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 14 10:46:44 PST 2017
Author: probinson
Date: Thu Dec 14 10:46:43 2017
New Revision: 320727
URL: http://llvm.org/viewvc/llvm-project?rev=320727&view=rev
Log:
[MC] Allow .file directives to be out-of-order
Modified:
llvm/trunk/lib/MC/MCDwarf.cpp
llvm/trunk/test/MC/MachO/loc.s
Modified: llvm/trunk/lib/MC/MCDwarf.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCDwarf.cpp?rev=320727&r1=320726&r2=320727&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCDwarf.cpp (original)
+++ llvm/trunk/lib/MC/MCDwarf.cpp Thu Dec 14 10:46:43 2017
@@ -435,7 +435,8 @@ unsigned MCDwarfLineTableHeader::getFile
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];
Modified: llvm/trunk/test/MC/MachO/loc.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/MachO/loc.s?rev=320727&r1=320726&r2=320727&view=diff
==============================================================================
--- llvm/trunk/test/MC/MachO/loc.s (original)
+++ llvm/trunk/test/MC/MachO/loc.s Thu Dec 14 10:46:43 2017
@@ -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: ]
More information about the llvm-commits
mailing list