You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
but constants like 1.2e4 are accepted.
Since there is no decimal point the lexer takes "12" for an integer constant, and assumes that "e3" is part of an following ID.
The C standard specifies that a decimal floating point constant may be:
I have tested a few cases.
12e3 is now accepted correctly.
However, the following constants are still rejected by the parser (they are mostly corner cases):
0.7e0
0.
0e1
0e-0
The following constant makes the IR generator crash:
78E-1
The following constant is accepted silently although it should be flagged as too big:
9.0E122334
Last, any floating point constants with a suffix is rejected by the parser (f, F, l, L)
1.2e10f
I attach below a test file (issue96.c) covering most cases, including the failed ones listed above. issue96.c.txt
Current version rejects constants such as 12e3.
but constants like 1.2e4 are accepted.
Since there is no decimal point the lexer takes "12" for an integer constant, and assumes that "e3" is part of an following ID.
The C standard specifies that a decimal floating point constant may be:
The text was updated successfully, but these errors were encountered: