summaryrefslogtreecommitdiffstats
path: root/lldb/source/DataFormatters
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2019-08-06 00:42:11 +0000
committerDavide Italiano <davide@freebsd.org>2019-08-06 00:42:11 +0000
commit78f05d3599f361f7cc39b0ac8469394b39bffc27 (patch)
tree869b9ab43d6f49539eb7708611b21fa936d93e5a /lldb/source/DataFormatters
parentc9d90d50025b0f9408835871d1e2d5aa05bb5daa (diff)
downloadbcm5719-llvm-78f05d3599f361f7cc39b0ac8469394b39bffc27.tar.gz
bcm5719-llvm-78f05d3599f361f7cc39b0ac8469394b39bffc27.zip
Revert "[CompilerType] Simplify the interface a bit more.."
There's actually a test downstream that fails with this. I think we can still get rid of it, but I need to do some work there first. llvm-svn: 367963
Diffstat (limited to 'lldb/source/DataFormatters')
-rw-r--r--lldb/source/DataFormatters/FormatManager.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/lldb/source/DataFormatters/FormatManager.cpp b/lldb/source/DataFormatters/FormatManager.cpp
index 5289176ac18..e218687c3e4 100644
--- a/lldb/source/DataFormatters/FormatManager.cpp
+++ b/lldb/source/DataFormatters/FormatManager.cpp
@@ -183,13 +183,15 @@ void FormatManager::GetPossibleMatches(
reason |= lldb_private::eFormatterChoiceCriterionStrippedBitField;
}
- entries.push_back(
- {type_name, reason, did_strip_ptr, did_strip_ref, did_strip_typedef});
+ if (!compiler_type.IsMeaninglessWithoutDynamicResolution()) {
+ entries.push_back(
+ {type_name, reason, did_strip_ptr, did_strip_ref, did_strip_typedef});
- ConstString display_type_name(compiler_type.GetDisplayTypeName());
- if (display_type_name != type_name)
- entries.push_back({display_type_name, reason, did_strip_ptr, did_strip_ref,
- did_strip_typedef});
+ ConstString display_type_name(compiler_type.GetDisplayTypeName());
+ if (display_type_name != type_name)
+ entries.push_back({display_type_name, reason, did_strip_ptr,
+ did_strip_ref, did_strip_typedef});
+ }
for (bool is_rvalue_ref = true, j = true;
j && compiler_type.IsReferenceType(nullptr, &is_rvalue_ref); j = false) {
@@ -563,8 +565,10 @@ ConstString FormatManager::GetTypeForCache(ValueObject &valobj,
lldb::DynamicValueType use_dynamic) {
ValueObjectSP valobj_sp = valobj.GetQualifiedRepresentationIfAvailable(
use_dynamic, valobj.IsSynthetic());
- if (valobj_sp && valobj_sp->GetCompilerType().IsValid())
- return valobj_sp->GetQualifiedTypeName();
+ if (valobj_sp && valobj_sp->GetCompilerType().IsValid()) {
+ if (!valobj_sp->GetCompilerType().IsMeaninglessWithoutDynamicResolution())
+ return valobj_sp->GetQualifiedTypeName();
+ }
return ConstString();
}
OpenPOWER on IntegriCloud