diff options
author | Araq <rumpf_a@web.de> | 2014-02-07 17:06:20 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2014-02-07 17:06:20 +0100 |
commit | a087f6057e70e8b7c57ec9a20ac7f7815afe9327 (patch) | |
tree | cb04da2bca11d066af59c012d189aff68e81aa2f /tests/gc | |
parent | 3be07d842a13cde69aeb5e7908ed62907daef4f7 (diff) | |
download | Nim-a087f6057e70e8b7c57ec9a20ac7f7815afe9327.tar.gz |
bugfix: codegen issue that caused getGMTime() to leak memory
Diffstat (limited to 'tests/gc')
-rw-r--r-- | tests/gc/gcleak4.nim | 2 | ||||
-rw-r--r-- | tests/gc/gcleak5.nim | 25 |
2 files changed, 26 insertions, 1 deletions
diff --git a/tests/gc/gcleak4.nim b/tests/gc/gcleak4.nim index bd7bded28..6f2b8a1fe 100644 --- a/tests/gc/gcleak4.nim +++ b/tests/gc/gcleak4.nim @@ -6,7 +6,7 @@ when defined(GC_setMaxPause): GC_setMaxPause 2_000 type - TExpr = object ## abstract base class for an expression + TExpr = object {.inheritable.} ## abstract base class for an expression PLiteral = ref TLiteral TLiteral = object of TExpr x: int diff --git a/tests/gc/gcleak5.nim b/tests/gc/gcleak5.nim new file mode 100644 index 000000000..b9131051b --- /dev/null +++ b/tests/gc/gcleak5.nim @@ -0,0 +1,25 @@ +discard """ + output: "success" +""" + +import os, times + +proc main = + var i = 0 + for ii in 0..50_000: + #while true: + var t = getTime() + var g = t.getGMTime() + #echo isOnStack(addr g) + + if i mod 100 == 0: + let om = getOccupiedMem() + echo "memory: ", om + if om > 100_000: quit "leak" + + inc(i) + sleep(1) + + echo "success" + +main() |