xref: /llvm-project/llvm/test/tools/llvm-ml/alias.asm (revision 8fee2ee9a689276eaea61d4c3f124aa80a81b6f7)
1; RUN: llvm-ml %s /Fo - | llvm-readobj --syms - | FileCheck %s
2
3.code
4
5proc1 PROC
6  ret
7proc1 ENDP
8
9proc2 PROC
10  ret
11proc2 ENDP
12
13alias <t1> = <proc1>
14; CHECK:      Symbol {
15; CHECK:        Name: t1
16; CHECK-NEXT:   Value: 0
17; CHECK-NEXT:   Section: IMAGE_SYM_UNDEFINED (0)
18; CHECK-NEXT:   BaseType: Null
19; CHECK-NEXT:   ComplexType: Null
20; CHECK-NEXT:   StorageClass: WeakExternal
21; CHECK-NEXT:   AuxSymbolCount: 1
22; CHECK-NEXT:   AuxWeakExternal {
23; CHECK-NEXT:     Linked: proc1
24; CHECK-NEXT:     Search: Alias
25; CHECK-NEXT:   }
26; CHECK-NEXT: }
27
28alias <t2> = <proc2>
29; CHECK:      Symbol {
30; CHECK:        Name: t2
31; CHECK-NEXT:   Value: 0
32; CHECK-NEXT:   Section: IMAGE_SYM_UNDEFINED (0)
33; CHECK-NEXT:   BaseType: Null
34; CHECK-NEXT:   ComplexType: Null
35; CHECK-NEXT:   StorageClass: WeakExternal
36; CHECK-NEXT:   AuxSymbolCount: 1
37; CHECK-NEXT:   AuxWeakExternal {
38; CHECK-NEXT:     Linked: proc2
39; CHECK-NEXT:     Search: Alias
40; CHECK-NEXT:   }
41; CHECK-NEXT: }
42
43alias <t3> = <foo>
44; CHECK:      Symbol {
45; CHECK:        Name: t3
46; CHECK-NEXT:   Value: 0
47; CHECK-NEXT:   Section: IMAGE_SYM_UNDEFINED (0)
48; CHECK-NEXT:   BaseType: Null
49; CHECK-NEXT:   ComplexType: Null
50; CHECK-NEXT:   StorageClass: WeakExternal
51; CHECK-NEXT:   AuxSymbolCount: 1
52; CHECK-NEXT:   AuxWeakExternal {
53; CHECK-NEXT:     Linked: foo
54; CHECK-NEXT:     Search: Alias
55; CHECK-NEXT:   }
56; CHECK-NEXT: }
57
58alias <t4> = <bar>
59bar PROC
60  ret
61bar ENDP
62
63; CHECK:      Symbol {
64; CHECK:        Name: t4
65; CHECK-NEXT:   Value: 0
66; CHECK-NEXT:   Section: IMAGE_SYM_UNDEFINED (0)
67; CHECK-NEXT:   BaseType: Null
68; CHECK-NEXT:   ComplexType: Null
69; CHECK-NEXT:   StorageClass: WeakExternal
70; CHECK-NEXT:   AuxSymbolCount: 1
71; CHECK-NEXT:   AuxWeakExternal {
72; CHECK-NEXT:     Linked: bar
73; CHECK-NEXT:     Search: Alias
74; CHECK-NEXT:   }
75; CHECK-NEXT: }
76
77alias <t5> = <t2>
78; CHECK:      Symbol {
79; CHECK:        Name: t5
80; CHECK-NEXT:   Value: 0
81; CHECK-NEXT:   Section: IMAGE_SYM_UNDEFINED (0)
82; CHECK-NEXT:   BaseType: Null
83; CHECK-NEXT:   ComplexType: Null
84; CHECK-NEXT:   StorageClass: WeakExternal
85; CHECK-NEXT:   AuxSymbolCount: 1
86; CHECK-NEXT:   AuxWeakExternal {
87; CHECK-NEXT:     Linked: t2
88; CHECK-NEXT:     Search: Alias
89; CHECK-NEXT:   }
90; CHECK-NEXT: }
91
92END
93