From eeb2ba6d46e4da9af22dc715f82adae058378aa2 Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Tue, 24 Mar 2015 17:18:03 +0000 Subject: [PATCH] Verifier: !llvm.dbg.cu must point at compile units Duplicate this check from `verifyDebugInfo()`. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233094 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/IR/Verifier.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/IR/Verifier.cpp b/lib/IR/Verifier.cpp index 4f0e3388d58..d5a5afa0c40 100644 --- a/lib/IR/Verifier.cpp +++ b/lib/IR/Verifier.cpp @@ -111,6 +111,13 @@ private: OS << '\n'; } + void Write(const NamedMDNode *NMD) { + if (!NMD) + return; + NMD->print(OS); + OS << '\n'; + } + void Write(Type *T) { if (!T) return; @@ -562,6 +569,10 @@ void Verifier::visitNamedMDNode(const NamedMDNode &NMD) { if (!MD) continue; + if (NMD.getName() == "llvm.dbg.cu") { + Assert(isa(MD), "invalid compile unit", &NMD, MD); + } + visitMDNode(*MD); } } -- 2.34.1