aboutsummaryrefslogtreecommitdiff
path: root/test/tools
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2017-10-06 20:51:20 +0000
committerZachary Turner <zturner@google.com>2017-10-06 20:51:20 +0000
commit44bde8dadb860360985164e82a6ef9f20204d16c (patch)
tree1b7a5047b9becb75addbc55d7ad73b0957671c6a /test/tools
parente14de92ad457a0db5e0cbed0fd36ff9290a75ab4 (diff)
downloadllvm-44bde8dadb860360985164e82a6ef9f20204d16c.tar.gz
[llvm-rc] Add optional serialization support for DIALOG(EX) resources.
This is part 5 of llvm-rc serialization support. This allows DIALOG and DIALOGEX to serialize if dialog-specific optional statements are provided. These are (as of now): CAPTION, FONT, and STYLE. Notably, FONT statement can take more than two arguments when describing DIALOGEX resources (as in msdn.microsoft.com/en-us/library/windows/desktop/aa381013.aspx). I made some changes to the parser to reflect this fact. Patch by Marek Sokolowski Differential Revision: https://reviews.llvm.org/D37864 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315104 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/tools')
-rw-r--r--test/tools/llvm-rc/Inputs/parser-correct-everything.rc2
-rw-r--r--test/tools/llvm-rc/Inputs/parser-dialog-simple-font.rc4
-rw-r--r--test/tools/llvm-rc/Inputs/tag-dialog-bad-style.rc2
-rw-r--r--test/tools/llvm-rc/Inputs/tag-dialog-headers.rc53
-rw-r--r--test/tools/llvm-rc/parser.test7
-rw-r--r--test/tools/llvm-rc/tag-dialog.test393
6 files changed, 459 insertions, 2 deletions
diff --git a/test/tools/llvm-rc/Inputs/parser-correct-everything.rc b/test/tools/llvm-rc/Inputs/parser-correct-everything.rc
index 5f15bcc0944..d3d95b2e4ff 100644
--- a/test/tools/llvm-rc/Inputs/parser-correct-everything.rc
+++ b/test/tools/llvm-rc/Inputs/parser-correct-everything.rc
@@ -61,7 +61,7 @@ LANGUAGE 4, 1
LANGUAGE 1, 2
CHARACTERISTICS 50
VERSION 100
-FONT 12, "Arial"
+FONT 12, "Arial", 500, 1, 13
CAPTION "RC parser dialog"
STYLE 0x51234
BEGIN
diff --git a/test/tools/llvm-rc/Inputs/parser-dialog-simple-font.rc b/test/tools/llvm-rc/Inputs/parser-dialog-simple-font.rc
new file mode 100644
index 00000000000..770b31a3646
--- /dev/null
+++ b/test/tools/llvm-rc/Inputs/parser-dialog-simple-font.rc
@@ -0,0 +1,4 @@
+1 DIALOG 1, 2, 3, 4
+FONT 12, "Face", 100, 1, 0
+BEGIN
+END
diff --git a/test/tools/llvm-rc/Inputs/tag-dialog-bad-style.rc b/test/tools/llvm-rc/Inputs/tag-dialog-bad-style.rc
new file mode 100644
index 00000000000..3e5f8ab959f
--- /dev/null
+++ b/test/tools/llvm-rc/Inputs/tag-dialog-bad-style.rc
@@ -0,0 +1,2 @@
+1 DIALOG 1, 2, 3, 4
+STYLE 0xFFFF0001 {}
diff --git a/test/tools/llvm-rc/Inputs/tag-dialog-headers.rc b/test/tools/llvm-rc/Inputs/tag-dialog-headers.rc
new file mode 100644
index 00000000000..8007588073f
--- /dev/null
+++ b/test/tools/llvm-rc/Inputs/tag-dialog-headers.rc
@@ -0,0 +1,53 @@
+1 DIALOGEX 1, 2, 3, 4 {}
+2 DIALOG 1, 2, 3, 4 {}
+
+3 DIALOGEX 10000, 20000, 30000, 32767
+CAPTION "My Caption" {}
+4 DIALOG -32768, 32767, 0, 32767
+CAPTION "My Caption" {}
+
+5 DIALOGEX 0, 1, 0, 9
+STYLE 0x01234567 {}
+6 DIALOG 0, 1, 0, 9
+STYLE 0x01234567 {}
+
+7 DIALOGEX 8, 7, 6, 5
+FONT 50, "a" {}
+8 DIALOG 8, 7, 6, 5
+FONT 50, "aaaa" {}
+9 DIALOGEX 8, 7, 6, 5
+FONT 50, L"a" {}
+10 DIALOG 8, 7, 6, 5
+FONT 50, L"aaaa" {}
+11 DIALOGEX 1, 2, 3, 4
+FONT 50, "FONT", 51 {}
+12 DIALOGEX 1, 2, 3, 4
+FONT 50, "FONT", 51, 52 {}
+13 DIALOGEX 1, 2, 3, 4
+FONT 50, "FONT", 51, 52, 53 {}
+
+14 DIALOGEX 1, 1, 1, 1
+CAPTION "CAPTION" FONT 42, "FONT" {}
+15 DIALOG 1, 1, 1, 1
+CAPTION "CAPTION" FONT 42, "FONT" {}
+
+16 DIALOGEX 2, 2, 2, 2
+CAPTION "CAPTION" FONT 42, "FONT" STYLE 0 {}
+17 DIALOG 2, 2, 2, 2
+CAPTION "CAPTION" FONT 42, "FONT" STYLE 0 {}
+
+18 DIALOGEX 3, 3, 3, 3
+CAPTION "CAPTION" STYLE 0 {}
+19 DIALOG 3, 3, 3, 3
+CAPTION "CAPTION" STYLE 0 {}
+
+20 DIALOGEX 4, 4, 4, 4 STYLE 0xFF00FF00 {}
+21 DIALOG 4, 4, 4, 4 STYLE 0xFF00FF00 {}
+22 DIALOGEX 4, 4, 4, 4 STYLE 0x00FF00FF {}
+23 DIALOG 4, 4, 4, 4 STYLE 0x00FF00FF {}
+
+24 DIALOGEX 5, 5, 5, 5 CAPTION "" STYLE 0 {}
+25 DIALOG 5, 5, 5, 5 CAPTION "" STYLE 0 {}
+
+26 DIALOGEX 1, 2, 3, 4, 5 {}
+
diff --git a/test/tools/llvm-rc/parser.test b/test/tools/llvm-rc/parser.test
index f54311202aa..e2950776bac 100644
--- a/test/tools/llvm-rc/parser.test
+++ b/test/tools/llvm-rc/parser.test
@@ -53,7 +53,7 @@
; PGOOD-NEXT: Option: Language: 1, Sublanguage: 2
; PGOOD-NEXT: Option: Characteristics: 50
; PGOOD-NEXT: Option: Version: 100
-; PGOOD-NEXT: Option: Font: size = 12, face = "Arial"
+; PGOOD-NEXT: Option: Font: size = 12, face = "Arial", weight = 500, italic, charset = 13
; PGOOD-NEXT: Option: Caption: "RC parser dialog"
; PGOOD-NEXT: Option: Style: 332340
; PGOOD-NEXT: Control (14): LTEXT, title: "Hello world!", loc: (20, 20), size: [50, 50]
@@ -220,6 +220,11 @@
; PDIALOG5: llvm-rc: Error parsing file: expected '-', '~', integer or '(', got "This shouldn't be here"
+; RUN: not llvm-rc /dry-run /V %p/Inputs/parser-dialog-simple-font.rc 2>&1 | FileCheck %s --check-prefix PDIALOG6
+
+; PDIALOG6: llvm-rc: Error parsing file: expected identifier, got ,
+
+
; RUN: not llvm-rc /dry-run /V %p/Inputs/parser-versioninfo-wrong-fixed.rc 2>&1 | FileCheck %s --check-prefix PVERSIONINFO1
; PVERSIONINFO1: llvm-rc: Error parsing file: expected fixed VERSIONINFO statement type, got WEIRDFIXED
diff --git a/test/tools/llvm-rc/tag-dialog.test b/test/tools/llvm-rc/tag-dialog.test
index c9f7970018a..579c5d2b672 100644
--- a/test/tools/llvm-rc/tag-dialog.test
+++ b/test/tools/llvm-rc/tag-dialog.test
@@ -132,6 +132,393 @@
; DIALOG-NEXT: )
+; RUN: llvm-rc /FO %t %p/Inputs/tag-dialog-headers.rc
+; RUN: llvm-readobj %t | FileCheck %s --check-prefix=HEADERS
+
+; HEADERS: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 1
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 32
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 00008880 |................|
+; HEADERS-NEXT: 0010: 00000100 02000300 04000000 00000000 |................|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 2
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 24
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 00008880 00000000 00000100 02000300 |................|
+; HEADERS-NEXT: 0010: 04000000 00000000 |........|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 3
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 52
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 0000C880 |................|
+; HEADERS-NEXT: 0010: 00001027 204E3075 FF7F0000 00004D00 |...' N0u......M.|
+; HEADERS-NEXT: 0020: 79002000 43006100 70007400 69006F00 |y. .C.a.p.t.i.o.|
+; HEADERS-NEXT: 0030: 6E000000 |n...|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 4
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 44
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0000C880 00000000 00000080 FF7F0000 |................|
+; HEADERS-NEXT: 0010: FF7F0000 00004D00 79002000 43006100 |......M.y. .C.a.|
+; HEADERS-NEXT: 0020: 70007400 69006F00 6E000000 |p.t.i.o.n...|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 5
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 32
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 27452301 |............'E#.|
+; HEADERS-NEXT: 0010: 00000000 01000000 09000000 00000000 |................|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 6
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 24
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 27452301 00000000 00000000 01000000 |'E#.............|
+; HEADERS-NEXT: 0010: 09000000 00000000 |........|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 7
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 42
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 40008880 |............@...|
+; HEADERS-NEXT: 0010: 00000800 07000600 05000000 00000000 |................|
+; HEADERS-NEXT: 0020: 32000000 00016100 0000 |2.....a...|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 8
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 36
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 40008880 00000000 00000800 07000600 |@...............|
+; HEADERS-NEXT: 0010: 05000000 00000000 32006100 61006100 |........2.a.a.a.|
+; HEADERS-NEXT: 0020: 61000000 |a...|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 9
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 42
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 40008880 |............@...|
+; HEADERS-NEXT: 0010: 00000800 07000600 05000000 00000000 |................|
+; HEADERS-NEXT: 0020: 32000000 00016100 0000 |2.....a...|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 10
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 36
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 40008880 00000000 00000800 07000600 |@...............|
+; HEADERS-NEXT: 0010: 05000000 00000000 32006100 61006100 |........2.a.a.a.|
+; HEADERS-NEXT: 0020: 61000000 |a...|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 11
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 48
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 40008880 |............@...|
+; HEADERS-NEXT: 0010: 00000100 02000300 04000000 00000000 |................|
+; HEADERS-NEXT: 0020: 32003300 00014600 4F004E00 54000000 |2.3...F.O.N.T...|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 12
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 48
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 40008880 |............@...|
+; HEADERS-NEXT: 0010: 00000100 02000300 04000000 00000000 |................|
+; HEADERS-NEXT: 0020: 32003300 01014600 4F004E00 54000000 |2.3...F.O.N.T...|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 13
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 48
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 40008880 |............@...|
+; HEADERS-NEXT: 0010: 00000100 02000300 04000000 00000000 |................|
+; HEADERS-NEXT: 0020: 32003300 01354600 4F004E00 54000000 |2.3..5F.O.N.T...|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 14
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 62
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 4000C880 |............@...|
+; HEADERS-NEXT: 0010: 00000100 01000100 01000000 00004300 |..............C.|
+; HEADERS-NEXT: 0020: 41005000 54004900 4F004E00 00002A00 |A.P.T.I.O.N...*.|
+; HEADERS-NEXT: 0030: 00000001 46004F00 4E005400 0000 |....F.O.N.T...|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 15
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 50
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 4000C880 00000000 00000100 01000100 |@...............|
+; HEADERS-NEXT: 0010: 01000000 00004300 41005000 54004900 |......C.A.P.T.I.|
+; HEADERS-NEXT: 0020: 4F004E00 00002A00 46004F00 4E005400 |O.N...*.F.O.N.T.|
+; HEADERS-NEXT: 0030: 0000 |..|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 16
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 62
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 4000C000 |............@...|
+; HEADERS-NEXT: 0010: 00000200 02000200 02000000 00004300 |..............C.|
+; HEADERS-NEXT: 0020: 41005000 54004900 4F004E00 00002A00 |A.P.T.I.O.N...*.|
+; HEADERS-NEXT: 0030: 00000001 46004F00 4E005400 0000 |....F.O.N.T...|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 17
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 50
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 4000C000 00000000 00000200 02000200 |@...............|
+; HEADERS-NEXT: 0010: 02000000 00004300 41005000 54004900 |......C.A.P.T.I.|
+; HEADERS-NEXT: 0020: 4F004E00 00002A00 46004F00 4E005400 |O.N...*.F.O.N.T.|
+; HEADERS-NEXT: 0030: 0000 |..|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 18
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 46
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 0000C000 |................|
+; HEADERS-NEXT: 0010: 00000300 03000300 03000000 00004300 |..............C.|
+; HEADERS-NEXT: 0020: 41005000 54004900 4F004E00 0000 |A.P.T.I.O.N...|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 19
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 38
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0000C000 00000000 00000300 03000300 |................|
+; HEADERS-NEXT: 0010: 03000000 00004300 41005000 54004900 |......C.A.P.T.I.|
+; HEADERS-NEXT: 0020: 4F004E00 0000 |O.N...|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 20
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 32
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 00FF00FF |................|
+; HEADERS-NEXT: 0010: 00000400 04000400 04000000 00000000 |................|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 21
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 24
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 00FF00FF 00000000 00000400 04000400 |................|
+; HEADERS-NEXT: 0010: 04000000 00000000 |........|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 22
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 32
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 BF00FF00 |................|
+; HEADERS-NEXT: 0010: 00000400 04000400 04000000 00000000 |................|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 23
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 24
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: BF00FF00 00000000 00000400 04000400 |................|
+; HEADERS-NEXT: 0010: 04000000 00000000 |........|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 24
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 32
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 00000000 00000000 0000C000 |................|
+; HEADERS-NEXT: 0010: 00000500 05000500 05000000 00000000 |................|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 25
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 24
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0000C000 00000000 00000500 05000500 |................|
+; HEADERS-NEXT: 0010: 05000000 00000000 |........|
+; HEADERS-NEXT: )
+
+; HEADERS-DAG: Resource type (int): 5
+; HEADERS-NEXT: Resource name (int): 26
+; HEADERS-NEXT: Data version: 0
+; HEADERS-NEXT: Memory flags: 0x1030
+; HEADERS-NEXT: Language ID: 1033
+; HEADERS-NEXT: Version (major): 0
+; HEADERS-NEXT: Version (minor): 0
+; HEADERS-NEXT: Characteristics: 0
+; HEADERS-NEXT: Data size: 32
+; HEADERS-NEXT: Data: (
+; HEADERS-NEXT: 0000: 0100FFFF 05000000 00000000 00008880 |................|
+; HEADERS-NEXT: 0010: 00000100 02000300 04000000 00000000 |................|
+; HEADERS-NEXT: )
+
; RUN: not llvm-rc /FO %t %p/Inputs/tag-dialog-large-coord.rc 2>&1 | FileCheck %s --check-prefix COORD1
@@ -197,3 +584,9 @@
; CTL-REF-ID: llvm-rc: Error in DIALOGEX statement (ID 1):
; CTL-REF-ID-NEXT: Error in CTEXT control (ID 42):
; CTL-REF-ID-NEXT: Control reference ID (65536) does not fit in 16 bits.
+
+
+; RUN: not llvm-rc /FO %t %p/Inputs/tag-dialog-bad-style.rc 2>&1 | FileCheck %s --check-prefix STYLE
+
+; STYLE: llvm-rc: Error in DIALOG statement (ID 1):
+; STYLE-NEXT: 16 higher bits of DIALOG resource style cannot be equal to 0xFFFF