diff options
author | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-10-07 06:29:33 +0000 |
---|---|---|
committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-10-07 06:29:33 +0000 |
commit | b5814a3c152bbb7097a6d90168ce6eabde788c60 (patch) | |
tree | a197e32332342cefb2dc0c2a28fc160c9925fd1a /test | |
parent | 68a1a9bff71bbdb4b29067d51b57fe2de4daa80a (diff) | |
download | llvm-b5814a3c152bbb7097a6d90168ce6eabde788c60.tar.gz llvm-b5814a3c152bbb7097a6d90168ce6eabde788c60.tar.bz2 llvm-b5814a3c152bbb7097a6d90168ce6eabde788c60.tar.xz |
MC-COFF: Fix symbol aliases. Fixes PR8251.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115909 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/MC/COFF/symbol-alias.ll | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/test/MC/COFF/symbol-alias.ll b/test/MC/COFF/symbol-alias.ll new file mode 100644 index 0000000000..3c00117f16 --- /dev/null +++ b/test/MC/COFF/symbol-alias.ll @@ -0,0 +1,48 @@ +; 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: llc -filetype=obj -mtriple i686-pc-win32 %s -o - | coff-dump.py | FileCheck %s +; RUN: llc -filetype=obj -mtriple x86_64-pc-win32 %s -o - | coff-dump.py | FileCheck %s + +define void @foo() { +entry: + ret void +} + +@bar = global i32 zeroinitializer + +@foo_alias = alias void ()* @foo +@bar_alias = alias i32* @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]] |