[PATCH] D46636: [llvm-rc] Add support for the RCDATA resource type
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 9 04:28:34 PDT 2018
mstorsjo created this revision.
mstorsjo added reviewers: zturner, amccarth, mnbvmar.
This is the same as any other user defined resource, but with a specific allocated resource type number.
Repository:
rL LLVM
https://reviews.llvm.org/D46636
Files:
test/tools/llvm-rc/Inputs/tag-user.rc
test/tools/llvm-rc/tag-user.test
tools/llvm-rc/ResourceScriptParser.cpp
tools/llvm-rc/ResourceScriptStmt.h
Index: tools/llvm-rc/ResourceScriptStmt.h
===================================================================
--- tools/llvm-rc/ResourceScriptStmt.h
+++ tools/llvm-rc/ResourceScriptStmt.h
@@ -127,6 +127,7 @@
RkDialog = 5,
RkStringTableBundle = 6,
RkAccelerators = 9,
+ RkRcData = 10,
RkCursorGroup = 12,
RkIconGroup = 14,
RkVersionInfo = 16,
Index: tools/llvm-rc/ResourceScriptParser.cpp
===================================================================
--- tools/llvm-rc/ResourceScriptParser.cpp
+++ tools/llvm-rc/ResourceScriptParser.cpp
@@ -80,6 +80,8 @@
Result = parseIconResource();
else if (TypeToken->equalsLower("MENU"))
Result = parseMenuResource();
+ else if (TypeToken->equalsLower("RCDATA"))
+ Result = parseUserDefinedResource(RkRcData);
else if (TypeToken->equalsLower("VERSIONINFO"))
Result = parseVersionInfoResource();
else
Index: test/tools/llvm-rc/tag-user.test
===================================================================
--- test/tools/llvm-rc/tag-user.test
+++ test/tools/llvm-rc/tag-user.test
@@ -20,6 +20,21 @@
; CHECK-NEXT: 0020: CDAB01EF CDAB |......|
; CHECK-NEXT: )
+; CHECK-DAG: Resource type (int): 10
+; CHECK-NEXT: Resource name (int): 501
+; CHECK-NEXT: Data version: 0
+; CHECK-NEXT: Memory flags: 0x30
+; CHECK-NEXT: Language ID: 1033
+; CHECK-NEXT: Version (major): 0
+; CHECK-NEXT: Version (minor): 0
+; CHECK-NEXT: Characteristics: 0
+; CHECK-NEXT: Data size: 38
+; CHECK-NEXT: Data: (
+; CHECK-NEXT: 0000: 01000200 03000400 05006461 74617700 |..........dataw.|
+; CHECK-NEXT: 0010: 69006400 65002000 64006100 74006100 |i.d.e. .d.a.t.a.|
+; CHECK-NEXT: 0020: CDAB01EF CDAB |......|
+; CHECK-NEXT: )
+
; CHECK-DAG: Resource type (string): NAME2
; CHECK-NEXT: Resource name (string): NAME1
; CHECK-NEXT: Data version: 0
Index: test/tools/llvm-rc/Inputs/tag-user.rc
===================================================================
--- test/tools/llvm-rc/Inputs/tag-user.rc
+++ test/tools/llvm-rc/Inputs/tag-user.rc
@@ -1,6 +1,9 @@
500 500 {
1, 2, 3, 4, 5, "data", L"wide data", 0xABCD, 0xABCDEF01L
}
+501 RCDATA {
+ 1, 2, 3, 4, 5, "data", L"wide data", 0xABCD, 0xABCDEF01L
+}
NAME1 NAME2 {}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46636.145896.patch
Type: text/x-patch
Size: 2261 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180509/8b4287da/attachment.bin>
More information about the llvm-commits
mailing list