* deprecate `0c`, `0C` prefix for octal literals Deprecates the previously allowed syntax of `0c` and `0C` as a prefix for octal literals to bring the literals in line with the behavior of `parseOct` from parseutils. * add `msgKind` arg to `lexMessageLitNum` for deprecation messages * change literal tests to check all valid integer literals Also adds the `tinvaligintegerlit3` test to test for the (still) invalid `0O` prefix.
This commit is contained in:
parent
70cf286a22
commit
681d8e0749
7 changed files with 62 additions and 33 deletions
|
|
@ -9,7 +9,7 @@ discard """
|
|||
# 8 bit
|
||||
let ref1 = 128'u8 shr 7
|
||||
let hex1 = 0x80'u8 shr 7
|
||||
let oct1 = 0c200'u8 shr 7
|
||||
let oct1 = 0o200'u8 shr 7
|
||||
let dig1 = 0b10000000'u8 shr 7
|
||||
|
||||
doAssert(ref1 == 1)
|
||||
|
|
@ -20,7 +20,7 @@ doAssert(ref1 == dig1)
|
|||
# 16 bit
|
||||
let ref2 = 32768'u16 shr 15
|
||||
let hex2 = 0x8000'u16 shr 15
|
||||
let oct2 = 0c100000'u16 shr 15
|
||||
let oct2 = 0o100000'u16 shr 15
|
||||
let dig2 = 0b1000000000000000'u16 shr 15
|
||||
|
||||
doAssert(ref2 == 1)
|
||||
|
|
@ -31,7 +31,7 @@ doAssert(ref2 == dig2)
|
|||
# 32 bit
|
||||
let ref3 = 2147483648'u32 shr 31
|
||||
let hex3 = 0x80000000'u32 shr 31
|
||||
let oct3 = 0c20000000000'u32 shr 31
|
||||
let oct3 = 0o20000000000'u32 shr 31
|
||||
let dig3 = 0b10000000000000000000000000000000'u32 shr 31
|
||||
|
||||
doAssert(ref3 == 1)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue