bugfix: pegs.nim compiles again

This commit is contained in:
Araq
2011-06-26 22:43:38 +02:00
parent e25384db89
commit aa14667ca1
4 changed files with 7 additions and 6 deletions

View File

@@ -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)

View File

@@ -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,

View File

@@ -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:

View File

@@ -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
===========================