Skip to content

Commit d78fb4e

Browse files
authored
Merge pull request #19374 from apple/fixmeSC
2 parents 6130175 + e4d9813 commit d78fb4e

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

lib/Demangling/Demangler.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,9 @@ bool swift::Demangle::isSwiftSymbol(const char *mangledName) {
169169
}
170170

171171
bool swift::Demangle::isObjCSymbol(llvm::StringRef mangledName) {
172-
return dropSwiftManglingPrefix(mangledName).startswith("So");
172+
StringRef nameWithoutPrefix = dropSwiftManglingPrefix(mangledName);
173+
return nameWithoutPrefix.startswith("So") ||
174+
nameWithoutPrefix.startswith("SC");
173175
}
174176

175177
bool swift::Demangle::isOldFunctionTypeMangling(llvm::StringRef mangledName) {

unittests/Basic/DemangleTest.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,5 @@ TEST(Demangle, IsObjCSymbol) {
2929
EXPECT_EQ(true, isObjCSymbol(llvm::StringRef("_$SSo8NSNumberCMa")));
3030
EXPECT_EQ(false,
3131
isObjCSymbol(llvm::StringRef("_$S3pat7inlinedSo8NSNumberCvp")));
32+
EXPECT_EQ(true, isObjCSymbol(llvm::StringRef("_$SSC3fooyS2d_SdtFTO")));
3233
}

0 commit comments

Comments
 (0)