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

Reply via email to