diff options
author | Araq <rumpf_a@web.de> | 2014-01-25 14:24:33 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2014-01-25 14:24:33 +0100 |
commit | f16881ad162a12833aba7598d65684d9e63600c2 (patch) | |
tree | ffded6fe903735525a0554d7e00dd5d12ac1628c /compiler | |
parent | 9d4c4592fa49aa1b571a158025ae3a7155b2414b (diff) | |
download | Nim-f16881ad162a12833aba7598d65684d9e63600c2.tar.gz |
disable internalError so that nimbuild compiles again
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/lambdalifting.nim | 2 | ||||
-rw-r--r-- | compiler/semdestruct.nim | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/compiler/lambdalifting.nim b/compiler/lambdalifting.nim index 01eb49463..00fa04556 100644 --- a/compiler/lambdalifting.nim +++ b/compiler/lambdalifting.nim @@ -655,6 +655,8 @@ proc transformOuterProc(o: POuterContext, n: PNode): PNode = # consider: [i1, i2, i1] Since we merged the iterator's closure # with the captured owning variables, we need to generate the # closure generation code again: + #if local == o.fn: message(n.info, errRecursiveDependencyX, local.name.s) + # XXX why doesn't this work? let createdVar = generateIterClosureCreation(o, closure, closure.attachedNode) return makeClosure(local, createdVar, n.info) diff --git a/compiler/semdestruct.nim b/compiler/semdestruct.nim index 9dbbf2940..fb05826cb 100644 --- a/compiler/semdestruct.nim +++ b/compiler/semdestruct.nim @@ -116,7 +116,10 @@ proc generateDestructor(c: PContext, t: PType): PNode = let stmt = destroyField(c, t.n.sons[s].sym, destructedObj) if stmt != nil: addLine(stmt) else: - internalAssert false + # XXX just skip it for now so that the compiler doesn't crash, but + # please zahary fix it! arbitrary nesting of nkRecList/nkRecCase is + # possible. Any thread example seems to trigger this. + discard # base classes' destructors will be automatically called by # semProcAux for both auto-generated and user-defined destructors |