diff options
| author | Davide Italiano <davide@freebsd.org> | 2019-08-06 00:42:11 +0000 |
|---|---|---|
| committer | Davide Italiano <davide@freebsd.org> | 2019-08-06 00:42:11 +0000 |
| commit | 78f05d3599f361f7cc39b0ac8469394b39bffc27 (patch) | |
| tree | 869b9ab43d6f49539eb7708611b21fa936d93e5a /lldb/source/DataFormatters | |
| parent | c9d90d50025b0f9408835871d1e2d5aa05bb5daa (diff) | |
| download | bcm5719-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.cpp | 20 |
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(); } |

