r189532 - Mode is now handled as a non-inheritable attribute, and CUDADevice & CUDAHost are now handled as inheritable attributes. In all three cases, this makes the processing behavior more consistent with the declared behavior in Attr.td.

Aaron Ballman aaron at aaronballman.com
Wed Aug 28 17:24:27 PDT 2013


On Wed, Aug 28, 2013 at 8:19 PM, Richard Smith <richard at metafoo.co.uk> wrote:
> Digging into this further, I think this is actually a non-functional change.
> There's no real difference between ProcessNonInheritableDeclAttr and
> ProcessInheritableDeclAttr.

There is because combining the two cause a lot of test case failures.
But I would be *delighted* if we could get rid of the two because it
would make consolidated error checking much, much easier.

~Aaron

>
>
> On Wed, Aug 28, 2013 at 5:11 PM, Eli Friedman <eli.friedman at gmail.com>
> wrote:
>>
>> On Wed, Aug 28, 2013 at 4:23 PM, Aaron Ballman <aaron at aaronballman.com>
>> wrote:
>>>
>>> Would this make a suitable test case?
>>>
>>> typedef int i16_1 __attribute((mode(HI)));
>>> typedef i16_1  i16_redecl;
>>
>>
>> That isn't a redeclaration. :)
>>
>> Anyway, I'm not sure you actually can write a meaningful testcase; the
>> ModeAttr AST node doesn't actually have any semantics.
>>
>> -Eli
>
>



More information about the cfe-commits mailing list