brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 888da3f Raw
74 lines · plain
1// The purpose of this test is to verify that symbol aliases2// (@foo:  alias <type> @bar) generate the correct entries in the symbol table.3// They should be identical except for the name.4 5// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | llvm-readobj --symbols - | FileCheck %s6// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | llvm-readobj --symbols - | FileCheck %s7 8	.def	 _foo;9	.scl	2;10	.type	32;11	.endef12	.text13	.globl	_foo14	.align	16, 0x9015_foo:                                   # @foo16# %bb.0:                                # %entry17	ret18 19	.data20	.globl	_bar                    # @bar21	.align	422_bar:23	.long	0                       # 0x024 25 26# Order is important here. Assign _bar_alias_alias before _bar_alias.27	.globl	_foo_alias28_foo_alias = _foo29	.globl	_bar_alias_alias30_bar_alias_alias = _bar_alias31	.globl	_bar_alias32_bar_alias = _bar33 34// CHECK:      Name:                {{_?}}foo35// CHECK-NEXT: Value:               [[FOO_VALUE:.*$]]36// CHECK-NEXT: Section:             [[FOO_SECTION_NUMBER:.*$]]37// CHECK-NEXT: BaseType:            [[FOO_SIMPLE_TYPE:.*$]]38// CHECK-NEXT: ComplexType:         [[FOO_COMPLEX_TYPE:.*$]]39// CHECK-NEXT: StorageClass:        [[FOO_STORAGE_CLASS:.*$]]40// CHECK-NEXT: AuxSymbolCount:      [[FOO_NUMBER_OF_AUX_SYMBOLS:.*$]]41 42// CHECK:      Name:                {{_?}}bar43// CHECK-NEXT: Value:               [[BAR_VALUE:.*$]]44// CHECK-NEXT: Section:             [[BAR_SECTION_NUMBER:.*$]]45// CHECK-NEXT: BaseType:            [[BAR_SIMPLE_TYPE:.*$]]46// CHECK-NEXT: ComplexType:         [[BAR_COMPLEX_TYPE:.*$]]47// CHECK-NEXT: StorageClass:        [[BAR_STORAGE_CLASS:.*$]]48// CHECK-NEXT: AuxSymbolCount:      [[BAR_NUMBER_OF_AUX_SYMBOLS:.*$]]49 50// CHECK:      Name:                {{_?}}foo_alias51// CHECK-NEXT: Value:               [[FOO_VALUE]]52// CHECK-NEXT: Section:             [[FOO_SECTION_NUMBER]]53// CHECK-NEXT: BaseType:            [[FOO_SIMPLE_TYPE]]54// CHECK-NEXT: ComplexType:         Null (0x0)55// CHECK-NEXT: StorageClass:        [[FOO_STORAGE_CLASS]]56// CHECK-NEXT: AuxSymbolCount:      [[FOO_NUMBER_OF_AUX_SYMBOLS]]57 58// CHECK:      Name:                {{_?}}bar_alias_alias59// CHECK-NEXT: Value:               [[BAR_VALUE]]60// CHECK-NEXT: Section:             [[BAR_SECTION_NUMBER]]61// CHECK-NEXT: BaseType:            [[BAR_SIMPLE_TYPE]]62// CHECK-NEXT: ComplexType:         [[BAR_COMPLEX_TYPE]]63// CHECK-NEXT: StorageClass:        [[BAR_STORAGE_CLASS]]64// CHECK-NEXT: AuxSymbolCount:      [[BAR_NUMBER_OF_AUX_SYMBOLS]]65 66// CHECK:      Name:                {{_?}}bar_alias67// CHECK-NEXT: Value:               [[BAR_VALUE]]68// CHECK-NEXT: Section:             [[BAR_SECTION_NUMBER]]69// CHECK-NEXT: BaseType:            [[BAR_SIMPLE_TYPE]]70// CHECK-NEXT: ComplexType:         [[BAR_COMPLEX_TYPE]]71// CHECK-NEXT: StorageClass:        [[BAR_STORAGE_CLASS]]72// CHECK-NEXT: AuxSymbolCount:      [[BAR_NUMBER_OF_AUX_SYMBOLS]]73 74