On 01/20/2016 06:04 PM, Martin Sebor wrote:
Right. The problem is this code in is_late_template_attribute:
/* If the first attribute argument is an identifier, only consider
second and following arguments. Attributes like mode, format,
cleanup and several target specific attributes aren't late
just because they have an IDENTIFIER_NODE as first
argument. */
if (arg == args && identifier_p (t))
continue;
It shouldn't skip an initial identifier if !attribute_takes_identifier_p.
That seems backwards. I expected attribute_takes_identifier_p()
to return true for attribute aligned since the attribute does
take one.
There are some attributes (mode, format, cleanup) that have magic
handling of identifiers; aligned treats its argument as an expression
whether or not that expression takes the form of an identifier.
In any case, I changed the patch as you suggest and retested it
on x86_64. I saw the email about stage 3 having ended but I'm
not sure it applies to changes that are still in progress.
I wouldn't think so; certainly not for something this simple. The patch
is OK.
Jason