summaryrefslogtreecommitdiffstats
path: root/lldb/source/Expression/ClangUserExpression.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2013-07-12 23:35:21 +0000
committerSean Callanan <scallanan@apple.com>2013-07-12 23:35:21 +0000
commitd2a507a6e693b878f50bb1b43500d59721adc5ed (patch)
tree4b630f90a87df9b280a1abdabfa97315e7d10bbf /lldb/source/Expression/ClangUserExpression.cpp
parent66bc419366b779876f7a78c7127b135d70f3b9ae (diff)
downloadbcm5719-llvm-d2a507a6e693b878f50bb1b43500d59721adc5ed.tar.gz
bcm5719-llvm-d2a507a6e693b878f50bb1b43500d59721adc5ed.zip
Modified the expression parser to only try to
write to registers if they were modified in the expression. This eliminates spurious errors if the register can't be written to but the expression didn't write to it anyway. Also improved error handling for the materializer to make "couldn't materialize struct" errors more informative. <rdar://problem/14322579> llvm-svn: 186228
Diffstat (limited to 'lldb/source/Expression/ClangUserExpression.cpp')
-rw-r--r--lldb/source/Expression/ClangUserExpression.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/lldb/source/Expression/ClangUserExpression.cpp b/lldb/source/Expression/ClangUserExpression.cpp
index 18f7a8daaa1..7f09f6fa094 100644
--- a/lldb/source/Expression/ClangUserExpression.cpp
+++ b/lldb/source/Expression/ClangUserExpression.cpp
@@ -753,8 +753,6 @@ ClangUserExpression::FinalizeJITExecution (Stream &error_stream,
lldb::addr_t function_stack_bottom,
lldb::addr_t function_stack_top)
{
- Error expr_error;
-
Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_EXPRESSIONS));
if (log)
@@ -762,7 +760,7 @@ ClangUserExpression::FinalizeJITExecution (Stream &error_stream,
if (!m_dematerializer_sp)
{
- error_stream.Printf ("Couldn't dematerialize struct : no dematerializer is present");
+ error_stream.Printf ("Couldn't apply expression side effects : no dematerializer is present");
return false;
}
@@ -772,7 +770,7 @@ ClangUserExpression::FinalizeJITExecution (Stream &error_stream,
if (!dematerialize_error.Success())
{
- error_stream.Printf ("Couldn't dematerialize struct : %s\n", expr_error.AsCString("unknown error"));
+ error_stream.Printf ("Couldn't apply expression side effects : %s\n", dematerialize_error.AsCString("unknown error"));
return false;
}
@@ -937,7 +935,6 @@ ClangUserExpression::Execute (Stream &error_stream,
}
else
{
- error_stream.Printf("Errored out in %s: Couldn't FinalizeJITExpression", __FUNCTION__);
return eExecutionSetupError;
}
}
OpenPOWER on IntegriCloud