Remove some hard coded CR-LFs. Some of these were the entire files, one of
authorChandler Carruth <chandlerc@gmail.com>
Mon, 25 Apr 2011 07:11:23 +0000 (07:11 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Mon, 25 Apr 2011 07:11:23 +0000 (07:11 +0000)
these was just one line of a file. Explicitly set the eol-style property on the
files to try and ensure this fix stays.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130125 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/MBlaze/MBlazeISelLowering.cpp
test/MC/COFF/basic-coff.s
test/MC/COFF/bss.s
test/MC/COFF/simple-fixups.s
test/MC/COFF/symbol-alias.s
test/MC/COFF/symbol-fragment-offset.s
test/MC/COFF/weak.s

index 585469b315cefddeeb2aa0e0d9288c1151371cfd..21a59884a6b8e19c8b676bd705435ae3a297520a 100644 (file)
@@ -1103,7 +1103,7 @@ MBlazeTargetLowering::getSingleConstraintMatchWeight(
   switch (*constraint) {
   default:
     weight = TargetLowering::getSingleConstraintMatchWeight(info, constraint);
-    break;\r
+    break;
   case 'd':
   case 'y':
     if (type->isIntegerTy())
index 0c8658258ed4397b373a49d9eb0eb31a783fb92c..23156b82d2e5a93984cfe1401cbb4acebb492e0f 100644 (file)
-// This test checks that the COFF object emitter works for the most basic\r
-// programs.\r
-\r
-// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s\r
-// I WOULD RUN, BUT THIS FAILS: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s\r
-\r
-.def    _main;\r
-       .scl    2;\r
-       .type   32;\r
-       .endef\r
-       .text\r
-       .globl  _main\r
-       .align  16, 0x90\r
-_main:                                  # @main\r
-# BB#0:                                 # %entry\r
-       subl    $4, %esp\r
-       movl    $L_.str, (%esp)\r
-       calll   _printf\r
-       xorl    %eax, %eax\r
-       addl    $4, %esp\r
-       ret\r
-\r
-       .data\r
-L_.str:                                 # @.str\r
-       .asciz   "Hello World"\r
-\r
-// CHECK: {\r
-// CHECK:   MachineType              = IMAGE_FILE_MACHINE_I386 (0x14C)\r
-// CHECK:   NumberOfSections         = 2\r
-// CHECK:   TimeDateStamp            = {{[0-9]+}}\r
-// CHECK:   PointerToSymbolTable     = 0x{{[0-9A-F]+}}\r
-// CHECK:   NumberOfSymbols          = 6\r
-// CHECK:   SizeOfOptionalHeader     = 0\r
-// CHECK:   Characteristics          = 0x0\r
-// CHECK:   Sections                 = [\r
-// CHECK:     1 = {\r
-// CHECK:       Name                     = .text\r
-// CHECK:       VirtualSize              = 0\r
-// CHECK:       VirtualAddress           = 0\r
-// CHECK:       SizeOfRawData            = {{[0-9]+}}\r
-// CHECK:       PointerToRawData         = 0x{{[0-9A-F]+}}\r
-// CHECK:       PointerToRelocations     = 0x{{[0-9A-F]+}}\r
-// CHECK:       PointerToLineNumbers     = 0x0\r
-// CHECK:       NumberOfRelocations      = 2\r
-// CHECK:       NumberOfLineNumbers      = 0\r
-// CHECK:       Charateristics           = 0x60500020\r
-// CHECK:         IMAGE_SCN_CNT_CODE\r
-// CHECK:         IMAGE_SCN_ALIGN_16BYTES\r
-// CHECK:         IMAGE_SCN_MEM_EXECUTE\r
-// CHECK:         IMAGE_SCN_MEM_READ\r
-// CHECK:       SectionData              =\r
-// CHECK:       Relocations              = [\r
-// CHECK:         0 = {\r
-// CHECK:           VirtualAddress           = 0x{{[0-9A-F]+}}\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:           SymbolTableIndex         = 5\r
-// CHECK:           Type                     = IMAGE_REL_I386_REL32 (20)\r
-// CHECK:           SymbolName               = _printf\r
-// CHECK:         }\r
-// CHECK:       ]\r
-// CHECK:     }\r
-// CHECK:     2 = {\r
-// CHECK:       Name                     = .data\r
-// CHECK:       VirtualSize              = 0\r
-// CHECK:       VirtualAddress           = 0\r
-// CHECK:       SizeOfRawData            = {{[0-9]+}}\r
-// CHECK:       PointerToRawData         = 0x{{[0-9A-F]+}}\r
-// CHECK:       PointerToRelocations     = 0x0\r
-// CHECK:       PointerToLineNumbers     = 0x0\r
-// CHECK:       NumberOfRelocations      = 0\r
-// CHECK:       NumberOfLineNumbers      = 0\r
-// CHECK:       Charateristics           = 0xC0300040\r
-// CHECK:         IMAGE_SCN_CNT_INITIALIZED_DATA\r
-// CHECK:         IMAGE_SCN_ALIGN_4BYTES\r
-// CHECK:         IMAGE_SCN_MEM_READ\r
-// CHECK:         IMAGE_SCN_MEM_WRITE\r
-// CHECK:       SectionData              =\r
-// CHECK:         48 65 6C 6C 6F 20 57 6F - 72 6C 64 00             |Hello World.|\r
-// CHECK:       Relocations              = None\r
-// CHECK:     }\r
-// CHECK:   ]\r
-// CHECK:   Symbols                  = [\r
-// CHECK:     0 = {\r
-// CHECK:       Name                     = .text\r
-// CHECK:       Value                    = 0\r
-// CHECK:       SectionNumber            = 1\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       = 1\r
-// CHECK:       AuxillaryData            =\r
-// CHECK:         15 00 00 00 02 00 00 00 - 00 00 00 00 01 00 00 00 |................|\r
-// CHECK:         00 00                                             |..|\r
-// CHECK:     }\r
-// CHECK:     2 = {\r
-// CHECK:       Name                     = .data\r
-// CHECK:       Value                    = 0\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       = 1\r
-// CHECK:       AuxillaryData            =\r
-// CHECK:         0C 00 00 00 00 00 00 00 - 00 00 00 00 02 00 00 00 |................|\r
-// CHECK:         00 00                                             |..|\r
-// CHECK:     }\r
-// CHECK:     4 = {\r
-// CHECK:       Name                     = _main\r
-// CHECK:       Value                    = 0\r
-// CHECK:       SectionNumber            = 1\r
-// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)\r
-// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_FUNCTION (2)\r
-// CHECK:       StorageClass             = IMAGE_SYM_CLASS_EXTERNAL (2)\r
-// CHECK:       NumberOfAuxSymbols       = 0\r
-// CHECK:       AuxillaryData            =\r
-// CHECK:     }\r
-// CHECK:     5 = {\r
-// CHECK:       Name                     = _printf\r
-// CHECK:       Value                    = 0\r
-// CHECK:       SectionNumber            = 0\r
-// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)\r
-// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_NULL (0)\r
-// CHECK:       StorageClass             = IMAGE_SYM_CLASS_EXTERNAL (2)\r
-// CHECK:       NumberOfAuxSymbols       = 0\r
-// CHECK:       AuxillaryData            =\r
-// CHECK:     }\r
-// CHECK:   ]\r
-// CHECK: }\r
+// This test checks that the COFF object emitter works for the most basic
+// programs.
+
+// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
+// I WOULD RUN, BUT THIS FAILS: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s
+
+.def    _main;
+       .scl    2;
+       .type   32;
+       .endef
+       .text
+       .globl  _main
+       .align  16, 0x90
+_main:                                  # @main
+# BB#0:                                 # %entry
+       subl    $4, %esp
+       movl    $L_.str, (%esp)
+       calll   _printf
+       xorl    %eax, %eax
+       addl    $4, %esp
+       ret
+
+       .data
+L_.str:                                 # @.str
+       .asciz   "Hello World"
+
+// CHECK: {
+// CHECK:   MachineType              = IMAGE_FILE_MACHINE_I386 (0x14C)
+// CHECK:   NumberOfSections         = 2
+// CHECK:   TimeDateStamp            = {{[0-9]+}}
+// CHECK:   PointerToSymbolTable     = 0x{{[0-9A-F]+}}
+// CHECK:   NumberOfSymbols          = 6
+// CHECK:   SizeOfOptionalHeader     = 0
+// CHECK:   Characteristics          = 0x0
+// CHECK:   Sections                 = [
+// CHECK:     1 = {
+// CHECK:       Name                     = .text
+// CHECK:       VirtualSize              = 0
+// CHECK:       VirtualAddress           = 0
+// CHECK:       SizeOfRawData            = {{[0-9]+}}
+// CHECK:       PointerToRawData         = 0x{{[0-9A-F]+}}
+// CHECK:       PointerToRelocations     = 0x{{[0-9A-F]+}}
+// CHECK:       PointerToLineNumbers     = 0x0
+// CHECK:       NumberOfRelocations      = 2
+// CHECK:       NumberOfLineNumbers      = 0
+// CHECK:       Charateristics           = 0x60500020
+// CHECK:         IMAGE_SCN_CNT_CODE
+// CHECK:         IMAGE_SCN_ALIGN_16BYTES
+// CHECK:         IMAGE_SCN_MEM_EXECUTE
+// CHECK:         IMAGE_SCN_MEM_READ
+// CHECK:       SectionData              =
+// CHECK:       Relocations              = [
+// CHECK:         0 = {
+// CHECK:           VirtualAddress           = 0x{{[0-9A-F]+}}
+// CHECK:           SymbolTableIndex         = 2
+// CHECK:           Type                     = IMAGE_REL_I386_DIR32 (6)
+// CHECK:           SymbolName               = .data
+// CHECK:         }
+// CHECK:         1 = {
+// CHECK:           VirtualAddress           = 0x{{[0-9A-F]+}}
+// CHECK:           SymbolTableIndex         = 5
+// CHECK:           Type                     = IMAGE_REL_I386_REL32 (20)
+// CHECK:           SymbolName               = _printf
+// CHECK:         }
+// CHECK:       ]
+// CHECK:     }
+// CHECK:     2 = {
+// CHECK:       Name                     = .data
+// CHECK:       VirtualSize              = 0
+// CHECK:       VirtualAddress           = 0
+// CHECK:       SizeOfRawData            = {{[0-9]+}}
+// CHECK:       PointerToRawData         = 0x{{[0-9A-F]+}}
+// CHECK:       PointerToRelocations     = 0x0
+// CHECK:       PointerToLineNumbers     = 0x0
+// CHECK:       NumberOfRelocations      = 0
+// CHECK:       NumberOfLineNumbers      = 0
+// CHECK:       Charateristics           = 0xC0300040
+// CHECK:         IMAGE_SCN_CNT_INITIALIZED_DATA
+// CHECK:         IMAGE_SCN_ALIGN_4BYTES
+// CHECK:         IMAGE_SCN_MEM_READ
+// CHECK:         IMAGE_SCN_MEM_WRITE
+// CHECK:       SectionData              =
+// CHECK:         48 65 6C 6C 6F 20 57 6F - 72 6C 64 00             |Hello World.|
+// CHECK:       Relocations              = None
+// CHECK:     }
+// CHECK:   ]
+// CHECK:   Symbols                  = [
+// CHECK:     0 = {
+// CHECK:       Name                     = .text
+// CHECK:       Value                    = 0
+// CHECK:       SectionNumber            = 1
+// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)
+// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_NULL (0)
+// CHECK:       StorageClass             = IMAGE_SYM_CLASS_STATIC (3)
+// CHECK:       NumberOfAuxSymbols       = 1
+// CHECK:       AuxillaryData            =
+// CHECK:         15 00 00 00 02 00 00 00 - 00 00 00 00 01 00 00 00 |................|
+// CHECK:         00 00                                             |..|
+// CHECK:     }
+// CHECK:     2 = {
+// CHECK:       Name                     = .data
+// CHECK:       Value                    = 0
+// CHECK:       SectionNumber            = 2
+// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)
+// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_NULL (0)
+// CHECK:       StorageClass             = IMAGE_SYM_CLASS_STATIC (3)
+// CHECK:       NumberOfAuxSymbols       = 1
+// CHECK:       AuxillaryData            =
+// CHECK:         0C 00 00 00 00 00 00 00 - 00 00 00 00 02 00 00 00 |................|
+// CHECK:         00 00                                             |..|
+// CHECK:     }
+// CHECK:     4 = {
+// CHECK:       Name                     = _main
+// CHECK:       Value                    = 0
+// CHECK:       SectionNumber            = 1
+// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)
+// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_FUNCTION (2)
+// CHECK:       StorageClass             = IMAGE_SYM_CLASS_EXTERNAL (2)
+// CHECK:       NumberOfAuxSymbols       = 0
+// CHECK:       AuxillaryData            =
+// CHECK:     }
+// CHECK:     5 = {
+// CHECK:       Name                     = _printf
+// CHECK:       Value                    = 0
+// CHECK:       SectionNumber            = 0
+// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)
+// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_NULL (0)
+// CHECK:       StorageClass             = IMAGE_SYM_CLASS_EXTERNAL (2)
+// CHECK:       NumberOfAuxSymbols       = 0
+// CHECK:       AuxillaryData            =
+// CHECK:     }
+// CHECK:   ]
+// CHECK: }
index f44225b5a336e8a1eb8a3e4b694373bf4f43f03c..3bed13d4aac96430d040a8b0ad5070b71f2d4ceb 100644 (file)
@@ -1,15 +1,15 @@
-// The purpose of this test is to verify that bss sections are emited correctly.\r
-\r
-// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s\r
-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | coff-dump.py | FileCheck %s\r
-\r
-    .bss\r
-    .globl _g0\r
-    .align 4\r
-_g0:\r
-    .long 0\r
-\r
-// CHECK:      Name           = .bss\r
-// CHECK-NEXT: VirtualSize    = 0\r
-// CHECK-NEXT: VirtualAddress = 0\r
-// CHECK-NEXT: SizeOfRawData  = 4\r
+// The purpose of this test is to verify that bss sections are emited correctly.
+
+// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | coff-dump.py | FileCheck %s
+
+    .bss
+    .globl _g0
+    .align 4
+_g0:
+    .long 0
+
+// CHECK:      Name           = .bss
+// CHECK-NEXT: VirtualSize    = 0
+// CHECK-NEXT: VirtualAddress = 0
+// CHECK-NEXT: SizeOfRawData  = 4
index f86f4a9ff9e425e2fae86102bb9ebc15fdbb78be..4c9b4d44528f68503249fd2a28d1b18f62061c10 100644 (file)
@@ -1,50 +1,50 @@
-// The purpose of this test is to verify that we do not produce unneeded\r
-// relocations when symbols are in the same section and we know their offset.\r
-\r
-// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s\r
-// I WOULD RUN, BUT THIS FAILS: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | coff-dump.py | FileCheck %s\r
-\r
-       .def     _foo;\r
-       .scl    2;\r
-       .type   32;\r
-       .endef\r
-       .text\r
-       .globl  _foo\r
-       .align  16, 0x90\r
-_foo:                                   # @foo\r
-# BB#0:                                 # %e\r
-       .align  16, 0x90\r
-LBB0_1:                                 # %i\r
-                                        # =>This Inner Loop Header: Depth=1\r
-       jmp     LBB0_1\r
-\r
-       .def     _bar;\r
-       .scl    2;\r
-       .type   32;\r
-       .endef\r
-       .globl  _bar\r
-       .align  16, 0x90\r
-_bar:                                   # @bar\r
-# BB#0:                                 # %e\r
-       .align  16, 0x90\r
-LBB1_1:                                 # %i\r
-                                        # =>This Inner Loop Header: Depth=1\r
-       jmp     LBB1_1\r
-\r
-       .def     _baz;\r
-       .scl    2;\r
-       .type   32;\r
-       .endef\r
-       .globl  _baz\r
-       .align  16, 0x90\r
-_baz:                                   # @baz\r
-# BB#0:                                 # %e\r
-       subl    $4, %esp\r
-Ltmp0:\r
-       calll   _baz\r
-       addl    $4, %esp\r
-       ret\r
-\r
-// CHECK:     Sections = [\r
-// CHECK-NOT: NumberOfRelocations = {{[^0]}}\r
-// CHECK:     Symbols = [\r
+// The purpose of this test is to verify that we do not produce unneeded
+// relocations when symbols are in the same section and we know their offset.
+
+// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
+// I WOULD RUN, BUT THIS FAILS: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | coff-dump.py | FileCheck %s
+
+       .def     _foo;
+       .scl    2;
+       .type   32;
+       .endef
+       .text
+       .globl  _foo
+       .align  16, 0x90
+_foo:                                   # @foo
+# BB#0:                                 # %e
+       .align  16, 0x90
+LBB0_1:                                 # %i
+                                        # =>This Inner Loop Header: Depth=1
+       jmp     LBB0_1
+
+       .def     _bar;
+       .scl    2;
+       .type   32;
+       .endef
+       .globl  _bar
+       .align  16, 0x90
+_bar:                                   # @bar
+# BB#0:                                 # %e
+       .align  16, 0x90
+LBB1_1:                                 # %i
+                                        # =>This Inner Loop Header: Depth=1
+       jmp     LBB1_1
+
+       .def     _baz;
+       .scl    2;
+       .type   32;
+       .endef
+       .globl  _baz
+       .align  16, 0x90
+_baz:                                   # @baz
+# BB#0:                                 # %e
+       subl    $4, %esp
+Ltmp0:
+       calll   _baz
+       addl    $4, %esp
+       ret
+
+// CHECK:     Sections = [
+// CHECK-NOT: NumberOfRelocations = {{[^0]}}
+// CHECK:     Symbols = [
index ede6b53c4511ab60e7e480f6b19b2b26b5c74b97..03f07b2e5685b47bf32966b49124e0195d42303d 100644 (file)
@@ -1,62 +1,62 @@
-// The purpose of this test is to verify that symbol aliases\r
-// (@foo = alias <type> @bar) generate the correct entries in the symbol table.\r
-// They should be identical except for the name.\r
-\r
-// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s\r
-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | coff-dump.py | FileCheck %s\r
-\r
-       .def     _foo;\r
-       .scl    2;\r
-       .type   32;\r
-       .endef\r
-       .text\r
-       .globl  _foo\r
-       .align  16, 0x90\r
-_foo:                                   # @foo\r
-# BB#0:                                 # %entry\r
-       ret\r
-\r
-       .data\r
-       .globl  _bar                    # @bar\r
-       .align  4\r
-_bar:\r
-       .long   0                       # 0x0\r
-\r
-\r
-       .globl  _foo_alias\r
-_foo_alias = _foo\r
-       .globl  _bar_alias\r
-_bar_alias = _bar\r
-\r
-// CHECK:      Name               = {{_?}}foo\r
-// CHECK-NEXT: Value              = [[FOO_VALUE:.*$]]\r
-// CHECK-NEXT: SectionNumber      = [[FOO_SECTION_NUMBER:.*$]]\r
-// CHECK-NEXT: SimpleType         = [[FOO_SIMPLE_TYPE:.*$]]\r
-// CHECK-NEXT: ComplexType        = [[FOO_COMPLEX_TYPE:.*$]]\r
-// CHECK-NEXT: StorageClass       = [[FOO_STORAGE_CLASS:.*$]]\r
-// CHECK-NEXT: NumberOfAuxSymbols = [[FOO_NUMBER_OF_AUX_SYMBOLS:.*$]]\r
-\r
-// CHECK:      Name               = {{_?}}bar\r
-// CHECK-NEXT: Value              = [[BAR_VALUE:.*$]]\r
-// CHECK-NEXT: SectionNumber      = [[BAR_SECTION_NUMBER:.*$]]\r
-// CHECK-NEXT: SimpleType         = [[BAR_SIMPLE_TYPE:.*$]]\r
-// CHECK-NEXT: ComplexType        = [[BAR_COMPLEX_TYPE:.*$]]\r
-// CHECK-NEXT: StorageClass       = [[BAR_STORAGE_CLASS:.*$]]\r
-// CHECK-NEXT: NumberOfAuxSymbols = [[BAR_NUMBER_OF_AUX_SYMBOLS:.*$]]\r
-\r
-// CHECK:      Name               = {{_?}}foo_alias\r
-// CHECK-NEXT: Value              = [[FOO_VALUE]]\r
-// CHECK-NEXT: SectionNumber      = [[FOO_SECTION_NUMBER]]\r
-// CHECK-NEXT: SimpleType         = [[FOO_SIMPLE_TYPE]]\r
-// CHECK-NEXT: ComplexType        = [[FOO_COMPLEX_TYPE]]\r
-// CHECK-NEXT: StorageClass       = [[FOO_STORAGE_CLASS]]\r
-// CHECK-NEXT: NumberOfAuxSymbols = [[FOO_NUMBER_OF_AUX_SYMBOLS]]\r
-\r
-// CHECK:      Name               = {{_?}}bar_alias\r
-// CHECK-NEXT: Value              = [[BAR_VALUE]]\r
-// CHECK-NEXT: SectionNumber      = [[BAR_SECTION_NUMBER]]\r
-// CHECK-NEXT: SimpleType         = [[BAR_SIMPLE_TYPE]]\r
-// CHECK-NEXT: ComplexType        = [[BAR_COMPLEX_TYPE]]\r
-// CHECK-NEXT: StorageClass       = [[BAR_STORAGE_CLASS]]\r
-// CHECK-NEXT: NumberOfAuxSymbols = [[BAR_NUMBER_OF_AUX_SYMBOLS]]\r
-\r
+// The purpose of this test is to verify that symbol aliases
+// (@foo = alias <type> @bar) generate the correct entries in the symbol table.
+// They should be identical except for the name.
+
+// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | coff-dump.py | FileCheck %s
+
+       .def     _foo;
+       .scl    2;
+       .type   32;
+       .endef
+       .text
+       .globl  _foo
+       .align  16, 0x90
+_foo:                                   # @foo
+# BB#0:                                 # %entry
+       ret
+
+       .data
+       .globl  _bar                    # @bar
+       .align  4
+_bar:
+       .long   0                       # 0x0
+
+
+       .globl  _foo_alias
+_foo_alias = _foo
+       .globl  _bar_alias
+_bar_alias = _bar
+
+// CHECK:      Name               = {{_?}}foo
+// CHECK-NEXT: Value              = [[FOO_VALUE:.*$]]
+// CHECK-NEXT: SectionNumber      = [[FOO_SECTION_NUMBER:.*$]]
+// CHECK-NEXT: SimpleType         = [[FOO_SIMPLE_TYPE:.*$]]
+// CHECK-NEXT: ComplexType        = [[FOO_COMPLEX_TYPE:.*$]]
+// CHECK-NEXT: StorageClass       = [[FOO_STORAGE_CLASS:.*$]]
+// CHECK-NEXT: NumberOfAuxSymbols = [[FOO_NUMBER_OF_AUX_SYMBOLS:.*$]]
+
+// CHECK:      Name               = {{_?}}bar
+// CHECK-NEXT: Value              = [[BAR_VALUE:.*$]]
+// CHECK-NEXT: SectionNumber      = [[BAR_SECTION_NUMBER:.*$]]
+// CHECK-NEXT: SimpleType         = [[BAR_SIMPLE_TYPE:.*$]]
+// CHECK-NEXT: ComplexType        = [[BAR_COMPLEX_TYPE:.*$]]
+// CHECK-NEXT: StorageClass       = [[BAR_STORAGE_CLASS:.*$]]
+// CHECK-NEXT: NumberOfAuxSymbols = [[BAR_NUMBER_OF_AUX_SYMBOLS:.*$]]
+
+// CHECK:      Name               = {{_?}}foo_alias
+// CHECK-NEXT: Value              = [[FOO_VALUE]]
+// CHECK-NEXT: SectionNumber      = [[FOO_SECTION_NUMBER]]
+// CHECK-NEXT: SimpleType         = [[FOO_SIMPLE_TYPE]]
+// CHECK-NEXT: ComplexType        = [[FOO_COMPLEX_TYPE]]
+// CHECK-NEXT: StorageClass       = [[FOO_STORAGE_CLASS]]
+// CHECK-NEXT: NumberOfAuxSymbols = [[FOO_NUMBER_OF_AUX_SYMBOLS]]
+
+// CHECK:      Name               = {{_?}}bar_alias
+// CHECK-NEXT: Value              = [[BAR_VALUE]]
+// CHECK-NEXT: SectionNumber      = [[BAR_SECTION_NUMBER]]
+// CHECK-NEXT: SimpleType         = [[BAR_SIMPLE_TYPE]]
+// CHECK-NEXT: ComplexType        = [[BAR_COMPLEX_TYPE]]
+// CHECK-NEXT: StorageClass       = [[BAR_STORAGE_CLASS]]
+// CHECK-NEXT: NumberOfAuxSymbols = [[BAR_NUMBER_OF_AUX_SYMBOLS]]
+
index c314ac20f4db611bdf4d8d9d00e93dea18b7bea5..1df8baacaf228840ea836b7b3ffd2643607beeb4 100644 (file)
-// The purpose of this test is to see if the COFF object writer is emitting the\r
-// proper relocations for multiple pieces of data in a single data fragment.\r
-\r
-// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s\r
-// I WOULD RUN, BUT THIS FAILS: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s\r
-\r
-.def    _main;\r
-       .scl    2;\r
-       .type   32;\r
-       .endef\r
-       .text\r
-       .globl  _main\r
-       .align  16, 0x90\r
-_main:                                  # @main\r
-# BB#0:                                 # %entry\r
-       subl    $4, %esp\r
-       movl    $L_.str0, (%esp)\r
-       calll   _printf\r
-       movl    $L_.str1, (%esp)\r
-       calll   _puts\r
-       movl    $L_.str2, (%esp)\r
-       calll   _puts\r
-       xorl    %eax, %eax\r
-       addl    $4, %esp\r
-       ret\r
-\r
-       .data\r
-L_.str0:                                # @.str0\r
-       .asciz   "Hello "\r
-\r
-L_.str1:                                # @.str1\r
-       .asciz   "World!"\r
-\r
-       .align  16                      # @.str2\r
-L_.str2:\r
-       .asciz   "I'm The Last Line."\r
-\r
-// CHECK: {\r
-// CHECK:   MachineType              = IMAGE_FILE_MACHINE_I386 (0x14C)\r
-// CHECK:   NumberOfSections         = 2\r
-// CHECK:   TimeDateStamp            = {{[0-9]+}}\r
-// CHECK:   PointerToSymbolTable     = 0x{{[0-9A-F]+}}\r
-// CHECK:   NumberOfSymbols          = 7\r
-// CHECK:   SizeOfOptionalHeader     = 0\r
-// CHECK:   Characteristics          = 0x0\r
-// CHECK:   Sections                 = [\r
-// CHECK:     1 = {\r
-// CHECK:       Name                     = .text\r
-// CHECK:       VirtualSize              = 0\r
-// CHECK:       VirtualAddress           = 0\r
-// CHECK:       SizeOfRawData            = {{[0-9]+}}\r
-// CHECK:       PointerToRawData         = 0x{{[0-9A-F]+}}\r
-// CHECK:       PointerToRelocations     = 0x{{[0-9A-F]+}}\r
-// CHECK:       PointerToLineNumbers     = 0x0\r
-// CHECK:       NumberOfRelocations      = 6\r
-// CHECK:       NumberOfLineNumbers      = 0\r
-// CHECK:       Charateristics           = 0x60500020\r
-// CHECK:         IMAGE_SCN_CNT_CODE\r
-// CHECK:         IMAGE_SCN_ALIGN_16BYTES\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 |.......1.....|\r
-// CHECK:       Relocations              = [\r
-// CHECK:         0 = {\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           = 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           = 0x12\r
-// CHECK:           SymbolTableIndex         = 2\r
-// CHECK:           Type                     = IMAGE_REL_I386_DIR32 (6)\r
-// CHECK:           SymbolName               = .data\r
-// CHECK:         }\r
-// CHECK:         3 = {\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:       ]\r
-// CHECK:     }\r
-// CHECK:     2 = {\r
-// CHECK:       Name                     = .data\r
-// CHECK:       VirtualSize              = 0\r
-// CHECK:       VirtualAddress           = 0\r
-// CHECK:       SizeOfRawData            = {{[0-9]+}}\r
-// CHECK:       PointerToRawData         = 0x{{[0-9A-F]+}}\r
-// CHECK:       PointerToRelocations     = 0x0\r
-// CHECK:       PointerToLineNumbers     = 0x0\r
-// CHECK:       NumberOfRelocations      = 0\r
-// CHECK:       NumberOfLineNumbers      = 0\r
-// CHECK:       Charateristics           = 0xC0500040\r
-// CHECK:         IMAGE_SCN_CNT_INITIALIZED_DATA\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 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:   Symbols                  = [\r
-// CHECK:     0 = {\r
-// CHECK:       Name                     = .text\r
-// CHECK:       Value                    = 0\r
-// CHECK:       SectionNumber            = 1\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       = 1\r
-// CHECK:       AuxillaryData            =\r
-// CHECK:         2D 00 00 00 06 00 00 00 - 00 00 00 00 01 00 00 00 |-...............|\r
-// CHECK:         00 00                                             |..|\r
-\r
-// CHECK:     }\r
-// CHECK:     2 = {\r
-// CHECK:       Name                     = .data\r
-// CHECK:       Value                    = 0\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       = 1\r
-// CHECK:       AuxillaryData            =\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
-// CHECK:     4 = {\r
-// CHECK:       Name                     = _main\r
-// CHECK:       Value                    = 0\r
-// CHECK:       SectionNumber            = 1\r
-// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)\r
-// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_FUNCTION (2)\r
-// CHECK:       StorageClass             = IMAGE_SYM_CLASS_EXTERNAL (2)\r
-// CHECK:       NumberOfAuxSymbols       = 0\r
-// CHECK:       AuxillaryData            =\r
-\r
-// CHECK:     5 = {\r
-// CHECK:       Name                     = _printf\r
-// CHECK:       Value                    = 0\r
-// CHECK:       SectionNumber            = 0\r
-// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)\r
-// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_NULL (0)\r
-// CHECK:       StorageClass             = IMAGE_SYM_CLASS_EXTERNAL (2)\r
-// CHECK:       NumberOfAuxSymbols       = 0\r
-// CHECK:       AuxillaryData            =\r
-\r
-// CHECK:     }\r
-// CHECK:     6 = {\r
-// CHECK:       Name                     = _puts\r
-// CHECK:       Value                    = 0\r
-// CHECK:       SectionNumber            = 0\r
-// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)\r
-// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_NULL (0)\r
-// CHECK:       StorageClass             = IMAGE_SYM_CLASS_EXTERNAL (2)\r
-// CHECK:       NumberOfAuxSymbols       = 0\r
-// CHECK:       AuxillaryData            =\r
-\r
-// CHECK:     }\r
-// CHECK:   ]\r
-// CHECK: }\r
+// The purpose of this test is to see if the COFF object writer is emitting the
+// proper relocations for multiple pieces of data in a single data fragment.
+
+// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | coff-dump.py | FileCheck %s
+// I WOULD RUN, BUT THIS FAILS: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s
+
+.def    _main;
+       .scl    2;
+       .type   32;
+       .endef
+       .text
+       .globl  _main
+       .align  16, 0x90
+_main:                                  # @main
+# BB#0:                                 # %entry
+       subl    $4, %esp
+       movl    $L_.str0, (%esp)
+       calll   _printf
+       movl    $L_.str1, (%esp)
+       calll   _puts
+       movl    $L_.str2, (%esp)
+       calll   _puts
+       xorl    %eax, %eax
+       addl    $4, %esp
+       ret
+
+       .data
+L_.str0:                                # @.str0
+       .asciz   "Hello "
+
+L_.str1:                                # @.str1
+       .asciz   "World!"
+
+       .align  16                      # @.str2
+L_.str2:
+       .asciz   "I'm The Last Line."
+
+// CHECK: {
+// CHECK:   MachineType              = IMAGE_FILE_MACHINE_I386 (0x14C)
+// CHECK:   NumberOfSections         = 2
+// CHECK:   TimeDateStamp            = {{[0-9]+}}
+// CHECK:   PointerToSymbolTable     = 0x{{[0-9A-F]+}}
+// CHECK:   NumberOfSymbols          = 7
+// CHECK:   SizeOfOptionalHeader     = 0
+// CHECK:   Characteristics          = 0x0
+// CHECK:   Sections                 = [
+// CHECK:     1 = {
+// CHECK:       Name                     = .text
+// CHECK:       VirtualSize              = 0
+// CHECK:       VirtualAddress           = 0
+// CHECK:       SizeOfRawData            = {{[0-9]+}}
+// CHECK:       PointerToRawData         = 0x{{[0-9A-F]+}}
+// CHECK:       PointerToRelocations     = 0x{{[0-9A-F]+}}
+// CHECK:       PointerToLineNumbers     = 0x0
+// CHECK:       NumberOfRelocations      = 6
+// CHECK:       NumberOfLineNumbers      = 0
+// CHECK:       Charateristics           = 0x60500020
+// CHECK:         IMAGE_SCN_CNT_CODE
+// CHECK:         IMAGE_SCN_ALIGN_16BYTES
+// CHECK:         IMAGE_SCN_MEM_EXECUTE
+// CHECK:         IMAGE_SCN_MEM_READ
+// CHECK:       SectionData              =
+// CHECK:         83 EC 04 C7 04 24 00 00 - 00 00 E8 00 00 00 00 C7 |.....$..........|
+// CHECK:         04 24 07 00 00 00 E8 00 - 00 00 00 C7 04 24 10 00 |.$...........$..|
+// CHECK:         00 00 E8 00 00 00 00 31 - C0 83 C4 04 C3 |.......1.....|
+// CHECK:       Relocations              = [
+// CHECK:         0 = {
+// CHECK:           VirtualAddress           = 0x6
+// CHECK:           SymbolTableIndex         = 2
+// CHECK:           Type                     = IMAGE_REL_I386_DIR32 (6)
+// CHECK:           SymbolName               = .data
+// CHECK:         }
+// CHECK:         1 = {
+// CHECK:           VirtualAddress           = 0xB
+// CHECK:           SymbolTableIndex         = 5
+// CHECK:           Type                     = IMAGE_REL_I386_REL32 (20)
+// CHECK:           SymbolName               = _printf
+// CHECK:         }
+// CHECK:         2 = {
+// CHECK:           VirtualAddress           = 0x12
+// CHECK:           SymbolTableIndex         = 2
+// CHECK:           Type                     = IMAGE_REL_I386_DIR32 (6)
+// CHECK:           SymbolName               = .data
+// CHECK:         }
+// CHECK:         3 = {
+// CHECK:           VirtualAddress           = 0x17
+// CHECK:           SymbolTableIndex         = 6
+// CHECK:           Type                     = IMAGE_REL_I386_REL32 (20)
+// CHECK:           SymbolName               = _puts
+// CHECK:         }
+// CHECK:         4 = {
+// CHECK:           VirtualAddress           = 0x1E
+// CHECK:           SymbolTableIndex         = 2
+// CHECK:           Type                     = IMAGE_REL_I386_DIR32 (6)
+// CHECK:           SymbolName               = .data
+// CHECK:         }
+// CHECK:         5 = {
+// CHECK:           VirtualAddress           = 0x23
+// CHECK:           SymbolTableIndex         = 6
+// CHECK:           Type                     = IMAGE_REL_I386_REL32 (20)
+// CHECK:           SymbolName               = _puts
+// CHECK:         }
+// CHECK:       ]
+// CHECK:     }
+// CHECK:     2 = {
+// CHECK:       Name                     = .data
+// CHECK:       VirtualSize              = 0
+// CHECK:       VirtualAddress           = 0
+// CHECK:       SizeOfRawData            = {{[0-9]+}}
+// CHECK:       PointerToRawData         = 0x{{[0-9A-F]+}}
+// CHECK:       PointerToRelocations     = 0x0
+// CHECK:       PointerToLineNumbers     = 0x0
+// CHECK:       NumberOfRelocations      = 0
+// CHECK:       NumberOfLineNumbers      = 0
+// CHECK:       Charateristics           = 0xC0500040
+// CHECK:         IMAGE_SCN_CNT_INITIALIZED_DATA
+// CHECK:         IMAGE_SCN_ALIGN_16BYTES
+// CHECK:         IMAGE_SCN_MEM_READ
+// CHECK:         IMAGE_SCN_MEM_WRITE
+// CHECK:       SectionData              =
+// CHECK:         48 65 6C 6C 6F 20 00 57 - 6F 72 6C 64 21 00 00 00 |Hello .World!...|
+// CHECK:         49 27 6D 20 54 68 65 20 - 4C 61 73 74 20 4C 69 6E |I'm The Last Lin|
+// CHECK:         65 2E 00                                          |e..|
+// CHECK:       Relocations              = None
+// CHECK:     }
+// CHECK:   ]
+// CHECK:   Symbols                  = [
+// CHECK:     0 = {
+// CHECK:       Name                     = .text
+// CHECK:       Value                    = 0
+// CHECK:       SectionNumber            = 1
+// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)
+// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_NULL (0)
+// CHECK:       StorageClass             = IMAGE_SYM_CLASS_STATIC (3)
+// CHECK:       NumberOfAuxSymbols       = 1
+// CHECK:       AuxillaryData            =
+// CHECK:         2D 00 00 00 06 00 00 00 - 00 00 00 00 01 00 00 00 |-...............|
+// CHECK:         00 00                                             |..|
+
+// CHECK:     }
+// CHECK:     2 = {
+// CHECK:       Name                     = .data
+// CHECK:       Value                    = 0
+// CHECK:       SectionNumber            = 2
+// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)
+// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_NULL (0)
+// CHECK:       StorageClass             = IMAGE_SYM_CLASS_STATIC (3)
+// CHECK:       NumberOfAuxSymbols       = 1
+// CHECK:       AuxillaryData            =
+// CHECK:         23 00 00 00 00 00 00 00 - 00 00 00 00 02 00 00 00 |#...............|
+// CHECK:         00 00                                             |..|
+
+// CHECK:     }
+// CHECK:     4 = {
+// CHECK:       Name                     = _main
+// CHECK:       Value                    = 0
+// CHECK:       SectionNumber            = 1
+// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)
+// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_FUNCTION (2)
+// CHECK:       StorageClass             = IMAGE_SYM_CLASS_EXTERNAL (2)
+// CHECK:       NumberOfAuxSymbols       = 0
+// CHECK:       AuxillaryData            =
+
+// CHECK:     5 = {
+// CHECK:       Name                     = _printf
+// CHECK:       Value                    = 0
+// CHECK:       SectionNumber            = 0
+// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)
+// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_NULL (0)
+// CHECK:       StorageClass             = IMAGE_SYM_CLASS_EXTERNAL (2)
+// CHECK:       NumberOfAuxSymbols       = 0
+// CHECK:       AuxillaryData            =
+
+// CHECK:     }
+// CHECK:     6 = {
+// CHECK:       Name                     = _puts
+// CHECK:       Value                    = 0
+// CHECK:       SectionNumber            = 0
+// CHECK:       SimpleType               = IMAGE_SYM_TYPE_NULL (0)
+// CHECK:       ComplexType              = IMAGE_SYM_DTYPE_NULL (0)
+// CHECK:       StorageClass             = IMAGE_SYM_CLASS_EXTERNAL (2)
+// CHECK:       NumberOfAuxSymbols       = 0
+// CHECK:       AuxillaryData            =
+
+// CHECK:     }
+// CHECK:   ]
+// CHECK: }
index a240d7152c76f96f254b8d1ab34509f05902bd8a..0f99313c9c034b98d30a958fb572c0e81d0f63bd 100644 (file)
@@ -1,51 +1,51 @@
-// This tests that default-null weak symbols (a GNU extension) are created\r
-// properly via the .weak directive.\r
-\r
-// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 < %s | coff-dump.py | FileCheck %s\r
-\r
-    .def    _main;\r
-    .scl    2;\r
-    .type   32;\r
-    .endef\r
-    .text\r
-    .globl  _main\r
-    .align  16, 0x90\r
-_main:                                  # @main\r
-# BB#0:                                 # %entry\r
-    subl    $4, %esp\r
-    movl    $_test_weak, %eax\r
-    testl   %eax, %eax\r
-    je      LBB0_2\r
-# BB#1:                                 # %if.then\r
-    calll   _test_weak\r
-    movl    $1, %eax\r
-    addl    $4, %esp\r
-    ret\r
-LBB0_2:                                 # %return\r
-    xorl    %eax, %eax\r
-    addl    $4, %esp\r
-    ret\r
-\r
-    .weak   _test_weak\r
-\r
-// CHECK: Symbols = [\r
-\r
-// CHECK:      Name               = _test_weak\r
-// CHECK-NEXT: Value              = 0\r
-// CHECK-NEXT: SectionNumber      = 0\r
-// CHECK-NEXT: SimpleType         = IMAGE_SYM_TYPE_NULL (0)\r
-// CHECK-NEXT: ComplexType        = IMAGE_SYM_DTYPE_NULL (0)\r
-// CHECK-NEXT: StorageClass       = IMAGE_SYM_CLASS_WEAK_EXTERNAL (105)\r
-// CHECK-NEXT: NumberOfAuxSymbols = 1\r
-// CHECK-NEXT: AuxillaryData      =\r
-// CHECK-NEXT: 05 00 00 00 02 00 00 00 - 00 00 00 00 00 00 00 00 |................|\r
-// CHECK-NEXT: 00 00                                             |..|\r
-\r
-// CHECK:      Name               = .weak._test_weak.default\r
-// CHECK-NEXT: Value              = 0\r
-// CHECK-NEXT: SectionNumber      = 65535\r
-// CHECK-NEXT: SimpleType         = IMAGE_SYM_TYPE_NULL (0)\r
-// CHECK-NEXT: ComplexType        = IMAGE_SYM_DTYPE_NULL (0)\r
-// CHECK-NEXT: StorageClass       = IMAGE_SYM_CLASS_EXTERNAL (2)\r
-// CHECK-NEXT: NumberOfAuxSymbols = 0\r
-// CHECK-NEXT: AuxillaryData      =\r
+// This tests that default-null weak symbols (a GNU extension) are created
+// properly via the .weak directive.
+
+// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 < %s | coff-dump.py | FileCheck %s
+
+    .def    _main;
+    .scl    2;
+    .type   32;
+    .endef
+    .text
+    .globl  _main
+    .align  16, 0x90
+_main:                                  # @main
+# BB#0:                                 # %entry
+    subl    $4, %esp
+    movl    $_test_weak, %eax
+    testl   %eax, %eax
+    je      LBB0_2
+# BB#1:                                 # %if.then
+    calll   _test_weak
+    movl    $1, %eax
+    addl    $4, %esp
+    ret
+LBB0_2:                                 # %return
+    xorl    %eax, %eax
+    addl    $4, %esp
+    ret
+
+    .weak   _test_weak
+
+// CHECK: Symbols = [
+
+// CHECK:      Name               = _test_weak
+// CHECK-NEXT: Value              = 0
+// CHECK-NEXT: SectionNumber      = 0
+// CHECK-NEXT: SimpleType         = IMAGE_SYM_TYPE_NULL (0)
+// CHECK-NEXT: ComplexType        = IMAGE_SYM_DTYPE_NULL (0)
+// CHECK-NEXT: StorageClass       = IMAGE_SYM_CLASS_WEAK_EXTERNAL (105)
+// CHECK-NEXT: NumberOfAuxSymbols = 1
+// CHECK-NEXT: AuxillaryData      =
+// CHECK-NEXT: 05 00 00 00 02 00 00 00 - 00 00 00 00 00 00 00 00 |................|
+// CHECK-NEXT: 00 00                                             |..|
+
+// CHECK:      Name               = .weak._test_weak.default
+// CHECK-NEXT: Value              = 0
+// CHECK-NEXT: SectionNumber      = 65535
+// CHECK-NEXT: SimpleType         = IMAGE_SYM_TYPE_NULL (0)
+// CHECK-NEXT: ComplexType        = IMAGE_SYM_DTYPE_NULL (0)
+// CHECK-NEXT: StorageClass       = IMAGE_SYM_CLASS_EXTERNAL (2)
+// CHECK-NEXT: NumberOfAuxSymbols = 0
+// CHECK-NEXT: AuxillaryData      =