[PATCH] Cleanup attribute using resolved identifiers
richard at metafoo.co.uk
Tue Sep 10 13:59:33 PDT 2013
Your -Wgcc-compat check for DRE->hasQualifier() should also check for
DRE->hasExplicitTemplateArgs(). With that and a test for it, LGTM.
On Mon, Sep 9, 2013 at 5:47 AM, Aaron Ballman <aaron at aaronballman.com>wrote:
> On Wed, Sep 4, 2013 at 3:08 PM, Aaron Ballman <aaron at aaronballman.com>
> > On Wed, Sep 4, 2013 at 1:35 PM, Richard Smith <richard at metafoo.co.uk>
> >> This goes beyond what GCC supports: there, the attribute must be given a
> >> simple identifier. I think this extension is reasonable, but please add
> >> -Wgcc-compat warning for the cases that GCC doesn't allow. I also wonder
> >> whether there's any reason to restrict this to a DeclRefExpr, or
> whether we
> >> should just allow any expression of the right type. (If we make this
> >> permissive, we'll need to document when the expression is evaluated)
> > I've added another test file for ensuring we fire the -Wgcc-compat
> > warnings as expected. As for extending it to any expression of the
> > right type, that is a bit further than I was looking to take this (I
> > mostly wanted to get another case of unresolved identifiers out of the
> > way for other attribute work).
> > Thanks!
> > ~Aaron
> >> On 4 Sep 2013 07:47, "Aaron Ballman" <aaron at aaronballman.com> wrote:
> >>> The cleanup attribute was using an unresolved, simple identifier as
> >>> its sole argument. However, while processing the attribute, we would
> >>> attempt to look up the simple identifier, flag its usage, etc as
> >>> though it were a resolved identifier. This patch removes the custom
> >>> logic from SemaDeclAttr.cpp and simply uses a resolved identifier
> >>> (DeclRefExpr) for the argument. I've added some extra test cases
> >>> since this expands what can be used as an argument to cleanup.
> >>> ~Aaron
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-commits