summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/Debugger.cpp
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2012-03-27 02:35:13 +0000
committerEnrico Granata <egranata@apple.com>2012-03-27 02:35:13 +0000
commitc5bc412cf6cb8ca4a8aaa33b36519affea73f9b7 (patch)
tree115bd96399cee3c0d45d3bf48cce6132de153a52 /lldb/source/Core/Debugger.cpp
parentfe384a2c84fb9808be47c894bd445bc18891556a (diff)
downloadbcm5719-llvm-c5bc412cf6cb8ca4a8aaa33b36519affea73f9b7.tar.gz
bcm5719-llvm-c5bc412cf6cb8ca4a8aaa33b36519affea73f9b7.zip
Synthetic values are now automatically enabled and active by default. SBValue is set up to always wrap a synthetic value when one is available.
A new setting enable-synthetic-value is provided on the target to disable this behavior. There also is a new GetNonSyntheticValue() API call on SBValue to go back from synthetic to non-synthetic. There is no call to go from non-synthetic to synthetic. The test suite has been changed accordingly. Fallout from changes to type searching: an hack has to be played to make it possible to use maps that contain std::string due to the special name replacement operated by clang Fixing a test case that was using libstdcpp instead of libc++ - caught as a consequence of said changes to type searching llvm-svn: 153495
Diffstat (limited to 'lldb/source/Core/Debugger.cpp')
-rw-r--r--lldb/source/Core/Debugger.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp
index 6b93aa971a0..d7f1460e7fb 100644
--- a/lldb/source/Core/Debugger.cpp
+++ b/lldb/source/Core/Debugger.cpp
@@ -1164,7 +1164,8 @@ Debugger::FormatPrompt
if (*var_name_begin == 's')
{
- valobj = valobj->GetSyntheticValue().get();
+ if (!valobj->IsSynthetic())
+ valobj = valobj->GetSyntheticValue().get();
if (!valobj)
break;
var_name_begin++;
OpenPOWER on IntegriCloud