[Lldb-commits] [lldb] r174947 - Fixed the way the ClangExpressionDeclMap looks
Sean Callanan
scallanan at apple.com
Mon Feb 11 23:56:36 PST 2013
Author: spyffe
Date: Tue Feb 12 01:56:36 2013
New Revision: 174947
URL: http://llvm.org/viewvc/llvm-project?rev=174947&view=rev
Log:
Fixed the way the ClangExpressionDeclMap looks
up variables in the current stack frame to avoid
mutual recursion between the expression parser
and the synthetic child providers. Variables
should only be looked up in a very simple way,
using no synthetic anything.
<rdar://problem/13173454>
Modified:
lldb/trunk/source/Expression/ClangExpressionDeclMap.cpp
Modified: lldb/trunk/source/Expression/ClangExpressionDeclMap.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/ClangExpressionDeclMap.cpp?rev=174947&r1=174946&r2=174947&view=diff
==============================================================================
--- lldb/trunk/source/Expression/ClangExpressionDeclMap.cpp (original)
+++ lldb/trunk/source/Expression/ClangExpressionDeclMap.cpp Tue Feb 12 01:56:36 2013
@@ -2332,9 +2332,13 @@ ClangExpressionDeclMap::FindVariableInSc
VariableSP var_sp;
Error err;
- valobj = frame.GetValueForVariableExpressionPath(name.GetCString(),
+ valobj = frame.GetValueForVariableExpressionPath(name.GetCString(),
eNoDynamicValues,
- StackFrame::eExpressionPathOptionCheckPtrVsMember,
+ StackFrame::eExpressionPathOptionCheckPtrVsMember ||
+ StackFrame::eExpressionPathOptionsAllowDirectIVarAccess ||
+ StackFrame::eExpressionPathOptionsNoFragileObjcIvar ||
+ StackFrame::eExpressionPathOptionsNoSyntheticChildren ||
+ StackFrame::eExpressionPathOptionsNoSyntheticArrayRange,
var_sp,
err);
@@ -2948,8 +2952,11 @@ ClangExpressionDeclMap::FindExternalVisi
{
valobj = frame->GetValueForVariableExpressionPath(name_unique_cstr,
eNoDynamicValues,
- StackFrame::eExpressionPathOptionCheckPtrVsMember
- | StackFrame::eExpressionPathOptionsAllowDirectIVarAccess,
+ StackFrame::eExpressionPathOptionCheckPtrVsMember ||
+ StackFrame::eExpressionPathOptionsAllowDirectIVarAccess ||
+ StackFrame::eExpressionPathOptionsNoFragileObjcIvar ||
+ StackFrame::eExpressionPathOptionsNoSyntheticChildren ||
+ StackFrame::eExpressionPathOptionsNoSyntheticArrayRange,
var,
err);
More information about the lldb-commits
mailing list