xref: /llvm-project/llvm/test/tools/llvm-rc/tag-stringtable.test (revision 64bc44f5ddfb6da4b6a8b51ea9a03f8772b3ae95)
1; RUN: llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-stringtable-basic.rc
2; RUN: llvm-readobj %t | FileCheck %s
3
4; CHECK:      Resource type (int): STRINGTABLE (ID 6)
5; CHECK-NEXT: Resource name (int): 1
6; CHECK-NEXT: Data version: 0
7; CHECK-NEXT: Memory flags: 0x1030
8; CHECK-NEXT: Language ID: 1033
9; CHECK-NEXT: Version (major): 0
10; CHECK-NEXT: Version (minor): 32
11; CHECK-NEXT: Characteristics: 50
12; CHECK-NEXT: Data size: 40
13; CHECK-NEXT: Data: (
14; CHECK-NEXT:   0000: 01006100 01006200 01006300 01006400  |..a...b...c...d.|
15; CHECK-NEXT:   0010: 00000000 00000000 00000000 00000000  |................|
16; CHECK-NEXT:   0020: 00000000 00000000                    |........|
17; CHECK-NEXT: )
18
19; CHECK-DAG:  Resource type (int): STRINGTABLE (ID 6)
20; CHECK-NEXT: Resource name (int): 2
21; CHECK-NEXT: Data version: 0
22; CHECK-NEXT: Memory flags: 0x1030
23; CHECK-NEXT: Language ID: 1033
24; CHECK-NEXT: Version (major): 0
25; CHECK-NEXT: Version (minor): 0
26; CHECK-NEXT: Characteristics: 0
27; CHECK-NEXT: Data size: 40
28; CHECK-NEXT: Data: (
29; CHECK-NEXT:   0000: 02006200 62000200 63006300 00000000  |..b.b...c.c.....|
30; CHECK-NEXT:   0010: 00000000 00000000 00000000 00000000  |................|
31; CHECK-NEXT:   0020: 00000000 00000000                    |........|
32; CHECK-NEXT: )
33
34; CHECK-DAG:  Resource type (int): STRINGTABLE (ID 6)
35; CHECK-NEXT: Resource name (int): 2
36; CHECK-NEXT: Data version: 0
37; CHECK-NEXT: Memory flags: 0x1030
38; CHECK-NEXT: Language ID: 7172
39; CHECK-NEXT: Version (major): 0
40; CHECK-NEXT: Version (minor): 100
41; CHECK-NEXT: Characteristics: 0
42; CHECK-NEXT: Data size: 80
43; CHECK-NEXT: Data: (
44; CHECK-NEXT:   0000: 05006800 65006C00 6C006F00 05007700  |..h.e.l.l.o...w.|
45; CHECK-NEXT:   0010: 6F007200 6C006400 00000000 00000000  |o.r.l.d.........|
46; CHECK-NEXT:   0020: 00000E00 73006F00 6D006500 74006800  |....s.o.m.e.t.h.|
47; CHECK-NEXT:   0030: 69006E00 67002000 65006C00 73006500  |i.n.g. .e.l.s.e.|
48; CHECK-NEXT:   0040: 00000000 00000000 00000000 00000000  |................|
49; CHECK-NEXT: )
50
51; CHECK-DAG:  Resource type (int): STRINGTABLE (ID 6)
52; CHECK-NEXT: Resource name (int): 3
53; CHECK-NEXT: Data version: 0
54; CHECK-NEXT: Memory flags: 0x1030
55; CHECK-NEXT: Language ID: 1033
56; CHECK-NEXT: Version (major): 0
57; CHECK-NEXT: Version (minor): 50
58; CHECK-NEXT: Characteristics: 50
59; CHECK-NEXT: Data size: 38
60; CHECK-NEXT: Data: (
61; CHECK-NEXT:   0000: 03006300 63006300 00000000 00000000  |..c.c.c.........|
62; CHECK-NEXT:   0010: 00000000 00000000 00000000 00000000  |................|
63; CHECK-NEXT:   0020: 00000000 0000                        |......|
64; CHECK-NEXT: )
65
66; CHECK-DAG:  Resource type (int): STRINGTABLE (ID 6)
67; CHECK-NEXT: Resource name (int): 4096
68; CHECK-NEXT: Data version: 0
69; CHECK-NEXT: Memory flags: 0x1030
70; CHECK-NEXT: Language ID: 7172
71; CHECK-NEXT: Version (major): 0
72; CHECK-NEXT: Version (minor): 101
73; CHECK-NEXT: Characteristics: 0
74; CHECK-NEXT: Data size: 74
75; CHECK-NEXT: Data: (
76; CHECK-NEXT:   0000: 00000000 00000000 00000000 00000000  |................|
77; CHECK-NEXT:   0010: 00000C00 6C006100 72006700 65002000  |....l.a.r.g.e. .|
78; CHECK-NEXT:   0020: 6E007500 6D006200 65007200 00000000  |n.u.m.b.e.r.....|
79; CHECK-NEXT:   0030: 00000000 00000900 6D006900 6E007500  |........m.i.n.u.|
80; CHECK-NEXT:   0040: 73002000 6F006E00 6500               |s. .o.n.e.|
81; CHECK-NEXT: )
82
83
84; RUN: llvm-rc -no-preprocess /N /FO %t0 -- %p/Inputs/tag-stringtable-basic.rc
85; RUN: llvm-readobj %t0 | FileCheck %s --check-prefix=NULL
86
87; NULL:      Resource type (int): STRINGTABLE (ID 6)
88; NULL-NEXT: Resource name (int): 1
89; NULL-NEXT: Data version: 0
90; NULL-NEXT: Memory flags: 0x1030
91; NULL-NEXT: Language ID: 1033
92; NULL-NEXT: Version (major): 0
93; NULL-NEXT: Version (minor): 32
94; NULL-NEXT: Characteristics: 50
95; NULL-NEXT: Data size: 52
96; NULL-NEXT: Data: (
97; NULL-NEXT:   0000: 02006100 00000200 62000000 02006300  |..a.....b.....c.|
98; NULL-NEXT:   0010: 00000200 64000000 01000000 00000000  |....d...........|
99; NULL-NEXT:   0020: 00000100 00000000 00000000 00000000  |................|
100; NULL-NEXT:   0030: 00000000                             |....|
101; NULL-NEXT: )
102
103; NULL-DAG:  Resource type (int): STRINGTABLE (ID 6)
104; NULL-NEXT: Resource name (int): 2
105; NULL-NEXT: Data version: 0
106; NULL-NEXT: Memory flags: 0x1030
107; NULL-NEXT: Language ID: 1033
108; NULL-NEXT: Version (major): 0
109; NULL-NEXT: Version (minor): 0
110; NULL-NEXT: Characteristics: 0
111; NULL-NEXT: Data size: 44
112; NULL-NEXT: Data: (
113; NULL-NEXT:   0000: 03006200 62000000 03006300 63000000  |..b.b.....c.c...|
114; NULL-NEXT:   0010: 00000000 00000000 00000000 00000000  |................|
115; NULL-NEXT:   0020: 00000000 00000000 00000000           |............|
116; NULL-NEXT: )
117
118; NULL-DAG:  Resource type (int): STRINGTABLE (ID 6)
119; NULL-NEXT: Resource name (int): 2
120; NULL-NEXT: Data version: 0
121; NULL-NEXT: Memory flags: 0x1030
122; NULL-NEXT: Language ID: 7172
123; NULL-NEXT: Version (major): 0
124; NULL-NEXT: Version (minor): 100
125; NULL-NEXT: Characteristics: 0
126; NULL-NEXT: Data size: 86
127; NULL-NEXT: Data: (
128; NULL-NEXT:   0000: 06006800 65006C00 6C006F00 00000600  |..h.e.l.l.o.....|
129; NULL-NEXT:   0010: 77006F00 72006C00 64000000 00000000  |w.o.r.l.d.......|
130; NULL-NEXT:   0020: 00000000 00000F00 73006F00 6D006500  |........s.o.m.e.|
131; NULL-NEXT:   0030: 74006800 69006E00 67002000 65006C00  |t.h.i.n.g. .e.l.|
132; NULL-NEXT:   0040: 73006500 00000000 00000000 00000000  |s.e.............|
133; NULL-NEXT:   0050: 00000000 0000                        |......|
134; NULL-NEXT: )
135
136; NULL-DAG:  Resource type (int): STRINGTABLE (ID 6)
137; NULL-NEXT: Resource name (int): 3
138; NULL-NEXT: Data version: 0
139; NULL-NEXT: Memory flags: 0x1030
140; NULL-NEXT: Language ID: 1033
141; NULL-NEXT: Version (major): 0
142; NULL-NEXT: Version (minor): 50
143; NULL-NEXT: Characteristics: 50
144; NULL-NEXT: Data size: 40
145; NULL-NEXT: Data: (
146; NULL-NEXT:   0000: 04006300 63006300 00000000 00000000  |..c.c.c.........|
147; NULL-NEXT:   0010: 00000000 00000000 00000000 00000000  |................|
148; NULL-NEXT:   0020: 00000000 00000000                    |........|
149; NULL-NEXT: )
150
151; NULL-DAG:  Resource type (int): STRINGTABLE (ID 6)
152; NULL-NEXT: Resource name (int): 4096
153; NULL-NEXT: Data version: 0
154; NULL-NEXT: Memory flags: 0x1030
155; NULL-NEXT: Language ID: 7172
156; NULL-NEXT: Version (major): 0
157; NULL-NEXT: Version (minor): 101
158; NULL-NEXT: Characteristics: 0
159; NULL-NEXT: Data size: 78
160; NULL-NEXT: Data: (
161; NULL-NEXT:   0000: 00000000 00000000 00000000 00000000  |................|
162; NULL-NEXT:   0010: 00000D00 6C006100 72006700 65002000  |....l.a.r.g.e. .|
163; NULL-NEXT:   0020: 6E007500 6D006200 65007200 00000000  |n.u.m.b.e.r.....|
164; NULL-NEXT:   0030: 00000000 00000000 0A006D00 69006E00  |..........m.i.n.|
165; NULL-NEXT:   0040: 75007300 20006F00 6E006500 0000      |u.s. .o.n.e...|
166; NULL-NEXT: )
167
168
169; RUN: not llvm-rc -no-preprocess /FO %t -- %p/Inputs/tag-stringtable-same-ids.rc 2>&1 | FileCheck %s --check-prefix SAMEIDS
170; SAMEIDS: llvm-rc: Multiple STRINGTABLE strings located under ID 1
171