[llvm] r228815 - Verifier: Make sure !llvm.ident's operand isn't null

David Majnemer david.majnemer at gmail.com
Wed Feb 11 00:23:20 PST 2015


Author: majnemer
Date: Wed Feb 11 02:23:20 2015
New Revision: 228815

URL: http://llvm.org/viewvc/llvm-project?rev=228815&view=rev
Log:
Verifier: Make sure !llvm.ident's operand isn't null

Added:
    llvm/trunk/test/Verifier/ident-meta4.ll
Modified:
    llvm/trunk/lib/IR/Verifier.cpp

Modified: llvm/trunk/lib/IR/Verifier.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Verifier.cpp?rev=228815&r1=228814&r2=228815&view=diff
==============================================================================
--- llvm/trunk/lib/IR/Verifier.cpp (original)
+++ llvm/trunk/lib/IR/Verifier.cpp Wed Feb 11 02:23:20 2015
@@ -818,7 +818,7 @@ void Verifier::visitModuleIdents(const M
     const MDNode *N = Idents->getOperand(i);
     Assert1(N->getNumOperands() == 1,
             "incorrect number of operands in llvm.ident metadata", N);
-    Assert1(isa<MDString>(N->getOperand(0)),
+    Assert1(dyn_cast_or_null<MDString>(N->getOperand(0)),
             ("invalid value for llvm.ident metadata entry operand"
              "(the operand should be a string)"),
             N->getOperand(0));

Added: llvm/trunk/test/Verifier/ident-meta4.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/ident-meta4.ll?rev=228815&view=auto
==============================================================================
--- llvm/trunk/test/Verifier/ident-meta4.ll (added)
+++ llvm/trunk/test/Verifier/ident-meta4.ll Wed Feb 11 02:23:20 2015
@@ -0,0 +1,9 @@
+; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s
+; Verify that llvm.ident is properly structured.
+; llvm.ident takes a list of metadata entries.
+; Each metadata entry can contain one string only.
+
+!llvm.ident = !{!0}
+!0 = !{null}
+; CHECK: assembly parsed, but does not verify as correct!
+; CHECK-NEXT: invalid value for llvm.ident metadata entry operand(the operand should be a string)





More information about the llvm-commits mailing list