diff options
author | Araq <rumpf_a@web.de> | 2011-11-07 23:25:34 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2011-11-07 23:25:34 +0100 |
commit | 0b4d5e45b9a6a78f1d661d119cd76f41fecaefea (patch) | |
tree | 5848807ddc889a5eea463108db8d1d7dd15955f5 /tests/dll/server.nim | |
parent | 0ce9d4960144468c12de493487ada62e8eb04f5d (diff) | |
download | Nim-0b4d5e45b9a6a78f1d661d119cd76f41fecaefea.tar.gz |
tester checks exitcode; osproc additions; DLL fixes; taint mode fixes
Diffstat (limited to 'tests/dll/server.nim')
-rw-r--r-- | tests/dll/server.nim | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/dll/server.nim b/tests/dll/server.nim new file mode 100644 index 000000000..a826ee2a7 --- /dev/null +++ b/tests/dll/server.nim @@ -0,0 +1,27 @@ +discard """ + cmd: "nimrod cc --debuginfo --hints:on --define:useNimRtl --app:lib $# $#" +""" + +type + TNodeKind = enum nkLit, nkSub, nkAdd, nkDiv, nkMul + TNode = object + case k: TNodeKind + of nkLit: x: int + else: a, b: ref TNode + + PNode = ref TNode + +proc newLit(x: int): PNode {.exportc: "newLit", dynlib.} = + new(result) + result.x = x + +proc newOp(k: TNodeKind, a, b: PNode): PNode {.exportc: "newOp", dynlib.} = + assert a != nil + assert b != nil + new(result) + result.k = k + result.a = a + result.b = b + +proc buildTree(x: int): PNode {.exportc: "buildTree", dynlib.} = + result = newOp(nkMul, newOp(nkAdd, newLit(x), newLit(x)), newLit(x)) |