Skip to content

Commit 4c73369

Browse files
committed
Revert "[cxx-interop] Add debug dump when we hit The Flakey Issue™."
This reverts commit 75dc69a.
1 parent 00dc540 commit 4c73369

File tree

3 files changed

+0
-131
lines changed

3 files changed

+0
-131
lines changed

include/swift/AST/ClangModuleLoader.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@ class SwiftLookupTable;
4141
class ValueDecl;
4242
class VisibleDeclConsumer;
4343

44-
void dumpSwiftLookupTable(SwiftLookupTable *table);
45-
4644
/// Represents the different namespaces for types in C.
4745
///
4846
/// A simplified version of clang::Sema::LookupKind.

lib/ClangImporter/SwiftLookupTable.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2217,7 +2217,3 @@ SwiftNameLookupExtension::createExtensionReader(
22172217
// Return the new reader.
22182218
return std::move(tableReader);
22192219
}
2220-
2221-
void swift::dumpSwiftLookupTable(SwiftLookupTable *table) {
2222-
table->dump();
2223-
}

lib/Sema/CSDiagnostics.cpp

Lines changed: 0 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -3815,131 +3815,6 @@ void MissingMemberFailure::diagnoseUnsafeCxxMethod(SourceLoc loc,
38153815
!isa_and_nonnull<clang::CXXRecordDecl>(
38163816
baseType->getAnyNominal()->getClangDecl()))
38173817
return;
3818-
3819-
if (name.getBaseIdentifier().str() == "getFromPointer" ||
3820-
name.getBaseIdentifier().str() == "isValid" ||
3821-
name.getBaseIdentifier().str() == "__dataUnsafe" ||
3822-
name.getBaseIdentifier().str() == "__getOpaquePointerValueUnsafe" ||
3823-
name.getBaseIdentifier().str() == "__getStartUnsafe" ||
3824-
name.getBaseIdentifier().str() == "__c_strUnsafe") {
3825-
// OK, we did not find a member that we probably should have.
3826-
// Dump the world.
3827-
llvm::dbgs() << "====================================================\n";
3828-
llvm::dbgs() << "====================================================\n\n";
3829-
llvm::dbgs() << "Hello! You have unfortuantly stubled across an interop bug that we have been trying to track down for a while. Please reach out to Zoe Carver and provide a link to this build. You can re-run this build and it should work next time. Sorry for the inconvience.\n\n";
3830-
llvm::dbgs() << "====================================================\n";
3831-
llvm::dbgs() << "====================================================\n\n";
3832-
3833-
llvm::dbgs() << "THE NAME: "; name.dump();
3834-
3835-
llvm::dbgs() << "====================================================\n";
3836-
llvm::dbgs() << "====================================================\n\n";
3837-
3838-
auto cxxRecord = cast<clang::CXXRecordDecl>(baseType->getAnyNominal()->getClangDecl());
3839-
llvm::dbgs() << "CXX RECORD: "; cxxRecord->dump();
3840-
3841-
llvm::dbgs() << "====================================================\n";
3842-
llvm::dbgs() << "====================================================\n\n";
3843-
3844-
auto dumpRedecls = [](const clang::CXXRecordDecl *cxxRecordToDump) {
3845-
llvm::dbgs() << "REDECLS:\n";
3846-
unsigned redeclIdx = 0;
3847-
for (auto redecl : cxxRecordToDump->redecls()) {
3848-
llvm::dbgs() << "REDECL(" << redeclIdx << "): "; redecl->dump();
3849-
redeclIdx++;
3850-
}
3851-
};
3852-
3853-
dumpRedecls(cxxRecord);
3854-
3855-
llvm::dbgs() << "====================================================\n";
3856-
llvm::dbgs() << "====================================================\n\n";
3857-
if (name.getBaseIdentifier().str() == "getFromPointer" ||
3858-
name.getBaseIdentifier().str() == "isValid") {
3859-
llvm::dbgs() << "LOOKUP UNSAFE VERSION:\n";
3860-
auto unsafeId =
3861-
ctx.getIdentifier("__" + name.getBaseIdentifier().str().str() + "Unsafe");
3862-
for (auto found :
3863-
baseType->getAnyNominal()->lookupDirect(DeclBaseName(unsafeId))) {
3864-
llvm::dbgs() << "**FOUND UNSAFE VERSION**\n";
3865-
llvm::dbgs() << "UNSAFE: ";
3866-
found->dump();
3867-
3868-
if (auto cxxMethod = dyn_cast_or_null<clang::CXXMethodDecl>(found->getClangDecl())) {
3869-
llvm::dbgs() << "FOUND CXX METHOD.";
3870-
auto returnType = cxxMethod->getReturnType();
3871-
llvm::dbgs() << "CXX METHOD RETURN TYPE: ";
3872-
returnType->dump();
3873-
3874-
llvm::dbgs() << "CAN RETURN TYPE: ";
3875-
returnType->getCanonicalTypeUnqualified().dump();
3876-
3877-
if (auto recordType = dyn_cast<clang::RecordType>(returnType)) {
3878-
dumpRedecls(returnType->getAsCXXRecordDecl());
3879-
} else {
3880-
llvm::dbgs() << "NOT A RECORD TYPE\n";
3881-
}
3882-
}
3883-
}
3884-
} else {
3885-
std::string safeName;
3886-
if (name.getBaseIdentifier().str() == "__dataUnsafe")
3887-
safeName = "data";
3888-
if (name.getBaseIdentifier().str() == "__getOpaquePointerValueUnsafe")
3889-
safeName = "getOpaquePointerValue";
3890-
if (name.getBaseIdentifier().str() == "__getStartUnsafe")
3891-
safeName = "getStart";
3892-
if (name.getBaseIdentifier().str() == "__c_strUnsafe")
3893-
safeName = "c_str";
3894-
3895-
auto safeId = ctx.getIdentifier(safeName);
3896-
for (auto found :
3897-
baseType->getAnyNominal()->lookupDirect(DeclBaseName(safeId))) {
3898-
llvm::dbgs() << "**FOUND SAFE VERSION**\n";
3899-
llvm::dbgs() << "UNSAFE: ";
3900-
found->dump();
3901-
3902-
if (auto cxxMethod = dyn_cast_or_null<clang::CXXMethodDecl>(found->getClangDecl())) {
3903-
llvm::dbgs() << "FOUND CXX METHOD.";
3904-
auto returnType = cxxMethod->getReturnType();
3905-
llvm::dbgs() << "CXX METHOD RETURN TYPE: ";
3906-
returnType->dump();
3907-
3908-
llvm::dbgs() << "CAN RETURN TYPE: ";
3909-
returnType->getCanonicalTypeUnqualified().dump();
3910-
3911-
if (auto recordType = dyn_cast<clang::RecordType>(returnType)) {
3912-
dumpRedecls(returnType->getAsCXXRecordDecl());
3913-
} else {
3914-
llvm::dbgs() << "NOT A RECORD TYPE\n";
3915-
}
3916-
}
3917-
}
3918-
}
3919-
3920-
llvm::dbgs() << "====================================================\n";
3921-
llvm::dbgs() << "====================================================\n\n";
3922-
llvm::dbgs() << "(IMPORTED) SWIFT TYPE: ";
3923-
baseType->dump();
3924-
3925-
llvm::dbgs() << "(IMPORTED) SWIFT DECL: ";
3926-
baseType->getAnyNominal()->dump();
3927-
3928-
// And for my final trick, I will dump the whole lookup table.
3929-
llvm::dbgs() << "====================================================\n";
3930-
llvm::dbgs() << "====================================================\n\n";
3931-
llvm::dbgs() << "LOOKUP TABLE: ";
3932-
3933-
if (auto clangModule = cxxRecord->getOwningModule()) {
3934-
dumpSwiftLookupTable(ctx.getClangModuleLoader()->findLookupTable(clangModule));
3935-
} else {
3936-
llvm::dbgs() << "NO MODULE\n";
3937-
}
3938-
3939-
llvm::dbgs() << "====================================================\n";
3940-
llvm::dbgs() << "DBUG DUMP DONE\n";
3941-
llvm::dbgs() << "====================================================\n\n";
3942-
}
39433818

39443819
auto unsafeId =
39453820
ctx.getIdentifier("__" + name.getBaseIdentifier().str().str() + "Unsafe");

0 commit comments

Comments
 (0)