|  | // 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 | llvm-readobj -t | FileCheck %s | 
|  | // RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | llvm-readobj -t | 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 | 
|  |  | 
|  |  | 
|  | # Order is important here. Assign _bar_alias_alias before _bar_alias. | 
|  | .globl	_foo_alias | 
|  | _foo_alias = _foo | 
|  | .globl	_bar_alias_alias | 
|  | _bar_alias_alias = _bar_alias | 
|  | .globl	_bar_alias | 
|  | _bar_alias = _bar | 
|  |  | 
|  | // CHECK:      Name:                {{_?}}foo | 
|  | // CHECK-NEXT: Value:               [[FOO_VALUE:.*$]] | 
|  | // CHECK-NEXT: Section:             [[FOO_SECTION_NUMBER:.*$]] | 
|  | // CHECK-NEXT: BaseType:            [[FOO_SIMPLE_TYPE:.*$]] | 
|  | // CHECK-NEXT: ComplexType:         [[FOO_COMPLEX_TYPE:.*$]] | 
|  | // CHECK-NEXT: StorageClass:        [[FOO_STORAGE_CLASS:.*$]] | 
|  | // CHECK-NEXT: AuxSymbolCount:      [[FOO_NUMBER_OF_AUX_SYMBOLS:.*$]] | 
|  |  | 
|  | // CHECK:      Name:                {{_?}}bar | 
|  | // CHECK-NEXT: Value:               [[BAR_VALUE:.*$]] | 
|  | // CHECK-NEXT: Section:             [[BAR_SECTION_NUMBER:.*$]] | 
|  | // CHECK-NEXT: BaseType:            [[BAR_SIMPLE_TYPE:.*$]] | 
|  | // CHECK-NEXT: ComplexType:         [[BAR_COMPLEX_TYPE:.*$]] | 
|  | // CHECK-NEXT: StorageClass:        [[BAR_STORAGE_CLASS:.*$]] | 
|  | // CHECK-NEXT: AuxSymbolCount:      [[BAR_NUMBER_OF_AUX_SYMBOLS:.*$]] | 
|  |  | 
|  | // CHECK:      Name:                {{_?}}foo_alias | 
|  | // CHECK-NEXT: Value:               [[FOO_VALUE]] | 
|  | // CHECK-NEXT: Section:             [[FOO_SECTION_NUMBER]] | 
|  | // CHECK-NEXT: BaseType:            [[FOO_SIMPLE_TYPE]] | 
|  | // CHECK-NEXT: ComplexType:         Null (0x0) | 
|  | // CHECK-NEXT: StorageClass:        [[FOO_STORAGE_CLASS]] | 
|  | // CHECK-NEXT: AuxSymbolCount:      [[FOO_NUMBER_OF_AUX_SYMBOLS]] | 
|  |  | 
|  | // CHECK:      Name:                {{_?}}bar_alias_alias | 
|  | // CHECK-NEXT: Value:               [[BAR_VALUE]] | 
|  | // CHECK-NEXT: Section:             [[BAR_SECTION_NUMBER]] | 
|  | // CHECK-NEXT: BaseType:            [[BAR_SIMPLE_TYPE]] | 
|  | // CHECK-NEXT: ComplexType:         [[BAR_COMPLEX_TYPE]] | 
|  | // CHECK-NEXT: StorageClass:        [[BAR_STORAGE_CLASS]] | 
|  | // CHECK-NEXT: AuxSymbolCount:      [[BAR_NUMBER_OF_AUX_SYMBOLS]] | 
|  |  | 
|  | // CHECK:      Name:                {{_?}}bar_alias | 
|  | // CHECK-NEXT: Value:               [[BAR_VALUE]] | 
|  | // CHECK-NEXT: Section:             [[BAR_SECTION_NUMBER]] | 
|  | // CHECK-NEXT: BaseType:            [[BAR_SIMPLE_TYPE]] | 
|  | // CHECK-NEXT: ComplexType:         [[BAR_COMPLEX_TYPE]] | 
|  | // CHECK-NEXT: StorageClass:        [[BAR_STORAGE_CLASS]] | 
|  | // CHECK-NEXT: AuxSymbolCount:      [[BAR_NUMBER_OF_AUX_SYMBOLS]] | 
|  |  |