[cxx-interop] Remove symbolic import mode

Importing C++ class templates in symbolic mode has proven to be problematic in interaction with other compiler features, and it isn't used widely. This change removes the feature.

rdar://150528798
This commit is contained in:
Egor Zhdan
2025-05-02 18:43:09 +01:00
parent 9de2419153
commit b51cfa5c76
20 changed files with 14 additions and 857 deletions

View File

@@ -2274,11 +2274,6 @@ ImportedName NameImporter::importNameImpl(const clang::NamedDecl *D,
if (auto classTemplateSpecDecl =
dyn_cast<clang::ClassTemplateSpecializationDecl>(D)) {
/// Symbolic specializations get imported as the symbolic class template
/// type.
if (importSymbolicCXXDecls)
return importNameImpl(classTemplateSpecDecl->getSpecializedTemplate(),
version, givenName);
if (!isa<clang::ClassTemplatePartialSpecializationDecl>(D)) {
auto name = printClassTemplateSpecializationName(classTemplateSpecDecl,
swiftCtx, this, version);