diff options
author | Zahary Karadjov <zahary@gmail.com> | 2014-03-06 23:25:45 +0200 |
---|---|---|
committer | Zahary Karadjov <zahary@gmail.com> | 2014-03-06 23:25:45 +0200 |
commit | 2cbe46daff73987d819ea0ca4bc6ada919d531d4 (patch) | |
tree | 26aac8e46dfb434ba8076e5ad8ebcbdc70c32a9f /tests/system/alloc.nim | |
parent | ee1b0d8c6784c30307bcddc7ab8ace0bba35e853 (diff) | |
parent | 7500a5ea0bc4643c37f3ab8cbee8cb5e01678032 (diff) | |
download | Nim-2cbe46daff73987d819ea0ca4bc6ada919d531d4.tar.gz |
Merge branch 'devel' of github.com:Araq/Nimrod into devel
Diffstat (limited to 'tests/system/alloc.nim')
-rw-r--r-- | tests/system/alloc.nim | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/system/alloc.nim b/tests/system/alloc.nim new file mode 100644 index 000000000..665b448ac --- /dev/null +++ b/tests/system/alloc.nim @@ -0,0 +1,45 @@ +var x: ptr int + +x = cast[ptr int](alloc(7)) +assert x != nil + +x = alloc(int, 3) +assert x != nil +x.dealloc() + +x = alloc0(int, 4) +assert cast[ptr array[4, int]](x)[0] == 0 +assert cast[ptr array[4, int]](x)[1] == 0 +assert cast[ptr array[4, int]](x)[2] == 0 +assert cast[ptr array[4, int]](x)[3] == 0 + +x = cast[ptr int](x.realloc(2)) +assert x != nil + +x = x.reallocType(4) +assert x != nil +x.dealloc() + +x = cast[ptr int](allocShared(100)) +assert x != nil +deallocShared(x) + +x = allocShared(int, 3) +assert x != nil +x.deallocShared() + +x = allocShared0(int, 3) +assert x != nil +assert cast[ptr array[3, int]](x)[0] == 0 +assert cast[ptr array[3, int]](x)[1] == 0 +assert cast[ptr array[3, int]](x)[2] == 0 + +x = cast[ptr int](reallocShared(x, 2)) +assert x != nil + +x = reallocType(x, 12) +assert x != nil + +x = reallocSharedType(x, 1) +assert x != nil +x.deallocShared() |