Brought LLVM/Clang up to top of tree. The only
change (besides logging) is that now string
literals in the IR are ConstantDataArrays instead
of ConstantArrays.
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150142 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Expression/IRDynamicChecks.cpp b/source/Expression/IRDynamicChecks.cpp
index 0cf812f..9bf1d8b 100644
--- a/source/Expression/IRDynamicChecks.cpp
+++ b/source/Expression/IRDynamicChecks.cpp
@@ -512,7 +512,7 @@
return false;
}
- ConstantArray *real_name = dyn_cast<ConstantArray>(metadata->getOperand(0));
+ ConstantDataArray *real_name = dyn_cast<ConstantDataArray>(metadata->getOperand(0));
if (!real_name)
{
@@ -528,12 +528,12 @@
return false;
}
- if (log)
- log->Printf("Found call to %s: %s\n", real_name->getAsString().c_str(), PrintValue(call_inst).c_str());
-
std::string name_str = real_name->getAsString();
const char* name_cstr = name_str.c_str();
+ if (log)
+ log->Printf("Found call to %s: %s\n", name_cstr, PrintValue(call_inst).c_str());
+
if (name_str.find("objc_msgSend") == std::string::npos)
return true;