Support for calling C++ destructors. (#6453)

Synthesize an impl of `Destroy` for C++ classes in response to impl
lookup.
This commit is contained in:
Richard Smith
2025-12-09 21:03:27 +00:00
committed by GitHub
parent 2d38978756
commit c7cd24e1b2
28 changed files with 923 additions and 923 deletions
+4 -5
View File
@@ -1624,11 +1624,6 @@ static auto CreateFunctionParamsInsts(Context& context, SemIR::LocId loc_id,
clang::FunctionDecl* clang_decl,
int num_params)
-> std::optional<FunctionParamsInsts> {
if (isa<clang::CXXDestructorDecl>(clang_decl)) {
context.TODO(loc_id, "Unsupported: Destructor");
return std::nullopt;
}
auto implicit_param_patterns_id =
MakeImplicitParamPatternsBlockId(context, loc_id, *clang_decl);
if (!implicit_param_patterns_id.has_value()) {
@@ -1668,6 +1663,10 @@ static auto GetFunctionName(Context& context, clang::FunctionDecl* clang_decl)
.name_id;
}
case clang::DeclarationName::CXXDestructorName: {
return SemIR::NameId::CppDestructor;
}
case clang::DeclarationName::CXXOperatorName: {
return SemIR::NameId::CppOperator;
}