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