; RUN: llc -filetype=obj -mtriple i686-pc-win32 %s -o - | coff-dump.py | FileCheck %s\r
; RUN: llc -filetype=obj -mtriple x86_64-pc-win32 %s -o %t\r
\r
-@.str = private constant [7 x i8] c"Hello \00" ; <[7 x i8]*> [#uses=1]\r
-@str = internal constant [7 x i8] c"World!\00" ; <[7 x i8]*> [#uses=1]\r
+@.str0 = private constant [7 x i8] c"Hello \00" ; <[7 x i8]*> [#uses=1]\r
+@.str1 = private constant [7 x i8] c"World!\00" ; <[7 x i8]*> [#uses=1]\r
+@.str2 = private constant [19 x i8] c"I'm The Last Line.\00"\r
\r
define i32 @main() nounwind {\r
entry:\r
- %call = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([7 x i8]* @.str, i32 0, i32 0)) nounwind ; <i32> [#uses=0]\r
- %puts = tail call i32 @puts(i8* getelementptr inbounds ([7 x i8]* @str, i32 0, i32 0)) ; <i32> [#uses=0]\r
+ %call = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([7 x i8]* @.str0, i32 0, i32 0)) nounwind ; <i32> [#uses=0]\r
+ %puts0 = tail call i32 @puts(i8* getelementptr inbounds ([7 x i8]* @.str1, i32 0, i32 0)) ; <i32> [#uses=0]\r
+ %puts1 = tail call i32 @puts(i8* getelementptr inbounds ([19 x i8]* @.str2, i32 0, i32 0)) ; <i32> [#uses=0]\r
ret i32 0\r
}\r
\r
; CHECK: NumberOfSections = 2\r
; CHECK: TimeDateStamp = {{[0-9]+}}\r
; CHECK: PointerToSymbolTable = 0x{{[0-9A-F]+}}\r
-; CHECK: NumberOfSymbols = 8\r
+; CHECK: NumberOfSymbols = 7\r
; CHECK: SizeOfOptionalHeader = 0\r
; CHECK: Characteristics = 0x0\r
; CHECK: Sections = [\r
; CHECK: PointerToRawData = 0x{{[0-9A-F]+}}\r
; CHECK: PointerToRelocations = 0x{{[0-9A-F]+}}\r
; CHECK: PointerToLineNumbers = 0x0\r
-; CHECK: NumberOfRelocations = 4\r
+; CHECK: NumberOfRelocations = 6\r
; CHECK: NumberOfLineNumbers = 0\r
; CHECK: Charateristics = 0x60500020\r
; CHECK: IMAGE_SCN_CNT_CODE\r
; CHECK: IMAGE_SCN_MEM_EXECUTE\r
; CHECK: IMAGE_SCN_MEM_READ\r
; CHECK: SectionData =\r
+; CHECK: 83 EC 04 C7 04 24 00 00 - 00 00 E8 00 00 00 00 C7 |.....$..........|\r
+; CHECK: 04 24 07 00 00 00 E8 00 - 00 00 00 C7 04 24 10 00 |.$...........$..|\r
+; CHECK: 00 00 E8 00 00 00 00 31 - C0 83 C4 04 C3 00 00 00 |.......1........|\r
; CHECK: Relocations = [\r
; CHECK: 0 = {\r
-; CHECK: VirtualAddress = 0x{{[0-9A-F]+}}\r
+; CHECK: VirtualAddress = 0x6\r
; CHECK: SymbolTableIndex = 2\r
; CHECK: Type = IMAGE_REL_I386_DIR32 (6)\r
; CHECK: SymbolName = .data\r
; CHECK: }\r
; CHECK: 1 = {\r
-; CHECK: VirtualAddress = 0x{{[0-9A-F]+}}\r
+; CHECK: VirtualAddress = 0xB\r
; CHECK: SymbolTableIndex = 5\r
; CHECK: Type = IMAGE_REL_I386_REL32 (20)\r
; CHECK: SymbolName = _printf\r
; CHECK: }\r
; CHECK: 2 = {\r
-; CHECK: VirtualAddress = 0x{{[0-9A-F]+}}\r
-; CHECK: SymbolTableIndex = 6\r
+; CHECK: VirtualAddress = 0x12\r
+; CHECK: SymbolTableIndex = 2\r
; CHECK: Type = IMAGE_REL_I386_DIR32 (6)\r
-; CHECK: SymbolName = _str\r
+; CHECK: SymbolName = .data\r
; CHECK: }\r
; CHECK: 3 = {\r
-; CHECK: VirtualAddress = 0x{{[0-9A-F]+}}\r
-; CHECK: SymbolTableIndex = 7\r
+; CHECK: VirtualAddress = 0x17\r
+; CHECK: SymbolTableIndex = 6\r
+; CHECK: Type = IMAGE_REL_I386_REL32 (20)\r
+; CHECK: SymbolName = _puts\r
+; CHECK: }\r
+; CHECK: 4 = {\r
+; CHECK: VirtualAddress = 0x1E\r
+; CHECK: SymbolTableIndex = 2\r
+; CHECK: Type = IMAGE_REL_I386_DIR32 (6)\r
+; CHECK: SymbolName = .data\r
+; CHECK: }\r
+; CHECK: 5 = {\r
+; CHECK: VirtualAddress = 0x23\r
+; CHECK: SymbolTableIndex = 6\r
; CHECK: Type = IMAGE_REL_I386_REL32 (20)\r
; CHECK: SymbolName = _puts\r
; CHECK: }\r
; CHECK: PointerToLineNumbers = 0x0\r
; CHECK: NumberOfRelocations = 0\r
; CHECK: NumberOfLineNumbers = 0\r
-; CHECK: Charateristics = 0xC0100040\r
+; CHECK: Charateristics = 0xC0500040\r
; CHECK: IMAGE_SCN_CNT_INITIALIZED_DATA\r
-; CHECK: IMAGE_SCN_ALIGN_1BYTES\r
+; CHECK: IMAGE_SCN_ALIGN_16BYTES\r
; CHECK: IMAGE_SCN_MEM_READ\r
; CHECK: IMAGE_SCN_MEM_WRITE\r
; CHECK: SectionData =\r
-; CHECK: 48 65 6C 6C 6F 20 00 57 - 6F 72 6C 64 21 00 |Hello .World!.|\r
-\r
+; CHECK: 48 65 6C 6C 6F 20 00 57 - 6F 72 6C 64 21 00 00 00 |Hello .World!...|\r
+; CHECK: 49 27 6D 20 54 68 65 20 - 4C 61 73 74 20 4C 69 6E |I'm The Last Lin|\r
+; CHECK: 65 2E 00 |e..|\r
; CHECK: Relocations = None\r
; CHECK: }\r
; CHECK: ]\r
; CHECK: StorageClass = IMAGE_SYM_CLASS_STATIC (3)\r
; CHECK: NumberOfAuxSymbols = 1\r
; CHECK: AuxillaryData =\r
-; CHECK: 21 00 00 00 04 00 00 00 - 00 00 00 00 01 00 00 00 |!...............|\r
+; CHECK: 30 00 00 00 06 00 00 00 - 00 00 00 00 01 00 00 00 |0...............|\r
; CHECK: 00 00 |..|\r
\r
; CHECK: }\r
; CHECK: StorageClass = IMAGE_SYM_CLASS_STATIC (3)\r
; CHECK: NumberOfAuxSymbols = 1\r
; CHECK: AuxillaryData =\r
-; CHECK: 0E 00 00 00 00 00 00 00 - 00 00 00 00 02 00 00 00 |................|\r
+; CHECK: 23 00 00 00 00 00 00 00 - 00 00 00 00 02 00 00 00 |#...............|\r
; CHECK: 00 00 |..|\r
\r
; CHECK: }\r
\r
; CHECK: }\r
; CHECK: 6 = {\r
-; CHECK: Name = _str\r
-; CHECK: Value = 7\r
-; CHECK: SectionNumber = 2\r
-; CHECK: SimpleType = IMAGE_SYM_TYPE_NULL (0)\r
-; CHECK: ComplexType = IMAGE_SYM_DTYPE_NULL (0)\r
-; CHECK: StorageClass = IMAGE_SYM_CLASS_STATIC (3)\r
-; CHECK: NumberOfAuxSymbols = 0\r
-; CHECK: AuxillaryData =\r
-\r
-; CHECK: }\r
-; CHECK: 7 = {\r
; CHECK: Name = _puts\r
; CHECK: Value = 0\r
; CHECK: SectionNumber = 0\r