<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 9, 2015 at 5:32 PM, Duncan P. N. Exon Smith <span dir="ltr"><<a href="mailto:dexonsmith@apple.com" target="_blank">dexonsmith@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: dexonsmith<br>
Date: Mon Feb  9 19:32:56 2015<br>
New Revision: 228647<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=228647&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=228647&view=rev</a><br>
Log:<br>
Verifier: Add simple checks for MDLocation<br>
<br>
Modified:<br>
    llvm/trunk/lib/IR/Verifier.cpp<br>
<br>
Modified: llvm/trunk/lib/IR/Verifier.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Verifier.cpp?rev=228647&r1=228646&r2=228647&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Verifier.cpp?rev=228647&r1=228646&r2=228647&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/IR/Verifier.cpp (original)<br>
+++ llvm/trunk/lib/IR/Verifier.cpp Mon Feb  9 19:32:56 2015<br>
@@ -678,7 +678,13 @@ void Verifier::visitMetadataAsValue(cons<br>
     visitValueAsMetadata(*V, F);<br>
 }<br>
<br>
-void Verifier::visitMDLocation(const MDLocation &) {}<br>
+void Verifier::visitMDLocation(const MDLocation &N) {<br>
+  Assert1(N.getScope(), "location requires a valid scope", &N);<br>
+  if (N.getInlinedAt())<br>
+    Assert2(isa<MDLocation>(N.getInlinedAt()),<br>
+            "inlined-at should be a location", &N, N.getInlinedAt());<br></blockquote><div><br>Usually, rather than re-writing the expression, we might write this as:<br><br>if (auto *IA = N.getInlinedAt())<br>  Assert2(isa<MDLocation>(IA), "inlined-at should be a location", &N, IA);<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+}<br>
+<br>
 void Verifier::visitGenericDebugNode(const GenericDebugNode &) {}<br>
 void Verifier::visitMDSubrange(const MDSubrange &) {}<br>
 void Verifier::visitMDEnumerator(const MDEnumerator &) {}<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div></div>