summaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp')
-rw-r--r--llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp b/llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
index 37611479088b..32e77dbb1c22 100644
--- a/llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
+++ b/llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
@@ -166,9 +166,12 @@ CodeGenTargetMachineImpl::createMCStreamer(raw_pwrite_stream &Out,
getTargetTriple(),
Options.MCOptions.OutputAsmVariant.value_or(MAI.getAssemblerDialect()),
MAI, MII, MRI);
- for (StringRef Opt : Options.MCOptions.InstPrinterOptions)
- if (!InstPrinter->applyTargetSpecificCLOption(Opt))
+ for (StringRef Opt : Options.MCOptions.InstPrinterOptions) {
+ if (!InstPrinter->applyTargetSpecificCLOption(Opt)) {
+ delete InstPrinter;
return createStringError("invalid InstPrinter option '" + Opt + "'");
+ }
+ }
// Create a code emitter if asked to show the encoding.
std::unique_ptr<MCCodeEmitter> MCE;