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

--- Comment #17 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Drea Pinski from comment #15)
> Try:
> ```
> double t = 10.1.1;
> ```
> 
> clang rejects this NOT by a syntax error but via a tokeniziing error:
> <source>:1:16: error: invalid suffix '.1' on floating constant

hmm. I have not poked into the code to see where that is decided.

---

The point I was trying to make is that

10.

appears ambiguous at the lexing stage - it might be the start of a floating
point number, or it might be an integer followed by a period.  One needs the
sema context to decide which it was supposed to be (although, I suspect, that
the only context in which it could be integer-period is in an attribute at
present).

Reply via email to