summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-rc/llvm-rc.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2017-10-06 21:30:55 +0000
committerZachary Turner <zturner@google.com>2017-10-06 21:30:55 +0000
commitda366693bf6060805686b282392e7e92b77e784c (patch)
treeb20ee17320e4d3d6dee24f42fd203fb4a61fcd65 /llvm/tools/llvm-rc/llvm-rc.cpp
parentebaf772204ef76d560b2975277ba33a9c970de1a (diff)
downloadbcm5719-llvm-da366693bf6060805686b282392e7e92b77e784c.tar.gz
bcm5719-llvm-da366693bf6060805686b282392e7e92b77e784c.zip
[llvm-rc] Serialize STRINGTABLE statements to .res file.
This allows llvm-rc to serialize STRINGTABLE resources. These are output in an unusual way: we locate them at the end of the file, and strings are merged into bundles of max 16 strings, depending on their IDs, language, and characteristics. Ref: msdn.microsoft.com/en-us/library/windows/desktop/aa381050.aspx Patch by: Marek Sokolowski Differential Revision: https://reviews.llvm.org/D38420 llvm-svn: 315112
Diffstat (limited to 'llvm/tools/llvm-rc/llvm-rc.cpp')
-rw-r--r--llvm/tools/llvm-rc/llvm-rc.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/tools/llvm-rc/llvm-rc.cpp b/llvm/tools/llvm-rc/llvm-rc.cpp
index c62a037874b..2a4faeb2d2e 100644
--- a/llvm/tools/llvm-rc/llvm-rc.cpp
+++ b/llvm/tools/llvm-rc/llvm-rc.cpp
@@ -154,6 +154,7 @@ int main(int argc_, const char *argv_[]) {
fatalError("Error opening output file '" + OutArgsInfo[0] +
"': " + EC.message());
Visitor = llvm::make_unique<ResourceFileWriter>(std::move(FOut));
+ Visitor->AppendNull = InputArgs.hasArg(OPT_ADD_NULL);
ExitOnErr(NullResource().visit(Visitor.get()));
@@ -170,5 +171,9 @@ int main(int argc_, const char *argv_[]) {
ExitOnErr(Resource->visit(Visitor.get()));
}
+ // STRINGTABLE resources come at the very end.
+ if (!IsDryRun)
+ ExitOnErr(Visitor->dumpAllStringTables());
+
return 0;
}
OpenPOWER on IntegriCloud