Skip to content

Commit a87ab2c

Browse files
author
git apple-llvm automerger
committed
Merge commit '9a8dda94a3fa' from swift/release/5.9 into stable/20221013
2 parents ddf33d5 + 9a8dda9 commit a87ab2c

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

lldb/source/Plugins/LanguageRuntime/Swift/SwiftLanguageRuntimeDynamicTypeResolution.cpp

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3244,12 +3244,22 @@ SwiftLanguageRuntimeImpl::GetTypeRef(CompilerType type,
32443244

32453245
// Demangle the mangled name.
32463246
swift::Demangle::Demangler dem;
3247-
ConstString mangled_name = type.GetMangledTypeName();
3247+
llvm::StringRef mangled_name = type.GetMangledTypeName().GetStringRef();
32483248
auto ts = type.GetTypeSystem().dyn_cast_or_null<TypeSystemSwift>();
32493249
if (!ts)
32503250
return nullptr;
3251+
3252+
// List of commonly used types known to have been been annotated with
3253+
// @_originallyDefinedIn to a different module.
3254+
static llvm::StringMap<llvm::StringRef> known_types_with_redefined_modules = {
3255+
{"$s14CoreFoundation7CGFloatVD", "$s12CoreGraphics7CGFloatVD"}};
3256+
3257+
auto it = known_types_with_redefined_modules.find(mangled_name);
3258+
if (it != known_types_with_redefined_modules.end())
3259+
mangled_name = it->second;
3260+
32513261
swift::Demangle::NodePointer node =
3252-
module_holder->GetCanonicalDemangleTree(dem, mangled_name.GetStringRef());
3262+
module_holder->GetCanonicalDemangleTree(dem, mangled_name);
32533263
if (!node)
32543264
return nullptr;
32553265

lldb/source/Plugins/TypeSystem/Swift/TypeSystemSwiftTypeRef.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4146,8 +4146,6 @@ bool TypeSystemSwiftTypeRef::ShouldSkipValidation(opaque_compiler_type_t type) {
41464146
if (mangled_name == "$sSo6CGSizeVD")
41474147
return true;
41484148

4149-
if (mangled_name == "$s14CoreFoundation7CGFloatVD")
4150-
return true;
41514149
// We skip validation when dealing with a builtin type since builtins are
41524150
// considered type aliases by Swift, which we're deviating from since
41534151
// SwiftASTContext reconstructs Builtin types as TypeAliases pointing to the

0 commit comments

Comments
 (0)