1; RUN: rm -rf %t 2; RUN: mkdir %t 3 4; RUN: llvm-rc -no-preprocess /FO %t/tag-icon-cursor.res -- %p/Inputs/tag-icon-cursor.rc 5; RUN: llvm-readobj %t/tag-icon-cursor.res | FileCheck %s 6 7; CHECK: Resource type (int): CURSOR (ID 1) 8; CHECK-NEXT: Resource name (int): 1 9; CHECK-NEXT: Data version: 0 10; CHECK-NEXT: Memory flags: 0x1010 11; CHECK-NEXT: Language ID: 1033 12; CHECK-NEXT: Version (major): 0 13; CHECK-NEXT: Version (minor): 0 14; CHECK-NEXT: Characteristics: 0 15; CHECK-NEXT: Data size: 308 16; CHECK-NEXT: Data: ( 17; CHECK-NEXT: 0000: 0A000B00 28000000 20000000 40000000 |....(... ...@...| 18; CHECK-NEXT: 0010: 01000100 00000000 80000000 00000000 |................| 19; CHECK-NEXT: 0020: 00000000 02000000 00000000 00000000 |................| 20; (...) 21; CHECK-DAG: 0110: FFFFFFFF FFFFFFFF FFFFFFFF F3CFFFFF |................| 22; CHECK-NEXT: 0120: F3CFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................| 23; CHECK-NEXT: 0130: FFFFFFFF |....| 24; CHECK-NEXT: ) 25 26; CHECK-DAG: Resource type (int): GROUP_CURSOR (ID 12) 27; CHECK-NEXT: Resource name (int): 4464 28; CHECK-NEXT: Data version: 0 29; CHECK-NEXT: Memory flags: 0x1030 30; CHECK-NEXT: Language ID: 1033 31; CHECK-NEXT: Version (major): 0 32; CHECK-NEXT: Version (minor): 0 33; CHECK-NEXT: Characteristics: 0 34; CHECK-NEXT: Data size: 20 35; CHECK-NEXT: Data: ( 36; CHECK-NEXT: 0000: 00000200 01002000 40000100 01003401 |...... .@.....4.| 37; CHECK-NEXT: 0010: 00000100 |....| 38; CHECK-NEXT: ) 39 40; CHECK-DAG: Resource type (int): CURSOR (ID 1) 41; CHECK-NEXT: Resource name (int): 2 42; CHECK-NEXT: Data version: 0 43; CHECK-NEXT: Memory flags: 0x1010 44; CHECK-NEXT: Language ID: 1033 45; CHECK-NEXT: Version (major): 0 46; CHECK-NEXT: Version (minor): 0 47; CHECK-NEXT: Characteristics: 0 48; CHECK-NEXT: Data size: 2220 49; CHECK-NEXT: Data: ( 50; CHECK-NEXT: 0000: 01000C00 28000000 20000000 40000000 |....(... ...@...| 51; CHECK-NEXT: 0010: 01000800 00000000 00040000 00000000 |................| 52; CHECK-NEXT: 0020: 00000000 00010000 00000000 00000000 |................| 53; (...) 54; CHECK-DAG: 0880: C001FFFF F557FFFF F557FFFF F551FFFF |.....W...W...Q..| 55; CHECK-NEXT: 0890: C005FFFF B557FFFF F557FFFF F557FFFF |.....W...W...W..| 56; CHECK-NEXT: 08A0: C001FFFF F557FFFF FFFFFFFF |.....W......| 57; CHECK-NEXT: ) 58 59; CHECK-DAG: Resource type (int): GROUP_CURSOR (ID 12) 60; CHECK-NEXT: Resource name (int): 4465 61; CHECK-NEXT: Data version: 0 62; CHECK-NEXT: Memory flags: 0x1030 63; CHECK-NEXT: Language ID: 1033 64; CHECK-NEXT: Version (major): 0 65; CHECK-NEXT: Version (minor): 0 66; CHECK-NEXT: Characteristics: 0 67; CHECK-NEXT: Data size: 20 68; CHECK-NEXT: Data: ( 69; CHECK-NEXT: 0000: 00000200 01002000 40000100 0800AC08 |...... .@.......| 70; CHECK-NEXT: 0010: 00000200 |....| 71; CHECK-NEXT: ) 72 73; CHECK-DAG: Resource type (int): ICON (ID 3) 74; CHECK-NEXT: Resource name (int): 3 75; CHECK-NEXT: Data version: 0 76; CHECK-NEXT: Memory flags: 0x1010 77; CHECK-NEXT: Language ID: 1033 78; CHECK-NEXT: Version (major): 0 79; CHECK-NEXT: Version (minor): 0 80; CHECK-NEXT: Characteristics: 0 81; CHECK-NEXT: Data size: 1128 82; CHECK-NEXT: Data: ( 83; CHECK-NEXT: 0000: 28000000 10000000 20000000 01002000 |(....... ..... .| 84; CHECK-NEXT: 0010: 00000000 00040000 C30E0000 C30E0000 |................| 85; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................| 86; (...) 87; CHECK-DAG: 0440: 00000000 00000000 00000000 00000000 |................| 88; CHECK-NEXT: 0450: 00000000 00000000 00000000 00000000 |................| 89; CHECK-NEXT: 0460: 00000000 00000000 |........| 90; CHECK-NEXT: ) 91 92; CHECK-DAG: Resource type (int): ICON (ID 3) 93; CHECK-NEXT: Resource name (int): 4 94; CHECK-NEXT: Data version: 0 95; CHECK-NEXT: Memory flags: 0x1010 96; CHECK-NEXT: Language ID: 1033 97; CHECK-NEXT: Version (major): 0 98; CHECK-NEXT: Version (minor): 0 99; CHECK-NEXT: Characteristics: 0 100; CHECK-NEXT: Data size: 2440 101; CHECK-NEXT: Data: ( 102; CHECK-NEXT: 0000: 28000000 18000000 30000000 01002000 |(.......0..... .| 103; CHECK-NEXT: 0010: 00000000 00090000 C30E0000 C30E0000 |................| 104; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................| 105; (...) 106; CHECK-DAG: 0960: 00000000 00000000 00000000 00000000 |................| 107; CHECK-NEXT: 0970: 00000000 00000000 00000000 00000000 |................| 108; CHECK-NEXT: 0980: 00000000 00000000 |........| 109; CHECK-NEXT: ) 110 111; CHECK-DAG: Resource type (int): ICON (ID 3) 112; CHECK-NEXT: Resource name (int): 5 113; CHECK-NEXT: Data version: 0 114; CHECK-NEXT: Memory flags: 0x1010 115; CHECK-NEXT: Language ID: 1033 116; CHECK-NEXT: Version (major): 0 117; CHECK-NEXT: Version (minor): 0 118; CHECK-NEXT: Characteristics: 0 119; CHECK-NEXT: Data size: 4264 120; CHECK-NEXT: Data: ( 121; CHECK-NEXT: 0000: 28000000 20000000 40000000 01002000 |(... ...@..... .| 122; CHECK-NEXT: 0010: 00000000 00100000 C30E0000 C30E0000 |................| 123; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................| 124; (...) 125; CHECK-DAG: 1080: 00000000 00000000 00000000 00000000 |................| 126; CHECK-NEXT: 1090: 00000000 00000000 00000000 00000000 |................| 127; CHECK-NEXT: 10A0: 00000000 00000000 |........| 128; CHECK-NEXT: ) 129 130; CHECK-DAG: Resource type (int): ICON (ID 3) 131; CHECK-NEXT: Resource name (int): 6 132; CHECK-NEXT: Data version: 0 133; CHECK-NEXT: Memory flags: 0x1010 134; CHECK-NEXT: Language ID: 1033 135; CHECK-NEXT: Version (major): 0 136; CHECK-NEXT: Version (minor): 0 137; CHECK-NEXT: Characteristics: 0 138; CHECK-NEXT: Data size: 9640 139; CHECK-NEXT: Data: ( 140; CHECK-NEXT: 0000: 28000000 30000000 60000000 01002000 |(...0...`..... .| 141; CHECK-NEXT: 0010: 00000000 00240000 C30E0000 C30E0000 |.....$..........| 142; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................| 143; (...) 144; CHECK-DAG: 2580: 00000000 00000000 00000000 00000000 |................| 145; CHECK-NEXT: 2590: 00000000 00000000 00000000 00000000 |................| 146; CHECK-NEXT: 25A0: 00000000 00000000 |........| 147; CHECK-NEXT: ) 148 149; CHECK-DAG: Resource type (int): GROUP_ICON (ID 14) 150; CHECK-NEXT: Resource name (int): 100 151; CHECK-NEXT: Data version: 0 152; CHECK-NEXT: Memory flags: 0x1030 153; CHECK-NEXT: Language ID: 1033 154; CHECK-NEXT: Version (major): 0 155; CHECK-NEXT: Version (minor): 0 156; CHECK-NEXT: Characteristics: 0 157; CHECK-NEXT: Data size: 62 158; CHECK-NEXT: Data: ( 159; CHECK-NEXT: 0000: 00000100 04001010 00000100 20006804 |............ .h.| 160; CHECK-NEXT: 0010: 00000300 18180000 01002000 88090000 |.......... .....| 161; CHECK-NEXT: 0020: 04002020 00000100 2000A810 00000500 |.. .... .......| 162; CHECK-NEXT: 0030: 30300000 01002000 A8250000 0600 |00.... ..%....| 163; CHECK-NEXT: ) 164 165; CHECK-DAG: Resource type (int): CURSOR (ID 1) 166; CHECK-NEXT: Resource name (int): 7 167; CHECK-NEXT: Data version: 0 168; CHECK-NEXT: Memory flags: 0x1010 169; CHECK-NEXT: Language ID: 1033 170; CHECK-NEXT: Version (major): 0 171; CHECK-NEXT: Version (minor): 0 172; CHECK-NEXT: Characteristics: 0 173; CHECK-NEXT: Data size: 4268 174; CHECK-NEXT: Data: ( 175; CHECK-NEXT: 0000: 0D000600 28000000 20000000 40000000 |....(... ...@...| 176; CHECK-NEXT: 0010: 01002000 00000000 00100000 00000000 |.. .............| 177; CHECK-NEXT: 0020: 00000000 00000000 00000000 00000000 |................| 178; (...) 179; CHECK-DAG: 1080: E027FFFF C3F3FFFF FFFFFFFF FFFFFFFF |.'..............| 180; CHECK-NEXT: 1090: FFFFFFFF F3CFFFFF F3CFFFFF FFFFFFFF |................| 181; CHECK-NEXT: 10A0: FFFFFFFF FFFFFFFF FFFFFFFF |............| 182; CHECK-NEXT: ) 183 184; CHECK-DAG: Resource type (int): GROUP_CURSOR (ID 12) 185; CHECK-NEXT: Resource name (int): 4466 186; CHECK-NEXT: Data version: 0 187; CHECK-NEXT: Memory flags: 0x1030 188; CHECK-NEXT: Language ID: 1033 189; CHECK-NEXT: Version (major): 0 190; CHECK-NEXT: Version (minor): 0 191; CHECK-NEXT: Characteristics: 0 192; CHECK-NEXT: Data size: 20 193; CHECK-NEXT: Data: ( 194; CHECK-NEXT: 0000: 00000200 01002000 40000100 2000AC10 |...... .@... ...| 195; CHECK-NEXT: 0010: 00000700 |....| 196; CHECK-NEXT: ) 197 198; CHECK-DAG: Resource type (int): ICON (ID 3) 199; CHECK-NEXT: Resource name (int): 8 200; CHECK-NEXT: Data version: 0 201; CHECK-NEXT: Memory flags: 0x1010 202; CHECK-NEXT: Language ID: 1033 203; CHECK-NEXT: Version (major): 0 204; CHECK-NEXT: Version (minor): 0 205; CHECK-NEXT: Characteristics: 0 206; CHECK-NEXT: Data size: 1128 207; CHECK-NEXT: Data: ( 208; CHECK-NEXT: 0000: 28000000 10000000 20000000 01002000 |(....... ..... .| 209; CHECK-NEXT: 0010: 00000000 00040000 C30E0000 C30E0000 |................| 210; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................| 211; (...) 212; CHECK-DAG: 0440: 00000000 00000000 00000000 00000000 |................| 213; CHECK-NEXT: 0450: 00000000 00000000 00000000 00000000 |................| 214; CHECK-NEXT: 0460: 00000000 00000000 |........| 215; CHECK-NEXT: ) 216 217; CHECK-DAG: Resource type (int): ICON (ID 3) 218; CHECK-NEXT: Resource name (int): 9 219; CHECK-NEXT: Data version: 0 220; CHECK-NEXT: Memory flags: 0x1010 221; CHECK-NEXT: Language ID: 1033 222; CHECK-NEXT: Version (major): 0 223; CHECK-NEXT: Version (minor): 0 224; CHECK-NEXT: Characteristics: 0 225; CHECK-NEXT: Data size: 2440 226; CHECK-NEXT: Data: ( 227; CHECK-NEXT: 0000: 28000000 18000000 30000000 01002000 |(.......0..... .| 228; CHECK-NEXT: 0010: 00000000 00090000 C30E0000 C30E0000 |................| 229; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................| 230; (...) 231; CHECK-DAG: 0960: 00000000 00000000 00000000 00000000 |................| 232; CHECK-NEXT: 0970: 00000000 00000000 00000000 00000000 |................| 233; CHECK-NEXT: 0980: 00000000 00000000 |........| 234; CHECK-NEXT: ) 235 236; CHECK-DAG: Resource type (int): ICON (ID 3) 237; CHECK-NEXT: Resource name (int): 10 238; CHECK-NEXT: Data version: 0 239; CHECK-NEXT: Memory flags: 0x1010 240; CHECK-NEXT: Language ID: 1033 241; CHECK-NEXT: Version (major): 0 242; CHECK-NEXT: Version (minor): 0 243; CHECK-NEXT: Characteristics: 0 244; CHECK-NEXT: Data size: 4264 245; CHECK-NEXT: Data: ( 246; CHECK-NEXT: 0000: 28000000 20000000 40000000 01002000 |(... ...@..... .| 247; CHECK-NEXT: 0010: 00000000 00100000 C30E0000 C30E0000 |................| 248; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................| 249; (...) 250; CHECK-DAG: 1080: 00000000 00000000 00000000 00000000 |................| 251; CHECK-NEXT: 1090: 00000000 00000000 00000000 00000000 |................| 252; CHECK-NEXT: 10A0: 00000000 00000000 |........| 253; CHECK-NEXT: ) 254 255; CHECK-DAG: Resource type (int): ICON (ID 3) 256; CHECK-NEXT: Resource name (int): 11 257; CHECK-NEXT: Data version: 0 258; CHECK-NEXT: Memory flags: 0x1010 259; CHECK-NEXT: Language ID: 1033 260; CHECK-NEXT: Version (major): 0 261; CHECK-NEXT: Version (minor): 0 262; CHECK-NEXT: Characteristics: 0 263; CHECK-NEXT: Data size: 9640 264; CHECK-NEXT: Data: ( 265; CHECK-NEXT: 0000: 28000000 30000000 60000000 01002000 |(...0...`..... .| 266; CHECK-NEXT: 0010: 00000000 00240000 C30E0000 C30E0000 |.....$..........| 267; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................| 268; (...) 269; CHECK-DAG: 2580: 00000000 00000000 00000000 00000000 |................| 270; CHECK-NEXT: 2590: 00000000 00000000 00000000 00000000 |................| 271; CHECK-NEXT: 25A0: 00000000 00000000 |........| 272; CHECK-NEXT: ) 273 274; CHECK-DAG: Resource type (int): GROUP_ICON (ID 14) 275; CHECK-NEXT: Resource name (int): 100 276; CHECK-NEXT: Data version: 0 277; CHECK-NEXT: Memory flags: 0x1030 278; CHECK-NEXT: Language ID: 1033 279; CHECK-NEXT: Version (major): 0 280; CHECK-NEXT: Version (minor): 0 281; CHECK-NEXT: Characteristics: 0 282; CHECK-NEXT: Data size: 62 283; CHECK-NEXT: Data: ( 284; CHECK-NEXT: 0000: 00000100 04001010 00000100 20006804 |............ .h.| 285; CHECK-NEXT: 0010: 00000800 18180000 01002000 88090000 |.......... .....| 286; CHECK-NEXT: 0020: 09002020 00000100 2000A810 00000A00 |.. .... .......| 287; CHECK-NEXT: 0030: 30300000 01002000 A8250000 0B00 |00.... ..%....| 288; CHECK-NEXT: ) 289 290; CHECK-DAG: Resource type (int): ICON (ID 3) 291; CHECK-NEXT: Resource name (int): 12 292; CHECK-NEXT: Data version: 0 293; CHECK-NEXT: Memory flags: 0x1010 294; CHECK-NEXT: Language ID: 1033 295; CHECK-NEXT: Version (major): 0 296; CHECK-NEXT: Version (minor): 0 297; CHECK-NEXT: Characteristics: 0 298; CHECK-NEXT: Data size: 82 299; CHECK-NEXT: Data: ( 300; CHECK-NEXT: 0000: 89504E47 0D0A1A0A 0000000D 49484452 |.PNG........IHDR| 301; CHECK-NEXT: 0010: 00000010 00000010 08060000 001FF3FF |................| 302; CHECK-NEXT: 0020: 61000000 19494441 5438CB63 FC0F040C |a....IDAT8.c....| 303; CHECK-NEXT: 0030: 1400C651 03460D18 3560B818 0000251F |...Q.F..5`....%.| 304; CHECK-NEXT: 0040: 3FD1D6DC 546E0000 00004945 4E44AE42 |?...Tn....IEND.B| 305; CHECK-NEXT: 0050: 6082 |`.| 306; CHECK-NEXT: ) 307 308; CHECK-DAG: Resource type (int): GROUP_ICON (ID 14) 309; CHECK-NEXT: Resource name (int): 100 310; CHECK-NEXT: Data version: 0 311; CHECK-NEXT: Memory flags: 0x1030 312; CHECK-NEXT: Language ID: 1033 313; CHECK-NEXT: Version (major): 0 314; CHECK-NEXT: Version (minor): 0 315; CHECK-NEXT: Characteristics: 0 316; CHECK-NEXT: Data size: 20 317; CHECK-NEXT: Data: ( 318; CHECK-NEXT: 0000: 00000100 01001010 00000100 20005200 |............ .R.| 319; CHECK-NEXT: 0010: 00000C00 |....| 320; CHECK-NEXT: ) 321 322 323; RUN: not llvm-rc -no-preprocess /FO %t/1 -- %p/Inputs/tag-icon-cursor-nonexistent.rc 2>&1 | FileCheck %s --check-prefix NOFILE 324; NOFILE: llvm-rc: Error in CURSOR statement (ID 500): 325; NOFILE-NEXT: file not found : this-file-does-not-exist.cur 326 327 328; RUN: not llvm-rc -no-preprocess /FO %t/1 -- %p/Inputs/tag-icon-cursor-nonsense.rc 2>&1 | FileCheck %s --check-prefix NONSENSE 329 330; NONSENSE: llvm-rc: Error in ICON statement (ID 1): 331; NONSENSE-NEXT: Incorrect icon/cursor Reserved field; should be 0. 332