; RUN: rm -rf %t
; RUN: mkdir %t
; RUN: llvm-rc -no-preprocess /FO %t/tag-icon-cursor.res -- %p/Inputs/tag-icon-cursor.rc
; RUN: llvm-readobj %t/tag-icon-cursor.res | FileCheck %s
; CHECK: Resource type (int): CURSOR (ID 1)
; CHECK-NEXT: Resource name (int): 1
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1010
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 308
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 0A000B00 28000000 20000000 40000000 |....(... ...@...|
; CHECK-NEXT: 0010: 01000100 00000000 80000000 00000000 |................|
; CHECK-NEXT: 0020: 00000000 02000000 00000000 00000000 |................|
; (...)
; CHECK-DAG: 0110: FFFFFFFF FFFFFFFF FFFFFFFF F3CFFFFF |................|
; CHECK-NEXT: 0120: F3CFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
; CHECK-NEXT: 0130: FFFFFFFF |....|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): GROUP_CURSOR (ID 12)
; CHECK-NEXT: Resource name (int): 4464
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1030
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 20
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 00000200 01002000 40000100 01003401 |...... [email protected].|
; CHECK-NEXT: 0010: 00000100 |....|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): CURSOR (ID 1)
; CHECK-NEXT: Resource name (int): 2
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1010
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 2220
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 01000C00 28000000 20000000 40000000 |....(... ...@...|
; CHECK-NEXT: 0010: 01000800 00000000 00040000 00000000 |................|
; CHECK-NEXT: 0020: 00000000 00010000 00000000 00000000 |................|
; (...)
; CHECK-DAG: 0880: C001FFFF F557FFFF F557FFFF F551FFFF |.....W...W...Q..|
; CHECK-NEXT: 0890: C005FFFF B557FFFF F557FFFF F557FFFF |.....W...W...W..|
; CHECK-NEXT: 08A0: C001FFFF F557FFFF FFFFFFFF |.....W......|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): GROUP_CURSOR (ID 12)
; CHECK-NEXT: Resource name (int): 4465
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1030
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 20
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 00000200 01002000 40000100 0800AC08 |...... .@.......|
; CHECK-NEXT: 0010: 00000200 |....|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): ICON (ID 3)
; CHECK-NEXT: Resource name (int): 3
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1010
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 1128
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 28000000 10000000 20000000 01002000 |(....... ..... .|
; CHECK-NEXT: 0010: 00000000 00040000 C30E0000 C30E0000 |................|
; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................|
; (...)
; CHECK-DAG: 0440: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 0450: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 0460: 00000000 00000000 |........|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): ICON (ID 3)
; CHECK-NEXT: Resource name (int): 4
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1010
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 2440
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 28000000 18000000 30000000 01002000 |(.......0..... .|
; CHECK-NEXT: 0010: 00000000 00090000 C30E0000 C30E0000 |................|
; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................|
; (...)
; CHECK-DAG: 0960: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 0970: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 0980: 00000000 00000000 |........|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): ICON (ID 3)
; CHECK-NEXT: Resource name (int): 5
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1010
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 4264
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 28000000 20000000 40000000 01002000 |(... ...@..... .|
; CHECK-NEXT: 0010: 00000000 00100000 C30E0000 C30E0000 |................|
; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................|
; (...)
; CHECK-DAG: 1080: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 1090: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 10A0: 00000000 00000000 |........|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): ICON (ID 3)
; CHECK-NEXT: Resource name (int): 6
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1010
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 9640
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 28000000 30000000 60000000 01002000 |(...0...`..... .|
; CHECK-NEXT: 0010: 00000000 00240000 C30E0000 C30E0000 |.....$..........|
; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................|
; (...)
; CHECK-DAG: 2580: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 2590: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 25A0: 00000000 00000000 |........|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): GROUP_ICON (ID 14)
; CHECK-NEXT: Resource name (int): 100
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1030
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 62
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 00000100 04001010 00000100 20006804 |............ .h.|
; CHECK-NEXT: 0010: 00000300 18180000 01002000 88090000 |.......... .....|
; CHECK-NEXT: 0020: 04002020 00000100 2000A810 00000500 |.. .... .......|
; CHECK-NEXT: 0030: 30300000 01002000 A8250000 0600 |00.... ..%....|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): CURSOR (ID 1)
; CHECK-NEXT: Resource name (int): 7
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1010
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 4268
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 0D000600 28000000 20000000 40000000 |....(... ...@...|
; CHECK-NEXT: 0010: 01002000 00000000 00100000 00000000 |.. .............|
; CHECK-NEXT: 0020: 00000000 00000000 00000000 00000000 |................|
; (...)
; CHECK-DAG: 1080: E027FFFF C3F3FFFF FFFFFFFF FFFFFFFF |.'..............|
; CHECK-NEXT: 1090: FFFFFFFF F3CFFFFF F3CFFFFF FFFFFFFF |................|
; CHECK-NEXT: 10A0: FFFFFFFF FFFFFFFF FFFFFFFF |............|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): GROUP_CURSOR (ID 12)
; CHECK-NEXT: Resource name (int): 4466
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1030
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 20
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 00000200 01002000 40000100 2000AC10 |...... .@... ...|
; CHECK-NEXT: 0010: 00000700 |....|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): ICON (ID 3)
; CHECK-NEXT: Resource name (int): 8
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1010
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 1128
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 28000000 10000000 20000000 01002000 |(....... ..... .|
; CHECK-NEXT: 0010: 00000000 00040000 C30E0000 C30E0000 |................|
; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................|
; (...)
; CHECK-DAG: 0440: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 0450: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 0460: 00000000 00000000 |........|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): ICON (ID 3)
; CHECK-NEXT: Resource name (int): 9
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1010
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 2440
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 28000000 18000000 30000000 01002000 |(.......0..... .|
; CHECK-NEXT: 0010: 00000000 00090000 C30E0000 C30E0000 |................|
; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................|
; (...)
; CHECK-DAG: 0960: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 0970: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 0980: 00000000 00000000 |........|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): ICON (ID 3)
; CHECK-NEXT: Resource name (int): 10
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1010
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 4264
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 28000000 20000000 40000000 01002000 |(... ...@..... .|
; CHECK-NEXT: 0010: 00000000 00100000 C30E0000 C30E0000 |................|
; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................|
; (...)
; CHECK-DAG: 1080: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 1090: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 10A0: 00000000 00000000 |........|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): ICON (ID 3)
; CHECK-NEXT: Resource name (int): 11
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1010
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 9640
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 28000000 30000000 60000000 01002000 |(...0...`..... .|
; CHECK-NEXT: 0010: 00000000 00240000 C30E0000 C30E0000 |.....$..........|
; CHECK-NEXT: 0020: 00000000 00000000 FFFFFFFF FFFFFFFF |................|
; (...)
; CHECK-DAG: 2580: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 2590: 00000000 00000000 00000000 00000000 |................|
; CHECK-NEXT: 25A0: 00000000 00000000 |........|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): GROUP_ICON (ID 14)
; CHECK-NEXT: Resource name (int): 100
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1030
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 62
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 00000100 04001010 00000100 20006804 |............ .h.|
; CHECK-NEXT: 0010: 00000800 18180000 01002000 88090000 |.......... .....|
; CHECK-NEXT: 0020: 09002020 00000100 2000A810 00000A00 |.. .... .......|
; CHECK-NEXT: 0030: 30300000 01002000 A8250000 0B00 |00.... ..%....|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): ICON (ID 3)
; CHECK-NEXT: Resource name (int): 12
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1010
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 82
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 89504E47 0D0A1A0A 0000000D 49484452 |.PNG........IHDR|
; CHECK-NEXT: 0010: 00000010 00000010 08060000 001FF3FF |................|
; CHECK-NEXT: 0020: 61000000 19494441 5438CB63 FC0F040C |a....IDAT8.c....|
; CHECK-NEXT: 0030: 1400C651 03460D18 3560B818 0000251F |...Q.F..5`....%.|
; CHECK-NEXT: 0040: 3FD1D6DC 546E0000 00004945 4E44AE42 |?...Tn....IEND.B|
; CHECK-NEXT: 0050: 6082 |`.|
; CHECK-NEXT: )
; CHECK-DAG: Resource type (int): GROUP_ICON (ID 14)
; CHECK-NEXT: Resource name (int): 100
; CHECK-NEXT: Data version: 0
; CHECK-NEXT: Memory flags: 0x1030
; CHECK-NEXT: Language ID: 1033
; CHECK-NEXT: Version (major): 0
; CHECK-NEXT: Version (minor): 0
; CHECK-NEXT: Characteristics: 0
; CHECK-NEXT: Data size: 20
; CHECK-NEXT: Data: (
; CHECK-NEXT: 0000: 00000100 01001010 00000100 20005200 |............ .R.|
; CHECK-NEXT: 0010: 00000C00 |....|
; CHECK-NEXT: )
; RUN: not llvm-rc -no-preprocess /FO %t/1 -- %p/Inputs/tag-icon-cursor-nonexistent.rc 2>&1 | FileCheck %s --check-prefix NOFILE
; NOFILE: llvm-rc: Error in CURSOR statement (ID 500):
; NOFILE-NEXT: file not found : this-file-does-not-exist.cur
; RUN: not llvm-rc -no-preprocess /FO %t/1 -- %p/Inputs/tag-icon-cursor-nonsense.rc 2>&1 | FileCheck %s --check-prefix NONSENSE
; NONSENSE: llvm-rc: Error in ICON statement (ID 1):
; NONSENSE-NEXT: Incorrect icon/cursor Reserved field; should be 0.