[PATCH] Cleanup attribute using resolved identifiers

Aaron Ballman aaron at aaronballman.com
Wed Sep 4 12:08:35 PDT 2013


On Wed, Sep 4, 2013 at 1:35 PM, Richard Smith <richard at metafoo.co.uk> wrote:
> This goes beyond what GCC supports: there, the attribute must be given a
> simple identifier. I think this extension is reasonable, but please add a
> -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 more
> 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 --------------
A non-text attachment was scrubbed...
Name: CleanupAttr.patch
Type: application/octet-stream
Size: 7829 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130904/dd04d8f5/attachment.obj>


More information about the cfe-commits mailing list