fixes #1265
This commit is contained in:
parent
4860b46c7f
commit
7c5f87e413
1 changed files with 8 additions and 2 deletions
|
|
@ -424,8 +424,14 @@ proc getNumber(L: var TLexer): TToken =
|
||||||
if (result.iNumber < low(int32)) or (result.iNumber > high(int32)):
|
if (result.iNumber < low(int32)) or (result.iNumber > high(int32)):
|
||||||
if result.tokType == tkIntLit:
|
if result.tokType == tkIntLit:
|
||||||
result.tokType = tkInt64Lit
|
result.tokType = tkInt64Lit
|
||||||
elif result.tokType in {tkInt8Lit, tkInt16Lit}:
|
elif result.tokType in {tkInt8Lit, tkInt16Lit, tkInt32Lit}:
|
||||||
lexMessage(L, errInvalidNumber, result.literal)
|
lexMessage(L, errNumberOutOfRange, result.literal)
|
||||||
|
elif result.tokType == tkInt8Lit and
|
||||||
|
(result.iNumber < int8.low or result.iNumber > int8.high):
|
||||||
|
lexMessage(L, errNumberOutOfRange, result.literal)
|
||||||
|
elif result.tokType == tkInt16Lit and
|
||||||
|
(result.iNumber < int16.low or result.iNumber > int16.high):
|
||||||
|
lexMessage(L, errNumberOutOfRange, result.literal)
|
||||||
except EInvalidValue:
|
except EInvalidValue:
|
||||||
lexMessage(L, errInvalidNumber, result.literal)
|
lexMessage(L, errInvalidNumber, result.literal)
|
||||||
except EOverflow, EOutOfRange:
|
except EOverflow, EOutOfRange:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue