summaryrefslogtreecommitdiff
path: root/tools/llvm-mt
diff options
context:
space:
mode:
authorEric Beckmann <ecbeckmann@google.com>2017-08-19 00:37:41 +0000
committerEric Beckmann <ecbeckmann@google.com>2017-08-19 00:37:41 +0000
commit79fe5367c19c9ab06eac956705f710868c618fc4 (patch)
tree2c930f793d0872d28cbcf6fa9a82586b9cee1dfd /tools/llvm-mt
parent89688ce180615f38be048e64a0226b09e689134f (diff)
llvm-mt: Merge manifest namespaces.
mt.exe performs a tree merge where certain element nodes are combined into one. This introduces the possibility of xml namespaces conflicting with each other. The original mt.exe has a hierarchy whereby certain namespace names can override others, and nodes that would then end up in ambigious namespaces have their namespaces explicitly defined. This namespace handles this merging process. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311215 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-mt')
-rw-r--r--tools/llvm-mt/llvm-mt.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/llvm-mt/llvm-mt.cpp b/tools/llvm-mt/llvm-mt.cpp
index 69af6a61c48..9bc9d332ebf 100644
--- a/tools/llvm-mt/llvm-mt.cpp
+++ b/tools/llvm-mt/llvm-mt.cpp
@@ -102,6 +102,9 @@ int main(int argc, const char **argv) {
ArrayRef<const char *> ArgsArr = makeArrayRef(argv + 1, argc);
opt::InputArgList InputArgs = T.ParseArgs(ArgsArr, MAI, MAC);
+ for (auto *Arg : InputArgs.filtered(OPT_INPUT))
+ reportError(Twine("invalid option ") + Arg->getSpelling());
+
for (auto &Arg : InputArgs) {
if (Arg->getOption().matches(OPT_unsupported)) {
outs() << "llvm-mt: ignoring unsupported '" << Arg->getOption().getName()
@@ -129,7 +132,7 @@ int main(int argc, const char **argv) {
reportError("no output file specified");
}
- WindowsManifestMerger Merger;
+ windows_manifest::WindowsManifestMerger Merger;
for (const auto &File : InputFiles) {
ErrorOr<std::unique_ptr<MemoryBuffer>> ManifestOrErr =