summaryrefslogtreecommitdiffstats
path: root/lldb/source/API/SBValue.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2011-12-21 22:22:58 +0000
committerSean Callanan <scallanan@apple.com>2011-12-21 22:22:58 +0000
commit20bb3aa53a0c9ed02dbcdd216f4607034c9e1122 (patch)
treed0e70105a732af46382d8307b6667a3daa892e07 /lldb/source/API/SBValue.cpp
parent51c81685a89565a01b3decbc7156b288bb80858a (diff)
downloadbcm5719-llvm-20bb3aa53a0c9ed02dbcdd216f4607034c9e1122.tar.gz
bcm5719-llvm-20bb3aa53a0c9ed02dbcdd216f4607034c9e1122.zip
The "desired result type" code in the expression
parser has hitherto been an implementation waiting for a use. I have now tied the '-o' option for the expression command -- which indicates that the result is an Objective-C object and needs to be printed -- to the ExpressionParser, which communicates the desired type to Clang. Now, if the result of an expression is determined by an Objective-C method call for which there is no type information, that result is implicitly cast to id if and only if the -o option is passed to the expression command. (Otherwise if there is no explicit cast Clang will issue an error. This behavior is identical to what happened before r146756.) Also added a testcase for -o enabled and disabled. llvm-svn: 147099
Diffstat (limited to 'lldb/source/API/SBValue.cpp')
-rw-r--r--lldb/source/API/SBValue.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/lldb/source/API/SBValue.cpp b/lldb/source/API/SBValue.cpp
index 654336db8c5..1ed3fea133a 100644
--- a/lldb/source/API/SBValue.cpp
+++ b/lldb/source/API/SBValue.cpp
@@ -388,6 +388,7 @@ SBValue::CreateValueFromExpression (const char *name, const char* expression)
m_opaque_sp->GetUpdatePoint().GetTargetSP()->EvaluateExpression (expression,
m_opaque_sp->GetExecutionContextScope()->CalculateStackFrame(),
eExecutionPolicyOnlyWhenNeeded,
+ false, // coerce to id
true, // unwind on error
true, // keep in memory
eNoDynamicValues,
OpenPOWER on IntegriCloud