From ee8aea101106d5db339ecda251fcd2546e6998d3 Mon Sep 17 00:00:00 2001 From: Jim Ingham Date: Wed, 8 Sep 2010 03:14:33 +0000 Subject: Add a user settings controller to Thread. Then added a step-avoid-regexp setting which controls whether to stop in a function matching the regexp. llvm-svn: 113335 --- lldb/source/Target/ThreadPlanStepInRange.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lldb/source/Target/ThreadPlanStepInRange.cpp') diff --git a/lldb/source/Target/ThreadPlanStepInRange.cpp b/lldb/source/Target/ThreadPlanStepInRange.cpp index b95b35e59245..ecdb6fa471db 100644 --- a/lldb/source/Target/ThreadPlanStepInRange.cpp +++ b/lldb/source/Target/ThreadPlanStepInRange.cpp @@ -156,7 +156,13 @@ ThreadPlanStepInRange::FrameMatchesAvoidRegexp () { StackFrame *frame = GetThread().GetStackFrameAtIndex(0).get(); - if (m_avoid_regexp_ap.get() != NULL) + RegularExpression *avoid_regexp_to_use; + + avoid_regexp_to_use = m_avoid_regexp_ap.get(); + if (avoid_regexp_to_use == NULL) + avoid_regexp_to_use = GetThread().GetSymbolsToAvoidRegexp(); + + if (avoid_regexp_to_use != NULL) { SymbolContext sc = frame->GetSymbolContext(eSymbolContextSymbol); if (sc.symbol != NULL) @@ -164,7 +170,7 @@ ThreadPlanStepInRange::FrameMatchesAvoidRegexp () const char *unnamed_symbol = ""; const char *sym_name = sc.symbol->GetMangled().GetName().AsCString(unnamed_symbol); if (strcmp (sym_name, unnamed_symbol) != 0) - return m_avoid_regexp_ap->Execute(sym_name); + return avoid_regexp_to_use->Execute(sym_name); } } return false; -- cgit v1.2.3