8a7de1a1d9192a5b303bfcfea55bc1642d49a6a4
[oota-llvm.git] / test / MC / COFF / section-comdat.s
1 // RUN: llvm-mc -triple i386-pc-win32 -filetype=obj %s | llvm-readobj -s -t | FileCheck %s
2 // RUN: llvm-mc -triple x86_64-pc-win32 -filetype=obj %s | llvm-readobj -s -t | FileCheck %s
3
4 .section assocSec, "dr", discard, "assocSym"
5 .long 1
6
7 .section secName, "dr", discard, "Symbol1"
8 .globl Symbol1
9 Symbol1:
10 .long 1
11
12 .section secName, "dr", one_only, "Symbol2"
13 .globl Symbol2
14 Symbol2:
15 .long 1
16
17 .section SecName, "dr", same_size, "Symbol3"
18 .globl Symbol3
19 Symbol3:
20 .long 1
21
22 .section SecName, "dr", same_contents, "Symbol4"
23 .globl Symbol4
24 Symbol4:
25 .long 1
26
27 .section SecName, "dr", associative, "assocSym"
28 .globl Symbol5
29 Symbol5:
30 .long 1
31
32 .section SecName, "dr", largest, "Symbol6"
33 .globl Symbol6
34 Symbol6:
35 .long 1
36
37 .section SecName, "dr", newest, "Symbol7"
38 .globl Symbol7
39 Symbol7:
40 .long 1
41
42 // CHECK: Sections [
43 // CHECK:   Section {
44 // CHECK:     Number: 4
45 // CHECK:     Name: assocSec
46 // CHECK:     Characteristics [
47 // CHECK:       IMAGE_SCN_LNK_COMDAT
48 // CHECK:     ]
49 // CHECK:   }
50 // CHECK:   Section {
51 // CHECK:     Number: 5
52 // CHECK:     Name: secName
53 // CHECK:     Characteristics [
54 // CHECK:       IMAGE_SCN_LNK_COMDAT
55 // CHECK:     ]
56 // CHECK:   }
57 // CHECK:   Section {
58 // CHECK:     Number: 6
59 // CHECK:     Name: secName
60 // CHECK:     Characteristics [
61 // CHECK:       IMAGE_SCN_LNK_COMDAT
62 // CHECK:     ]
63 // CHECK:   }
64 // CHECK:   Section {
65 // CHECK:     Number: 7
66 // CHECK:     Name: SecName
67 // CHECK:     Characteristics [
68 // CHECK:       IMAGE_SCN_LNK_COMDAT
69 // CHECK:     ]
70 // CHECK:   }
71 // CHECK:   Section {
72 // CHECK:     Number: 8
73 // CHECK:     Name: SecName
74 // CHECK:     Characteristics [
75 // CHECK:       IMAGE_SCN_LNK_COMDAT
76 // CHECK:     ]
77 // CHECK:   }
78 // CHECK:   Section {
79 // CHECK:     Number: 9
80 // CHECK:     Name: SecName
81 // CHECK:     Characteristics [
82 // CHECK:       IMAGE_SCN_LNK_COMDAT
83 // CHECK:     ]
84 // CHECK:   }
85 // CHECK:   Section {
86 // CHECK:     Number: 10
87 // CHECK:     Name: SecName
88 // CHECK:     Characteristics [
89 // CHECK:       IMAGE_SCN_LNK_COMDAT
90 // CHECK:     ]
91 // CHECK:   }
92 // CHECK:   Section {
93 // CHECK:     Number: 11
94 // CHECK:     Name: SecName
95 // CHECK:     Characteristics [
96 // CHECK:       IMAGE_SCN_LNK_COMDAT
97 // CHECK:     ]
98 // CHECK:   }
99 // CHECK: ]
100 // CHECK: Symbols [
101 // CHECK:   Symbol {
102 // CHECK:     Name: assocSec
103 // CHECK:     Section: assocSec (4)
104 // CHECK:     AuxSectionDef {
105 // CHECK:       Selection: Any
106 // CHECK:     }
107 // CHECK:   }
108 // CHECK:   Symbol {
109 // CHECK:     Name: assocSym
110 // CHECK:     Section: assocSec
111 // CHECK:   }
112 // CHECK:   Symbol {
113 // CHECK:     Name: secName
114 // CHECK:     Section: secName (5)
115 // CHECK:     AuxSectionDef {
116 // CHECK:       Selection: Any
117 // CHECK:     }
118 // CHECK:   }
119 // CHECK:   Symbol {
120 // CHECK:     Name: Symbol1
121 // CHECK:     Section: secName (5)
122 // CHECK:   }
123 // CHECK:   Symbol {
124 // CHECK:     Name: secName
125 // CHECK:     Section: secName (6)
126 // CHECK:     AuxSectionDef {
127 // CHECK:       Selection: NoDuplicates
128 // CHECK:     }
129 // CHECK:   }
130 // CHECK:   Symbol {
131 // CHECK:     Name: Symbol2
132 // CHECK:     Section: secName (6)
133 // CHECK:   }
134 // CHECK:   Symbol {
135 // CHECK:     Name: SecName
136 // CHECK:     Section: SecName (7)
137 // CHECK:     AuxSectionDef {
138 // CHECK:       Selection: SameSize
139 // CHECK:     }
140 // CHECK:   }
141 // CHECK:   Symbol {
142 // CHECK:     Name: Symbol3
143 // CHECK:     Section: SecName (7)
144 // CHECK:   }
145 // CHECK:   Symbol {
146 // CHECK:     Name: SecName
147 // CHECK:     Section: SecName (8)
148 // CHECK:     AuxSymbolCount: 1
149 // CHECK:     AuxSectionDef {
150 // CHECK:       Selection: ExactMatch
151 // CHECK:     }
152 // CHECK:   }
153 // CHECK:   Symbol {
154 // CHECK:     Name: Symbol4
155 // CHECK:     Section: SecName (8)
156 // CHECK:   }
157 // CHECK:   Symbol {
158 // CHECK:     Name: SecName
159 // CHECK:     Section: SecName (9)
160 // CHECK:     AuxSectionDef {
161 // CHECK:       Selection: Associative
162 // CHECK:       AssocSection: assocSec (4)
163 // CHECK:     }
164 // CHECK:   }
165 // CHECK:   Symbol {
166 // CHECK:     Name: SecName
167 // CHECK:     Section: SecName (10)
168 // CHECK:     AuxSectionDef {
169 // CHECK:       Selection: Largest
170 // CHECK:     }
171 // CHECK:   }
172 // CHECK:   Symbol {
173 // CHECK:     Name: Symbol6
174 // CHECK:     Section: SecName (10)
175 // CHECK:   }
176 // CHECK:   Symbol {
177 // CHECK:     Name: SecName
178 // CHECK:     Section: SecName (11)
179 // CHECK:     AuxSectionDef {
180 // CHECK:       Selection: Newest (0x7)
181 // CHECK:     }
182 // CHECK:   }
183 // CHECK:   Symbol {
184 // CHECK:     Name: Symbol7
185 // CHECK:     Section: SecName (11)
186 // CHECK:   }
187 // CHECK:   Symbol {
188 // CHECK:     Name: Symbol5
189 // CHECK:     Section: SecName (9)
190 // CHECK:   }
191 // CHECK: ]