[cfe-commits] [PATCH] Diagnose cv-qualified operator new/delete

Aaron Ballman aaron at aaronballman.com
Mon Jul 30 15:03:13 PDT 2012

On Mon, Jul 30, 2012 at 4:41 PM, Aaron Ballman <aaron at aaronballman.com> wrote:
> On Mon, Jul 30, 2012 at 4:37 PM, Jordan Rose <jordan_rose at apple.com> wrote:
>> On Jul 30, 2012, at 13:28 , Aaron Ballman <aaron at aaronballman.com> wrote:
>>> This patch addresses PR13481 so that we properly diagnose overloaded
>>> operator new and operator delete if it is cv-qualified.
>> How well does this recover? I think we should just fixit-remove the 'const' or 'volatile' and continue as if the declaration is correct, but it looks like we're actually going to skip the decl pretty much entirely.
> The fixit is a good idea, I'll incorporate it.

There may be a problem (or an educational issue).  AFAICT, there's no
way to find the source range for the cv-qualifiers, so I cannot create
a removal fixit for the declaration.  What's more, I think I'd also
have to create a removal for the definition as well (or else we'll
simply get a different compile error).  Ideas are welcome, but for
right now I've left it as a FIXME.

>> Also, the internal warning name has "newdelete" in it, but the text does not. Perhaps this should be used for all static methods, and possibly constructors and destructors as well?
> Not a bad idea, it is a general error.  I'll refactor into something
> more generally reusable.

I've moved the functionality into its own Sema function, and renamed
the diagnostic to be more agnostic.  Once this patch lands, I can look
into adding/refactoring other functionality.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: cv-operators.patch
Type: application/octet-stream
Size: 4615 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120730/52834833/attachment.obj>

More information about the cfe-commits mailing list