This commit is contained in:
Andreas Rumpf
2019-05-13 17:25:57 +02:00
parent f84293ac8f
commit 69658ad396
2 changed files with 12 additions and 3 deletions

View File

@@ -323,9 +323,10 @@ proc litAux(g: TSrcGen; n: PNode, x: BiggestInt, size: int): string =
result &= e.sym.name.s
return
if nfBase2 in n.flags: result = "0b" & toBin(x, size * 8)
elif nfBase8 in n.flags: result = "0o" & toOct(x, size * 3)
elif nfBase16 in n.flags: result = "0x" & toHex(x, size * 2)
let y = x and ((1 shl (size*8)) - 1)
if nfBase2 in n.flags: result = "0b" & toBin(y, size * 8)
elif nfBase8 in n.flags: result = "0o" & toOct(y, size * 3)
elif nfBase16 in n.flags: result = "0x" & toHex(y, size * 2)
else: result = $x
proc ulitAux(g: TSrcGen; n: PNode, x: BiggestInt, size: int): string =

View File

@@ -26,6 +26,7 @@ range[0 .. 100]
array[0 .. 100, int]
10
test
0o377'i8
'''
"""
@@ -236,3 +237,10 @@ block tbugs:
sampleMacroInt(42)
sampleMacroBool(false)
sampleMacroBool(system.true)
# bug #11131
macro toRendererBug(n): untyped =
result = newLit repr(n)
echo toRendererBug(0o377'i8)