summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rwxr-xr-xcompiler/evals.nim6
-rwxr-xr-xlib/system/sysio.nim2
-rwxr-xr-xtodo.txt1
3 files changed, 6 insertions, 3 deletions
diff --git a/compiler/evals.nim b/compiler/evals.nim
index d9b03137d..3825bbb6c 100755
--- a/compiler/evals.nim
+++ b/compiler/evals.nim
@@ -249,7 +249,7 @@ proc getNullValueAux(obj: PNode, result: PNode) =
   else: InternalError(result.info, "getNullValueAux")
   
 proc getNullValue(typ: PType, info: TLineInfo): PNode = 
-  var t = skipTypes(typ, abstractRange)
+  var t = skipTypes(typ, abstractRange-{tyTypeDesc})
   result = emptyNode
   case t.kind
   of tyBool, tyEnum, tyChar, tyInt..tyInt64: 
@@ -902,13 +902,13 @@ proc evalParseExpr(c: PEvalContext, n: PNode): PNode =
   if sonsLen(ast) != 1:
     GlobalError(code.info, errExprExpected, "multiple statements")
   result = ast.sons[0]
-  result.typ = newType(tyExpr, c.module)
+  #result.typ = newType(tyExpr, c.module)
 
 proc evalParseStmt(c: PEvalContext, n: PNode): PNode =
   var code = evalAux(c, n.sons[1], {})
   result = parseString(code.getStrValue, code.info.toFilename,
                        code.stringStartingLine)
-  result.typ = newType(tyStmt, c.module)
+  #result.typ = newType(tyStmt, c.module)
  
 proc evalTypeTrait*(n: PNode, context: PSym): PNode =
   ## XXX: This should be pretty much guaranteed to be true
diff --git a/lib/system/sysio.nim b/lib/system/sysio.nim
index c7accbac0..3d5a53f03 100755
--- a/lib/system/sysio.nim
+++ b/lib/system/sysio.nim
@@ -36,7 +36,9 @@ proc ftell(f: TFile): int {.importc: "ftell", noDecl, tags: [].}
 proc setvbuf(stream: TFile, buf: pointer, typ, size: cint): cint {.
   importc, nodecl, tags: [].}
 
+{.push stackTrace:off, profiler:off.}
 proc write(f: TFile, c: cstring) = fputs(c, f)
+{.pop.}
 
 var
   IOFBF {.importc: "_IOFBF", nodecl.}: cint
diff --git a/todo.txt b/todo.txt
index 83730bf54..d627626a5 100755
--- a/todo.txt
+++ b/todo.txt
@@ -22,6 +22,7 @@ version 0.9.4
 =============
 
 - provide tool/API to track leaks/object counts
+- hybrid GC
 - use big blocks in the allocator
 - make 'bind' default for templates and introduce 'mixin';
   special rule for ``[]=``