diff options
author | Zachary Turner <zturner@google.com> | 2017-10-06 21:30:55 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2017-10-06 21:30:55 +0000 |
commit | da366693bf6060805686b282392e7e92b77e784c (patch) | |
tree | b20ee17320e4d3d6dee24f42fd203fb4a61fcd65 /llvm/tools/llvm-rc/llvm-rc.cpp | |
parent | ebaf772204ef76d560b2975277ba33a9c970de1a (diff) | |
download | bcm5719-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.cpp | 5 |
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; } |