[ms-coff] Add a test for proper handling of full Windows path names in the .drectve...
[oota-llvm.git] / test / MC / COFF / linkonce.s
1 // Test section manipulation via .linkonce directive.
2 //
3 // RUN: llvm-mc -triple i386-pc-win32 -filetype=obj %s | llvm-readobj -s -t | FileCheck %s
4 // RUN: llvm-mc -triple x86_64-pc-win32 -filetype=obj %s | llvm-readobj -s -t | FileCheck %s
5
6 .section s1
7 .linkonce
8 .long 1
9
10 .section s2
11 .linkonce one_only
12 .long 1
13
14 .section s3
15 .linkonce discard
16 .long 1
17
18 .section s4
19 .linkonce same_size
20 .long 1
21
22 .section s5
23 .linkonce same_contents
24 .long 1
25
26 .section s6
27 .long 1
28
29 .section s7
30 .linkonce largest
31 .long 1
32
33 .section s8
34 .linkonce newest
35 .long 1
36
37 .section .foo$bar
38 .linkonce discard
39 .long 1
40
41
42 // CHECK: Sections [
43 // CHECK:   Section {
44 // CHECK:     Name: s1
45 // CHECK:     Characteristics [
46 // CHECK:       IMAGE_SCN_LNK_COMDAT
47 // CHECK:     ]
48 // CHECK:   }
49 // CHECK:   Section {
50 // CHECK:     Name: s2
51 // CHECK:     Characteristics [
52 // CHECK:       IMAGE_SCN_LNK_COMDAT
53 // CHECK:     ]
54 // CHECK:   }
55 // CHECK:   Section {
56 // CHECK:     Name: s3
57 // CHECK:     Characteristics [
58 // CHECK:       IMAGE_SCN_LNK_COMDAT
59 // CHECK:     ]
60 // CHECK:   }
61 // CHECK:   Section {
62 // CHECK:     Name: s4
63 // CHECK:     Characteristics [
64 // CHECK:       IMAGE_SCN_LNK_COMDAT
65 // CHECK:     ]
66 // CHECK:   }
67 // CHECK:   Section {
68 // CHECK:     Name: s5
69 // CHECK:     Characteristics [
70 // CHECK:       IMAGE_SCN_LNK_COMDAT
71 // CHECK:     ]
72 // CHECK:   }
73 // CHECK:   Section {
74 // CHECK:     Name: s6
75 // CHECK:     Characteristics [
76 // CHECK:     ]
77 // CHECK:   }
78 // CHECK:   Section {
79 // CHECK:     Name: s7
80 // CHECK:     Characteristics [
81 // CHECK:       IMAGE_SCN_LNK_COMDAT
82 // CHECK:     ]
83 // CHECK:   }
84 // CHECK:   Section {
85 // CHECK:     Name: s8
86 // CHECK:     Characteristics [
87 // CHECK:       IMAGE_SCN_LNK_COMDAT
88 // CHECK:     ]
89 // CHECK:   }
90 // CHECK: ]
91 // CHECK: Symbols [
92 // CHECK:   Symbol {
93 // CHECK:     Name: s1
94 // CHECK:     Section: s1 (4)
95 // CHECK:     AuxSectionDef {
96 // CHECK:       Number: 4
97 // CHECK:       Selection: Any (0x2)
98 // CHECK:     }
99 // CHECK:   }
100 // CHECK:   Symbol {
101 // CHECK:     Name: s2
102 // CHECK:     Section: s2 (5)
103 // CHECK:     AuxSectionDef {
104 // CHECK:       Number: 5
105 // CHECK:       Selection: NoDuplicates (0x1)
106 // CHECK:     }
107 // CHECK:   }
108 // CHECK:   Symbol {
109 // CHECK:     Name: s3
110 // CHECK:     Section: s3 (6)
111 // CHECK:     AuxSectionDef {
112 // CHECK:       Number: 6
113 // CHECK:       Selection: Any (0x2)
114 // CHECK:     }
115 // CHECK:   }
116 // CHECK:   Symbol {
117 // CHECK:     Name: s4
118 // CHECK:     Section: s4 (7)
119 // CHECK:     AuxSectionDef {
120 // CHECK:       Number: 7
121 // CHECK:       Selection: SameSize (0x3)
122 // CHECK:     }
123 // CHECK:   }
124 // CHECK:   Symbol {
125 // CHECK:     Name: s5
126 // CHECK:     Section: s5 (8)
127 // CHECK:     AuxSectionDef {
128 // CHECK:       Number: 8
129 // CHECK:       Selection: ExactMatch (0x4)
130 // CHECK:     }
131 // CHECK:   }
132 // CHECK:   Symbol {
133 // CHECK:     Name: s6
134 // CHECK:   }
135 // CHECK:   Symbol {
136 // CHECK:     Name: s7
137 // CHECK:     Section: s7 (10)
138 // CHECK:     AuxSectionDef {
139 // CHECK:       Number: 10
140 // CHECK:       Selection: Largest (0x6)
141 // CHECK:     }
142 // CHECK:   }
143 // CHECK:   Symbol {
144 // CHECK:     Name: s8
145 // CHECK:     Section: s8 (11)
146 // CHECK:     AuxSectionDef {
147 // CHECK:       Number: 11
148 // CHECK:       Selection: Newest (0x7)
149 // CHECK:     }
150 // CHECK:   }