From: Richard Smith Date: Sat, 25 Feb 2012 09:42:26 +0000 (+0000) Subject: Fix assertion (too few Diag arguments) when diagnosing a deleted operator delete X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7a9f49296a6454b7a6f0edce89dc99d413a7e14e;p=clang Fix assertion (too few Diag arguments) when diagnosing a deleted operator delete git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151442 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaExprCXX.cpp b/lib/Sema/SemaExprCXX.cpp index 95bd617501..29d2138826 100644 --- a/lib/Sema/SemaExprCXX.cpp +++ b/lib/Sema/SemaExprCXX.cpp @@ -1881,7 +1881,8 @@ bool Sema::FindDeallocationFunction(SourceLocation StartLoc, CXXRecordDecl *RD, if (Operator->isDeleted()) { if (Diagnose) { Diag(StartLoc, diag::err_deleted_function_use); - Diag(Operator->getLocation(), diag::note_unavailable_here) << true; + Diag(Operator->getLocation(), diag::note_unavailable_here) + << /*function*/ 1 << /*deleted*/ 1; } return true; } diff --git a/test/SemaCXX/deleted-operator.cpp b/test/SemaCXX/deleted-operator.cpp index e357401bf9..0e0282ad12 100644 --- a/test/SemaCXX/deleted-operator.cpp +++ b/test/SemaCXX/deleted-operator.cpp @@ -11,3 +11,8 @@ int PR10757f() { if(~a1) {} // expected-error {{overload resolution selected deleted operator}} expected-note 6 {{built-in candidate}} if(a1==a1) {} // expected-error {{overload resolution selected deleted operator}} expected-note 81 {{built-in candidate}} } + +struct DelOpDel { + virtual ~DelOpDel() {} // expected-error {{deleted function}} + void operator delete(void*) = delete; // expected-note {{deleted here}} +};