mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-17 16:38:33 +00:00
bugfix: pegs.nim compiles again
This commit is contained in:
@@ -499,7 +499,10 @@ proc unaryArith(p: BProc, e: PNode, d: var TLoc, op: TMagic) =
|
||||
|
||||
proc genDeref(p: BProc, e: PNode, d: var TLoc) =
|
||||
var a: TLoc
|
||||
if mapType(e.sons[0].typ) == ctArray:
|
||||
if mapType(e.sons[0].typ) == ctArray and
|
||||
skipTypes(e.sons[0].typ.sons[0], abstractInst).kind != tySet:
|
||||
# XXX the amount of hacks for C's arrays is incredible, maybe we should
|
||||
# simply wrap them in a struct? --> Losing auto vectorization then?
|
||||
expr(p, e.sons[0], d)
|
||||
else:
|
||||
initLocExpr(p, e.sons[0], a)
|
||||
|
||||
@@ -182,8 +182,7 @@ proc getParamTypeDesc(m: BModule, t: PType, check: var TIntSet): PRope =
|
||||
if t.Kind in {tyRef, tyPtr, tyVar}:
|
||||
var b = skipTypes(t.sons[0], abstractInst)
|
||||
if b.kind == tySet and mapSetType(b) == ctArray:
|
||||
return toRope("NU8*")
|
||||
# getTypeDescAux(m, b, check)
|
||||
return getTypeDescAux(m, b, check)
|
||||
result = getTypeDescAux(m, t, check)
|
||||
|
||||
proc genProcParams(m: BModule, t: PType, rettype, params: var PRope,
|
||||
|
||||
@@ -196,7 +196,6 @@ proc raiseException(e: ref E_Base, ename: CString) {.compilerRtl.} =
|
||||
e.name = ename
|
||||
if raiseHook != nil:
|
||||
if not raiseHook(e): return
|
||||
GC_disable() # a bad thing is an error in the GC while raising an exception
|
||||
if excHandler != nil:
|
||||
pushCurrentException(e)
|
||||
c_longjmp(excHandler.context, 1)
|
||||
@@ -233,7 +232,6 @@ proc raiseException(e: ref E_Base, ename: CString) {.compilerRtl.} =
|
||||
add(buf, "]\n")
|
||||
writeToStdErr(buf)
|
||||
quitOrDebug()
|
||||
GC_enable()
|
||||
|
||||
proc reraiseException() {.compilerRtl.} =
|
||||
if currException == nil:
|
||||
|
||||
@@ -108,7 +108,8 @@ Version 0.8.x
|
||||
Version 0.9.0
|
||||
* closures and anonymous procs
|
||||
* recursive iterators/coroutines
|
||||
|
||||
* 2-phase type system for better interaction between macros, templates
|
||||
and overloading
|
||||
|
||||
Planned features beyond 1.0
|
||||
===========================
|
||||
|
||||
Reference in New Issue
Block a user