[lld] Add -emit-yaml option. This outputs yaml instead of a binary.
llvm-svn: 171710
diff --git a/lld/lib/Driver/Drivers.cpp b/lld/lib/Driver/Drivers.cpp
index 8a334d9..93a4087 100644
--- a/lld/lib/Driver/Drivers.cpp
+++ b/lld/lib/Driver/Drivers.cpp
@@ -136,6 +136,9 @@
newArgs->AddFlagArg(A, _core.getOption(
core::OPT_OCTOTHORPE_OCTOTHORPE_OCTOTHORPE));
+ if (llvm::opt::Arg *A = _inputArgs->getLastArg(ld::OPT_emit_yaml))
+ newArgs->AddFlagArg(A, _core.getOption(core::OPT_emit_yaml));
+
// Copy input args.
for (llvm::opt::arg_iterator it = _inputArgs->filtered_begin(ld::OPT_INPUT),
ie = _inputArgs->filtered_end();
@@ -197,6 +200,7 @@
ret._entrySymbol = args.getLastArgValue(core::OPT_entry);
ret._relocatable = args.hasArg(core::OPT_relocatable);
ret._outputCommands = args.hasArg(core::OPT_OCTOTHORPE_OCTOTHORPE_OCTOTHORPE);
+ ret._outputYAML = args.hasArg(core::OPT_emit_yaml);
return std::move(ret);
}