Fix crash (in optimized builds) due to invalid metadata operand
- ConstantDataArray is not a valid MDNode operand
- encode function-name strings in metadata by wrapping in an MDString instead
- should resolve reported by http://llvm-jenkins.debian.net/job/llvm-toolchain-quantal-binaries/architecture=amd64,distribution=quantal/173/
llvm-svn: 183153
diff --git a/lldb/source/Expression/IRForTarget.cpp b/lldb/source/Expression/IRForTarget.cpp
index 778c6c0..65ff324 100644
--- a/lldb/source/Expression/IRForTarget.cpp
+++ b/lldb/source/Expression/IRForTarget.cpp
@@ -337,12 +337,10 @@
if (Instruction *user_inst = dyn_cast<Instruction>(user))
{
- Constant *name_array = ConstantDataArray::getString(context, StringRef(name));
-
- ArrayRef<Value *> md_values(name_array);
-
- MDNode *metadata = MDNode::get(context, md_values);
-
+ MDString* md_name = MDString::get(context, StringRef(name));
+
+ MDNode *metadata = MDNode::get(context, md_name);
+
user_inst->setMetadata("lldb.call.realName", metadata);
}
else