davide added inline comments.
================
Comment at:
source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp:213-229
+ // Handle variables with incomplete array types.
+ auto *type = in_value.GetCompilerType().GetOpaqueQualType();
+ auto qual_type = clang::QualType::getFromOpaquePtr(type).getCanonicalType();
+ if (qual_type->getTypeClass() == clang::Type::IncompleteArray) {
+ if (auto variable = in_value.GetVariable()) {
+ auto *lldb_type = variable->GetType();
+ auto *symbol_file = lldb_type->GetSymbolFile();
----------------
clayborg wrote:
> We must abstract this via the TypeSystem stuff and make this happen via the
> CompilerType interface. What happens when "in_value" is a swift type or other
> type from the type system? Crash
My understanding is that it is not possible today to get here with a swift
type. In fact, `GetDynamicTypeAndAddress` in swift will be always called on a
`SwiftLanguageRuntime`.
That said, I'm not necessarily advocating against the abstraction, just
pointing out that this is just a theoretical concern, and given this is an
internal API in the debugger, it could be possibly enforced by an assertion to
make sure people don't change the status quo accidentally.
https://reviews.llvm.org/D53530
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits