From 27b62781ccf8bf3e06aec3b998cb8d0117975e6b Mon Sep 17 00:00:00 2001 From: Matt Pharr Date: Sat, 28 Apr 2012 13:06:29 -1000 Subject: [PATCH] Fix bug in lStripUnusedDebugInfo(). This was causing an assert to hit in llvm's DwarfDebug.cpp. --- module.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/module.cpp b/module.cpp index 815a24cd..436791e6 100644 --- a/module.cpp +++ b/module.cpp @@ -177,9 +177,11 @@ lStripUnusedDebugInfo(llvm::Module *module) { // And now we can go and stuff it into the node with some // confidence... - llvm::DIArray usedSubprogramsArray = + llvm::Value *usedSubprogramsArray = m->diBuilder->getOrCreateArray(llvm::ArrayRef(usedSubprograms)); - cuNode->replaceOperandWith(12, usedSubprogramsArray); + llvm::MDNode *replNode = + llvm::MDNode::get(*g->ctx, llvm::ArrayRef(usedSubprogramsArray)); + cuNode->replaceOperandWith(12, replNode); } }