[PATCH] D25834: [MC] Make llvm-mc fail cleanly on invalid output asm variant.

Nirav Dave via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 20 11:12:37 PDT 2016


niravd created this revision.
niravd added reviewers: rnk, majnemer.
niravd added a subscriber: llvm-commits.

Fixes PR28488.


https://reviews.llvm.org/D25834

Files:
  test/MC/AsmParser/invalid-asm-variant.s
  tools/llvm-mc/llvm-mc.cpp


Index: tools/llvm-mc/llvm-mc.cpp
===================================================================
--- tools/llvm-mc/llvm-mc.cpp
+++ tools/llvm-mc/llvm-mc.cpp
@@ -563,6 +563,12 @@
     IP = TheTarget->createMCInstPrinter(Triple(TripleName), OutputAsmVariant,
                                         *MAI, *MCII, *MRI);
 
+    if (!IP) {
+      errs() << "error: invalid output assembly variant " << OutputAsmVariant
+             << " for target triple " << TheTriple.normalize() << "\n";
+      return 1;
+    }
+
     // Set the display preference for hex vs. decimal immediates.
     IP->setPrintImmHex(PrintImmHex);
 
Index: test/MC/AsmParser/invalid-asm-variant.s
===================================================================
--- /dev/null
+++ test/MC/AsmParser/invalid-asm-variant.s
@@ -0,0 +1,3 @@
+//RUN:	not llvm-mc --disassemble -triple=x86_64 --output-asm-variant=2 %s -o - 2>&1 | FileCheck %s
+
+//CHECK: error: invalid output assembly variant 2 for target triple x86_64


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25834.75322.patch
Type: text/x-patch
Size: 992 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161020/e0d6c138/attachment.bin>


More information about the llvm-commits mailing list