[clang] [RFC] Initial implementation of P2719 (PR #113510)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 6 01:38:33 PST 2024
================
@@ -1847,15 +1913,42 @@ static bool hasNewExtendedAlignment(Sema &S, QualType AllocType) {
S.getASTContext().getTargetInfo().getNewAlign();
}
+static bool CheckDeleteOperator(Sema &S, SourceLocation StartLoc,
+ SourceRange Range, bool Diagnose,
+ CXXRecordDecl *NamingClass, DeclAccessPair Decl,
+ FunctionDecl *Operator) {
+ if (S.isTypeAwareOperatorNewOrDelete(Operator)) {
+ QualType SelectedTypeIdentityParameter =
+ Operator->getParamDecl(0)->getType();
+ if (S.RequireCompleteType(StartLoc, SelectedTypeIdentityParameter,
+ diag::err_incomplete_type))
+ return true;
+ }
+
+ // FIXME: DiagnoseUseOfDecl?
+ if (Operator->isDeleted()) {
+ if (Diagnose) {
+ StringLiteral *Msg = Operator->getDeletedMessage();
+ S.Diag(StartLoc, diag::err_deleted_function_use)
+ << (Msg != nullptr) << (Msg ? Msg->getString() : StringRef());
+ S.NoteDeletedFunction(Operator);
+ }
+ return true;
+ }
----------------
cor3ntin wrote:
Unrelated to your patch but we should really move that diagnostic in its own function - that code is duplicated
https://github.com/llvm/llvm-project/pull/113510
More information about the cfe-commits
mailing list