diff options
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/ccgexprs.nim | 11 | ||||
-rw-r--r-- | compiler/ccgmerge.nim | 3 | ||||
-rw-r--r-- | compiler/condsyms.nim | 94 |
3 files changed, 51 insertions, 57 deletions
diff --git a/compiler/ccgexprs.nim b/compiler/ccgexprs.nim index 938df2968..e3cc93d4b 100644 --- a/compiler/ccgexprs.nim +++ b/compiler/ccgexprs.nim @@ -997,14 +997,9 @@ proc genSeqElem(p: BProc, n, x, y: PNode, d: var TLoc) = if ty.kind in {tyRef, tyPtr}: ty = skipTypes(ty.lastSon, abstractVarRange) # emit range check: if optBoundsCheck in p.options: - if ty.kind == tyString and not defined(nimNoZeroTerminator): - linefmt(p, cpsStmts, - "if ((NU)($1) > (NU)$2){ #raiseIndexError2($1,$2); $3}$n", - [rdLoc(b), lenExpr(p, a), raiseInstr(p)]) - else: - linefmt(p, cpsStmts, - "if ((NU)($1) >= (NU)$2){ #raiseIndexError2($1,$2-1); $3}$n", - [rdLoc(b), lenExpr(p, a), raiseInstr(p)]) + linefmt(p, cpsStmts, + "if ((NU)($1) >= (NU)$2){ #raiseIndexError2($1,$2-1); $3}$n", + [rdLoc(b), lenExpr(p, a), raiseInstr(p)]) if d.k == locNone: d.storage = OnHeap if skipTypes(a.t, abstractVar).kind in {tyRef, tyPtr}: a.r = ropecg(p.module, "(*$1)", [a.r]) diff --git a/compiler/ccgmerge.nim b/compiler/ccgmerge.nim index 40833a64e..c7d19da7a 100644 --- a/compiler/ccgmerge.nim +++ b/compiler/ccgmerge.nim @@ -218,9 +218,6 @@ proc processMergeInfo(L: var TBaseLexer, m: BModule) = m.flags = cast[set[CodegenFlag]](decodeVInt(L.buf, L.bufpos) != 0) else: doAssert(false, "ccgmerge: unknown key: " & k) -when not defined(nimhygiene): - {.pragma: inject.} - template withCFile(cfilename: AbsoluteFile, body: untyped) = var s = llStreamOpen(cfilename, fmRead) if s == nil: return diff --git a/compiler/condsyms.nim b/compiler/condsyms.nim index df216fb45..45cc55e94 100644 --- a/compiler/condsyms.nim +++ b/compiler/condsyms.nim @@ -34,55 +34,57 @@ proc countDefinedSymbols*(symbols: StringTableRef): int = proc initDefines*(symbols: StringTableRef) = # for bootstrapping purposes and old code: template defineSymbol(s) = symbols.defineSymbol(s) - defineSymbol("nimhygiene") - defineSymbol("niminheritable") - defineSymbol("nimmixin") - defineSymbol("nimeffects") - defineSymbol("nimbabel") - defineSymbol("nimcomputedgoto") - defineSymbol("nimunion") - defineSymbol("nimnewshared") - defineSymbol("nimNewTypedesc") - defineSymbol("nimrequiresnimframe") - defineSymbol("nimparsebiggestfloatmagic") - defineSymbol("nimalias") - defineSymbol("nimlocks") - defineSymbol("nimnode") - defineSymbol("nimvarargstyped") - defineSymbol("nimtypedescfixed") - defineSymbol("nimKnowsNimvm") - defineSymbol("nimArrIdx") - defineSymbol("nimHasalignOf") - defineSymbol("nimDistros") - defineSymbol("nimHasCppDefine") - defineSymbol("nimGenericInOutFlags") - when false: defineSymbol("nimHasOpt") - defineSymbol("nimNoArrayToCstringConversion") - defineSymbol("nimHasRunnableExamples") - defineSymbol("nimNewDot") - defineSymbol("nimHasNilChecks") - defineSymbol("nimSymKind") - defineSymbol("nimVmEqIdent") - defineSymbol("nimNoNil") - defineSymbol("nimNoZeroTerminator") - defineSymbol("nimNotNil") - defineSymbol("nimVmExportFixed") - defineSymbol("nimHasSymOwnerInMacro") - defineSymbol("nimNewRuntime") - defineSymbol("nimIncrSeqV3") - defineSymbol("nimAshr") + defineSymbol("nimhygiene") # deadcode + defineSymbol("niminheritable") # deadcode + defineSymbol("nimmixin") # deadcode + defineSymbol("nimeffects") # deadcode + defineSymbol("nimbabel") # deadcode + defineSymbol("nimcomputedgoto") # deadcode + defineSymbol("nimunion") # deadcode + defineSymbol("nimnewshared") # deadcode + defineSymbol("nimNewTypedesc") # deadcode + defineSymbol("nimrequiresnimframe") # deadcode + defineSymbol("nimparsebiggestfloatmagic") # deadcode + defineSymbol("nimalias") # deadcode + defineSymbol("nimlocks") # deadcode + defineSymbol("nimnode") # deadcode pending tests/deps/opengl-1.1.0/opengl.nim + defineSymbol("nimvarargstyped") # deadcode + defineSymbol("nimtypedescfixed") # deadcode + defineSymbol("nimKnowsNimvm") # deadcode + defineSymbol("nimArrIdx") # deadcode + defineSymbol("nimHasalignOf") # deadcode + defineSymbol("nimDistros") # deadcode + defineSymbol("nimHasCppDefine") # deadcode + defineSymbol("nimGenericInOutFlags") # deadcode + when false: defineSymbol("nimHasOpt") # deadcode + defineSymbol("nimNoArrayToCstringConversion") # deadcode + defineSymbol("nimHasRunnableExamples") # deadcode + defineSymbol("nimNewDot") # deadcode + defineSymbol("nimHasNilChecks") # deadcode + defineSymbol("nimSymKind") # deadcode + defineSymbol("nimVmEqIdent") # deadcode + defineSymbol("nimNoNil") # deadcode + defineSymbol("nimNoZeroTerminator") # deadcode + defineSymbol("nimNotNil") # deadcode + defineSymbol("nimVmExportFixed") # deadcode + defineSymbol("nimHasSymOwnerInMacro") # deadcode + defineSymbol("nimNewRuntime") # deadcode + defineSymbol("nimIncrSeqV3") # xxx: turn this into deadcode + defineSymbol("nimAshr") # deadcode defineSymbol("nimNoNilSeqs") # deadcode defineSymbol("nimNoNilSeqs2") # deadcode defineSymbol("nimHasUserErrors") # deadcode - defineSymbol("nimUncheckedArrayTyp") - defineSymbol("nimHasTypeof") - defineSymbol("nimErrorProcCanHaveBody") - defineSymbol("nimHasInstantiationOfInMacro") - defineSymbol("nimHasHotCodeReloading") - defineSymbol("nimHasNilSeqs") - defineSymbol("nimHasSignatureHashInMacro") - defineSymbol("nimHasDefault") - defineSymbol("nimMacrosSizealignof") + defineSymbol("nimUncheckedArrayTyp") # deadcode + defineSymbol("nimHasTypeof") # deadcode + defineSymbol("nimErrorProcCanHaveBody") # deadcode + defineSymbol("nimHasInstantiationOfInMacro") # deadcode + defineSymbol("nimHasHotCodeReloading") # deadcode + defineSymbol("nimHasNilSeqs") # deadcode + defineSymbol("nimHasSignatureHashInMacro") # deadcode + defineSymbol("nimHasDefault") # deadcode + defineSymbol("nimMacrosSizealignof") # deadcode + + # > 0.20.0 defineSymbol("nimNoZeroExtendMagic") defineSymbol("nimMacrosGetNodeId") for f in Feature: |