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

Aaron Ballman aaron at aaronballman.com
Wed Aug 1 12:06:00 PDT 2012


On Mon, Jul 30, 2012 at 6:03 PM, Aaron Ballman <aaron at aaronballman.com> wrote:
> 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.
> ~Aaron

More information about the cfe-commits mailing list