https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109877

Iain Sandoe <iains at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |rejects-valid
            Summary|Support for clang-style     |lexing does not honour
                   |attributes is needed to     |balanced token sequences in
                   |parse Darwin SDK headers    |attribute arguments
                   |properly                    |
           Severity|enhancement                 |normal
             Target|*-darwin                    |

--- Comment #12 from Iain Sandoe <iains at gcc dot gnu.org> ---
Actually, this is not really Darwin-specific...

In particular, from my reading of  [dcl.attr.grammar] (C++)
and 6.7.12 Attributes (c)

We should consume this:

```
void foo ()
{
  int x [[clang::fudge(something, version=10.10.1)]];
}

```

with a warning about an ignored attribute, but we error-out with

t.C:4:41: error: too many decimal points in number
    4 |   int x [[gnu::fudge(something, version=10.10.1)]];

(we have a similar situation with __attribute__ form - and, presumably a single
fix would work for both)

Reply via email to