diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2019-11-20 17:08:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-20 17:08:43 +0100 |
commit | c98e0e22ad7bf7772eb0ef3f50b7f67f33ec8905 (patch) | |
tree | 6ec8ee4149105307bfabb42444e979be890e7edc /compiler/ccgexprs.nim | |
parent | 85ffcd80c05ae1bbf853121059c39a215a29ae54 (diff) | |
download | Nim-c98e0e22ad7bf7772eb0ef3f50b7f67f33ec8905.tar.gz |
conversions to unsigned numbers are not checked anymore; implements /… (#12688) [backport]
* conversions to unsigned numbers are not checked anymore; implements / fixes https://github.com/nim-lang/RFCs/issues/175 * change the spec yet again to be less consistent but to make more sense; updated the changelog
Diffstat (limited to 'compiler/ccgexprs.nim')
-rw-r--r-- | compiler/ccgexprs.nim | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/ccgexprs.nim b/compiler/ccgexprs.nim index 1d9d0aca6..009ee7221 100644 --- a/compiler/ccgexprs.nim +++ b/compiler/ccgexprs.nim @@ -1929,7 +1929,8 @@ proc genCast(p: BProc, e: PNode, d: var TLoc) = proc genRangeChck(p: BProc, n: PNode, d: var TLoc, magic: string) = var a: TLoc var dest = skipTypes(n.typ, abstractVar) - if optRangeCheck notin p.options: + if optRangeCheck notin p.options or (dest.kind in {tyUInt..tyUInt64} and + checkUnsignedConversions notin p.config.legacyFeatures): initLocExpr(p, n.sons[0], a) putIntoDest(p, d, n, "(($1) ($2))" % [getTypeDesc(p.module, dest), rdCharLoc(a)], a.storage) |