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

--- Comment #13 from Drea Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Iain Sandoe from comment #12)
> 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

>From `[dcl.attr.grammar]`:
```
balanced-token:
( balanced-token-seq/opt )
[ balanced-token-seq/opt ]
{ balanced-token-seq/opt }
[: balanced-token-seq/opt :]
any token other than (, ), [, ], {, }, [:, or :]
```
```
token:
...
literal
```
```
literal:
floating-point-literal
```
floating-point-literal:
decimal-floating-point-literal
```
```
decimal-floating-point-literal:
fractional-constant exponent-part/opt floating-point-suffix/opt
digit-sequence exponent-part floating-point-suffix/opt
```

The problem is `10.10.1` is an invalid token as far as I understand.

So no I think the problem is this is not a valid token sequence originally.
clang accepting it is wrong too.

Reply via email to