summary refs log tree commit diff stats
path: root/tests/compile
diff options
context:
space:
mode:
Diffstat (limited to 'tests/compile')
-rwxr-xr-xtests/compile/mrecmod.nim1
-rwxr-xr-xtests/compile/mrecmod2.nim9
-rw-r--r--tests/compile/mtempl5.nim10
-rwxr-xr-xtests/compile/mvarious.nim6
-rwxr-xr-xtests/compile/sunset.tmpl68
-rwxr-xr-xtests/compile/tambsym2.nim8
-rwxr-xr-xtests/compile/tarrindx.nim13
-rwxr-xr-xtests/compile/tassign.nim31
-rwxr-xr-xtests/compile/tcan_alias_generic.nim11
-rwxr-xr-xtests/compile/tcan_alias_specialised_generic.nim15
-rwxr-xr-xtests/compile/tcan_inherit_generic.nim17
-rwxr-xr-xtests/compile/tcan_specialise_generic.nim11
-rwxr-xr-xtests/compile/tccgen1.nim67
-rwxr-xr-xtests/compile/tcmdline.nim14
-rwxr-xr-xtests/compile/tcodegenbug1.nim55
-rwxr-xr-xtests/compile/tcolors.nim39
-rwxr-xr-xtests/compile/tconsteval.nim31
-rwxr-xr-xtests/compile/tconstraints.nim15
-rwxr-xr-xtests/compile/tconvcolors.nim5
-rwxr-xr-xtests/compile/tconvert.nim38
-rwxr-xr-xtests/compile/tcputime.nim13
-rwxr-xr-xtests/compile/tdialogs.nim17
-rwxr-xr-xtests/compile/tdictdestruct.nim20
-rw-r--r--tests/compile/tdiscardable.nim13
-rwxr-xr-xtests/compile/tdllvar.nim16
-rwxr-xr-xtests/compile/tdumpast.nim32
-rw-r--r--tests/compile/tdumpast2.nim35
-rwxr-xr-xtests/compile/techo.nim3
-rwxr-xr-xtests/compile/temptyecho.nim2
-rwxr-xr-xtests/compile/tendian.nim3
-rwxr-xr-xtests/compile/tenum.nim8
-rwxr-xr-xtests/compile/tenum2.nim16
-rwxr-xr-xtests/compile/tenum3.nim16
-rwxr-xr-xtests/compile/teval1.nim19
-rwxr-xr-xtests/compile/tfib.nim11
-rw-r--r--tests/compile/tforwardgeneric.nim11
-rwxr-xr-xtests/compile/tforwty.nim9
-rwxr-xr-xtests/compile/tforwty2.nim22
-rwxr-xr-xtests/compile/tgenericmatcher.nim22
-rwxr-xr-xtests/compile/tgenericmatcher2.nim18
-rwxr-xr-xtests/compile/tgenericprocvar.nim5
-rwxr-xr-xtests/compile/tgenericrefs.nim28
-rwxr-xr-xtests/compile/tgenericvariant.nim23
-rwxr-xr-xtests/compile/tgetstartmilsecs.nim7
-rwxr-xr-xtests/compile/tgtk.nim51
-rwxr-xr-xtests/compile/thallo.nim83
-rwxr-xr-xtests/compile/thexrange.nim8
-rwxr-xr-xtests/compile/tident.nim22
-rwxr-xr-xtests/compile/tindent1.nim24
-rwxr-xr-xtests/compile/tio.nim7
-rwxr-xr-xtests/compile/titer.nim44
-rwxr-xr-xtests/compile/titer2.nim51
-rwxr-xr-xtests/compile/titer_no_tuple_unpack.nim13
-rwxr-xr-xtests/compile/tlastmod.nim18
-rwxr-xr-xtests/compile/tlexer.nim60
-rwxr-xr-xtests/compile/tlibs.nim24
-rwxr-xr-xtests/compile/tlinearscanend.nim24
-rwxr-xr-xtests/compile/tloops.nim64
-rwxr-xr-xtests/compile/tmacro1.nim21
-rwxr-xr-xtests/compile/tmacrostmt.nim17
-rw-r--r--tests/compile/tmandelbrot.nim57
-rwxr-xr-xtests/compile/tmarshal.nim65
-rwxr-xr-xtests/compile/tmath.nim85
-rwxr-xr-xtests/compile/tmodulealias.nim19
-rwxr-xr-xtests/compile/tnamedparams.nim8
-rw-r--r--tests/compile/tnestedproc.nim12
-rwxr-xr-xtests/compile/tnew.nim49
-rwxr-xr-xtests/compile/tnewlibs.nim16
-rwxr-xr-xtests/compile/tnewsets.nim6
-rwxr-xr-xtests/compile/tnewuns.nim12
-rwxr-xr-xtests/compile/tnimrodnode_for_runtime.nim13
-rwxr-xr-xtests/compile/tnoargopenarray.nim7
-rwxr-xr-xtests/compile/tobjcov.nim17
-rwxr-xr-xtests/compile/tobject2.nim21
-rwxr-xr-xtests/compile/tobjects.nim42
-rwxr-xr-xtests/compile/toop.nim21
-rwxr-xr-xtests/compile/toptions.nim22
-rwxr-xr-xtests/compile/tos.nim12
-rwxr-xr-xtests/compile/toverprc.nim27
-rwxr-xr-xtests/compile/tparedef.nim4
-rwxr-xr-xtests/compile/tparscfg.nim25
-rwxr-xr-xtests/compile/tparsefloat.nim3
-rwxr-xr-xtests/compile/tparsopt.nim27
-rwxr-xr-xtests/compile/tposix.nim16
-rwxr-xr-xtests/compile/tprep.nim30
-rwxr-xr-xtests/compile/tpush.nim15
-rwxr-xr-xtests/compile/tquicksort.nim26
-rwxr-xr-xtests/compile/tquit.nim6
-rwxr-xr-xtests/compile/tradix.nim319
-rwxr-xr-xtests/compile/treadln.nim12
-rwxr-xr-xtests/compile/treadx.nim12
-rwxr-xr-xtests/compile/trecmod.nim2
-rwxr-xr-xtests/compile/trecmod2.nim10
-rwxr-xr-xtests/compile/trectuple.nim9
-rw-r--r--tests/compile/trectuples.nim10
-rwxr-xr-xtests/compile/trepr.nim32
-rwxr-xr-xtests/compile/tseq2.nim13
-rwxr-xr-xtests/compile/tseqcon2.nim9
-rwxr-xr-xtests/compile/tshadow_magic_type.nim24
-rwxr-xr-xtests/compile/tsizeof.nim10
-rw-r--r--tests/compile/tslurp.nim6
-rwxr-xr-xtests/compile/tsockets.nim11
-rwxr-xr-xtests/compile/tsortdev.nim72
-rwxr-xr-xtests/compile/tspecialised_is_equivalent.nim15
-rwxr-xr-xtests/compile/tstrace.nim16
-rwxr-xr-xtests/compile/tstrdesc.nim14
-rwxr-xr-xtests/compile/tstrdist.nim26
-rwxr-xr-xtests/compile/tstreams.nim7
-rwxr-xr-xtests/compile/tstrset.nim74
-rwxr-xr-xtests/compile/tstrtabs.nim12
-rwxr-xr-xtests/compile/ttableconstr.nim16
-rwxr-xr-xtests/compile/ttempl.nim27
-rwxr-xr-xtests/compile/ttempl3.nim42
-rwxr-xr-xtests/compile/ttempl4.nim8
-rw-r--r--tests/compile/ttempl5.nim5
-rwxr-xr-xtests/compile/ttemplreturntype.nim4
-rw-r--r--tests/compile/tthread_generic.nim39
-rwxr-xr-xtests/compile/ttime.nim6
-rwxr-xr-xtests/compile/ttuple1.nim16
-rwxr-xr-xtests/compile/ttypeconverter1.nim8
-rw-r--r--tests/compile/ttypeselectors.nim37
-rwxr-xr-xtests/compile/tuserpragma.nim7
-rwxr-xr-xtests/compile/tvarious.nim43
-rw-r--r--tests/compile/tvoid.nim33
-rwxr-xr-xtests/compile/twalker.nim13
-rwxr-xr-xtests/compile/typalias.nim15
126 files changed, 0 insertions, 3061 deletions
diff --git a/tests/compile/mrecmod.nim b/tests/compile/mrecmod.nim
deleted file mode 100755
index fab9654d5..000000000
--- a/tests/compile/mrecmod.nim
+++ /dev/null
@@ -1 +0,0 @@
-import trecmod

diff --git a/tests/compile/mrecmod2.nim b/tests/compile/mrecmod2.nim
deleted file mode 100755
index 9557ce729..000000000
--- a/tests/compile/mrecmod2.nim
+++ /dev/null
@@ -1,9 +0,0 @@
-# Module B
-import trecmod2  
-
-proc p*(x: trecmod2.T1): trecmod2.T1 =
-  # this works because the compiler has already
-  # added T1 to trecmod2's interface symbol table
-  return x + 1
-  
-
diff --git a/tests/compile/mtempl5.nim b/tests/compile/mtempl5.nim
deleted file mode 100644
index 51e8461b8..000000000
--- a/tests/compile/mtempl5.nim
+++ /dev/null
@@ -1,10 +0,0 @@
-
-var 
-  gx = 88
-  gy = 44
-  
-template templ*(): int =
-  bind gx, gy
-  gx + gy
-  
-
diff --git a/tests/compile/mvarious.nim b/tests/compile/mvarious.nim
deleted file mode 100755
index 333b34d33..000000000
--- a/tests/compile/mvarious.nim
+++ /dev/null
@@ -1,6 +0,0 @@
-# Test a submodule

-

-#type

-#  TStringArr = array [0.. *] of string

-

-proc exportme* = nil

diff --git a/tests/compile/sunset.tmpl b/tests/compile/sunset.tmpl
deleted file mode 100755
index 6475bac4e..000000000
--- a/tests/compile/sunset.tmpl
+++ /dev/null
@@ -1,68 +0,0 @@
-#! stdtmpl
-#proc sunsetTemplate*(current, ticker, content: string,
-#                     tabs: openarray[array[0..1, string]]): string = 
-#  result = ""
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-
-<head>
-  <title>Nimrod Programming System</title>
-  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-  <link rel="stylesheet" type="text/css" href="style/style.css" />
-</head>
-
-<body>
-  <div id="main">
-    <div id="links">
-      <!-- **** INSERT LINKS HERE **** -->
-    </div>
-    <div id="logo"><h1>Nimrod Programming System</h1></div>
-    <div id="content">
-      <div id="menu">
-        <ul>
-  #for item in items(tabs):
-    #var name = item[0]
-    #var t = item[1]
-    #if t == current:
-          <li><a id="selected" href="${t}.html" title = "Nimrod - $name">$name</a></li>
-    #else:
-          <li><a               href="${t}.html" title = "Nimrod - $name">$name</a></li>
-    #end if
-  #end for
-        </ul>
-      </div>
-      <div id="column1">
-        <div class="sidebaritem">
-          <div class="sbihead">
-            <h1>latest news</h1>
-          </div>
-          <div class="sbicontent">
-            $ticker
-          </div>
-        </div>
-        <div class="sidebaritem">
-          <div class="sbihead">
-            <h1>additional links</h1>
-          </div>
-          <div class="sbilinks">
-            <!-- **** INSERT ADDITIONAL LINKS HERE **** -->
-            <ul>
-              <li><a class="reference" href="http://llvm.org">LLVM</a></li>
-              <li><a class="reference" href="http://gcc.gnu.org">GCC</a></li>
-            </ul>
-          </div>
-        </div>
-      </div>
-      <div id="column2">
-      $content
-      </div>
-    </div>
-    <div id="footer">
-      copyright &copy; 2008 Andreas Rumpf | Last update: ${getDateStr()}
-      | <a class="reference" href="http://validator.w3.org/check?uri=referer">XHTML 1.1</a>
-      | <a class="reference" href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a>
-      | <a class="reference" href="http://www.dcarter.co.uk">design by dcarter</a>
-    </div>
-  </div>
-</body>
-</html>
diff --git a/tests/compile/tambsym2.nim b/tests/compile/tambsym2.nim
deleted file mode 100755
index ecd9a4784..000000000
--- a/tests/compile/tambsym2.nim
+++ /dev/null
@@ -1,8 +0,0 @@
-
-from sdl import PSurface
-
-discard SDL.CreateRGBSurface(SDL.SWSURFACE, 23, 34, 
-      32, 0x00FF0000, 0x0000FF00, 0x000000FF, 0xff000000'i32)
-
-
-
diff --git a/tests/compile/tarrindx.nim b/tests/compile/tarrindx.nim
deleted file mode 100755
index 13919cc2c..000000000
--- a/tests/compile/tarrindx.nim
+++ /dev/null
@@ -1,13 +0,0 @@
-# test another strange bug ... (I hate this compiler; it is much too buggy!)

-

-proc putEnv(key, val: string) =

-  # XXX: we have to leak memory here, as we cannot

-  # free it before the program ends (says Borland's

-  # documentation)

-  var

-    env: ptr array[0..500000, char]

-  env = cast[ptr array[0..500000, char]](alloc(len(key) + len(val) + 2))

-  for i in 0..len(key)-1: env[i] = key[i]

-  env[len(key)] = '='

-  for i in 0..len(val)-1:

-    env[len(key)+1+i] = val[i]

diff --git a/tests/compile/tassign.nim b/tests/compile/tassign.nim
deleted file mode 100755
index f51c20783..000000000
--- a/tests/compile/tassign.nim
+++ /dev/null
@@ -1,31 +0,0 @@
-# Test the assignment operator for complex types which need RTTI

-

-type

-  TRec = object

-    x, y: int

-    s: string

-    seq: seq[string]

-    arr: seq[seq[array[0..3, string]]]

-  TRecSeq = seq[TRec]

-

-proc test() =

-  var

-    a, b: TRec

-  a.x = 1

-  a.y = 2

-  a.s = "Hallo!"

-  a.seq = @["abc", "def", "ghi", "jkl"]

-  a.arr = @[]

-  setLen(a.arr, 4)

-  a.arr[0] = @[]

-  a.arr[1] = @[]

-

-  b = a # perform a deep copy here!

-  b.seq = @["xyz", "huch", "was", "soll"]

-  writeln(stdout, len(a.seq))

-  writeln(stdout, a.seq[3])

-  writeln(stdout, len(b.seq))

-  writeln(stdout, b.seq[3])

-  writeln(stdout, b.y)

-

-test()

diff --git a/tests/compile/tcan_alias_generic.nim b/tests/compile/tcan_alias_generic.nim
deleted file mode 100755
index e90bdc6d2..000000000
--- a/tests/compile/tcan_alias_generic.nim
+++ /dev/null
@@ -1,11 +0,0 @@
-##
-## can_alias_generic Nimrod Module
-##
-## Created by Eric Doughty-Papassideris on 2011-02-16.
-## Copyright (c) 2011 FWA. All rights reserved.
-
-type
-  TGen[T] = object
-  TGen2[T] = TGen[T]
-  
-
diff --git a/tests/compile/tcan_alias_specialised_generic.nim b/tests/compile/tcan_alias_specialised_generic.nim
deleted file mode 100755
index a8f1972c8..000000000
--- a/tests/compile/tcan_alias_specialised_generic.nim
+++ /dev/null
@@ -1,15 +0,0 @@
-discard """
-  disabled: true
-"""
-
-##
-## can_alias_specialised_generic Nimrod Module
-##
-## Created by Eric Doughty-Papassideris on 2011-02-16.
-## Copyright (c) 2011 FWA. All rights reserved.
-
-type
-  TGen[T] = object
-  TSpef = TGen[string]
-  
-
diff --git a/tests/compile/tcan_inherit_generic.nim b/tests/compile/tcan_inherit_generic.nim
deleted file mode 100755
index 76d9fab1f..000000000
--- a/tests/compile/tcan_inherit_generic.nim
+++ /dev/null
@@ -1,17 +0,0 @@
-##
-## can_inherit_generic Nimrod Module
-##
-## Created by Eric Doughty-Papassideris on 2011-02-16.
-## Copyright (c) 2011 FWA. All rights reserved.
-
-type
-  TGen[T] = object
-    x, y: T
-  
-  TSpef[T] = object of TGen[T]
-
-
-var s: TSpef[float]
-s.x = 0.4
-s.y = 0.6
-
diff --git a/tests/compile/tcan_specialise_generic.nim b/tests/compile/tcan_specialise_generic.nim
deleted file mode 100755
index f98a8bf95..000000000
--- a/tests/compile/tcan_specialise_generic.nim
+++ /dev/null
@@ -1,11 +0,0 @@
-##
-## can_specialise_generic Nimrod Module
-##
-## Created by Eric Doughty-Papassideris on 2011-02-16.
-## Copyright (c) 2011 FWA. All rights reserved.
-
-type
-  TGen[T] = object
-  TSpef = object of TGen[string]
-  
-
diff --git a/tests/compile/tccgen1.nim b/tests/compile/tccgen1.nim
deleted file mode 100755
index b1d8835f2..000000000
--- a/tests/compile/tccgen1.nim
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-type
-  Feature = tuple[name: string, version: string]
-  PDOMImplementation* = ref DOMImplementation
-  DOMImplementation = object
-    Features: seq[Feature] # Read-Only
-
-  PNode* = ref Node
-  Node = object
-    attributes*: seq[PAttr]
-    childNodes*: seq[PNode]
-    FLocalName: string # Read-only
-    FNamespaceURI: string # Read-only
-    FNodeName: string # Read-only
-    nodeValue*: string
-    FNodeType: int # Read-only
-    FOwnerDocument: PDocument # Read-Only
-    FParentNode: PNode # Read-Only
-    prefix*: string # Setting this should change some values... TODO!
-  
-  PElement* = ref Element
-  Element = object of Node
-    FTagName: string # Read-only
-  
-  PCharacterData = ref CharacterData
-  CharacterData = object of Node
-    data*: string
-    
-  PDocument* = ref Document
-  Document = object of Node
-    FImplementation: PDOMImplementation # Read-only
-    FDocumentElement: PElement # Read-only
-    
-  PAttr* = ref Attr  
-  Attr = object of Node
-    FName: string # Read-only
-    FSpecified: bool # Read-only
-    value*: string
-    FOwnerElement: PElement # Read-only
-
-  PDocumentFragment* = ref DocumentFragment
-  DocumentFragment = object of Node
-
-  PText* = ref Text
-  Text = object of CharacterData
-  
-  PComment* = ref comment
-  Comment = object of CharacterData
-  
-  PCDataSection* = ref CDataSection
-  CDataSection = object of Text
-    
-  PProcessingInstruction* = ref ProcessingInstruction
-  ProcessingInstruction = object of Node
-    data*: string
-    FTarget: string # Read-only
-
-proc `namespaceURI=`*(n: var PNode, value: string) = 
-  n.FNamespaceURI = value
-  
-proc main = 
-  var n: PNode
-  new(n)
-  n.namespaceURI = "test"
-
-main()
diff --git a/tests/compile/tcmdline.nim b/tests/compile/tcmdline.nim
deleted file mode 100755
index f4ee20d31..000000000
--- a/tests/compile/tcmdline.nim
+++ /dev/null
@@ -1,14 +0,0 @@
-# Test the command line
-
-import
-  os, strutils
-
-var
-  i: int
-  params = paramCount()
-i = 0
-writeln(stdout, "This exe: " & getAppFilename())
-writeln(stdout, "Number of parameters: " & $params)
-while i <= params:
-  writeln(stdout, paramStr(i))
-  i = i + 1
diff --git a/tests/compile/tcodegenbug1.nim b/tests/compile/tcodegenbug1.nim
deleted file mode 100755
index 909101db1..000000000
--- a/tests/compile/tcodegenbug1.nim
+++ /dev/null
@@ -1,55 +0,0 @@
-import os
-
-type
-  TStatusEnum* = enum
-    sUnknown = -1, sBuildFailure, sBuildInProgress, sBuildSuccess,
-    sTestFailure, sTestInProgress, sTestSuccess, # ORDER MATTERS!
-    sDocGenFailure, sDocGenInProgress, sDocGenSuccess,
-    sCSrcGenFailure, sCSrcGenInProgress, sCSrcGenSuccess
-
-  TStatus* = object
-    status*: TStatusEnum
-    desc*: string
-    hash*: string
-    
-proc initStatus*(): TStatus =
-  result.status = sUnknown
-  result.desc = ""
-  result.hash = ""
-
-proc isInProgress*(status: TStatusEnum): bool =
-  return status in {sBuildInProgress, sTestInProgress, sDocGenInProgress,
-                    sCSrcGenInProgress}
-
-proc `$`*(status: TStatusEnum): string =
-  case status
-  of sBuildFailure:
-    return "build failure"
-  of sBuildInProgress:
-    return "build in progress"
-  of sBuildSuccess:
-    return "build finished"
-  of sTestFailure:
-    return "testing failure"
-  of sTestInProgress:
-    return "testing in progress"
-  of sTestSuccess:
-    return "testing finished"
-  of sDocGenFailure:
-    return "documentation generation failed"
-  of sDocGenInProgress:
-    return "generating documentation"
-  of sDocGenSuccess:
-    return "documentation generation succeeded"
-  of sCSrcGenFailure:
-    return "csource generation failed"
-  of sCSrcGenInProgress:
-    return "csource generation in progress"
-  of sCSrcGenSuccess:
-    return "csource generation succeeded"
-  of sUnknown:
-    return "unknown"
-    
-proc makeCommitPath*(platform, hash: string): string =
-  return platform / "nimrod_" & hash.substr(0, 11) # 11 Chars.
-
diff --git a/tests/compile/tcolors.nim b/tests/compile/tcolors.nim
deleted file mode 100755
index 9d1034405..000000000
--- a/tests/compile/tcolors.nim
+++ /dev/null
@@ -1,39 +0,0 @@
-import strutils
-
-type
-  TColor = distinct int32
-
-proc rgb(r, g, b: range[0..255]): TColor = 
-  result = TColor(r or g shl 8 or b shl 16)
-
-proc `$`(c: TColor): string =
-  result = "#" & toHex(int32(c), 6)
-
-echo rgb(34, 55, 255)
-
-when false:
-  type
-    TColor = distinct int32
-    TColorComponent = distinct int8
-  
-  proc red(a: TColor): TColorComponent = 
-    result = TColorComponent(int32(a) and 0xff'i32)
-  
-  proc green(a: TColor): TColorComponent = 
-    result = TColorComponent(int32(a) shr 8'i32 and 0xff'i32)
-  
-  proc blue(a: TColor): TColorComponent = 
-    result = TColorComponent(int32(a) shr 16'i32 and 0xff'i32)
-  
-  proc rgb(r, g, b: range[0..255]): TColor = 
-    result = TColor(r or g shl 8 or b shl 8)
-  
-  proc `+!` (a, b: TColorComponent): TColorComponent =  
-    ## saturated arithmetic:
-    result = TColorComponent(min(ze(int8(a)) + ze(int8(b)), 255))
-  
-  proc `+` (a, b: TColor): TColor = 
-    ## saturated arithmetic for colors makes sense, I think:
-    return rgb(red(a) +! red(b), green(a) +! green(b), blue(a) +! blue(b))
-  
-  rgb(34, 55, 255)
diff --git a/tests/compile/tconsteval.nim b/tests/compile/tconsteval.nim
deleted file mode 100755
index dcc7080ea..000000000
--- a/tests/compile/tconsteval.nim
+++ /dev/null
@@ -1,31 +0,0 @@
-discard """
-"""
-
-import strutils
-
-const
-  HelpText = """
-+-----------------------------------------------------------------+
-|         Maintenance program for Nimrod                          |
-|             Version $1|
-|             (c) 2009 Andreas Rumpf                              |
-+-----------------------------------------------------------------+
-Compiled at: $2, $3
-
-Usage:
-  koch [options] command [options for command]
-Options:
-  --force, -f, -B, -b      forces rebuild
-  --help, -h               shows this help and quits
-Possible Commands:
-  boot [options]           bootstraps with given command line options
-  clean                    cleans Nimrod project; removes generated files
-  web                      generates the website
-  csource [options]        builds the C sources for installation
-  zip                      builds the installation ZIP package
-  inno                     builds the Inno Setup installer
-""" % [NimrodVersion & repeatChar(44-len(NimrodVersion)), 
-       CompileDate, CompileTime]
-
-echo helpText
-
diff --git a/tests/compile/tconstraints.nim b/tests/compile/tconstraints.nim
deleted file mode 100755
index 7aef0d645..000000000
--- a/tests/compile/tconstraints.nim
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-proc myGenericProc[T: object|tuple|int|ptr|ref|distinct](x: T): string = 
-  result = $x
-
-type
-  TMyObj = tuple[x, y: int]
-
-var
-  x: TMyObj
-
-assert myGenericProc(232) == "232"
-assert myGenericProc(x) == "(x: 0, y: 0)"
-
-
diff --git a/tests/compile/tconvcolors.nim b/tests/compile/tconvcolors.nim
deleted file mode 100755
index 07e829550..000000000
--- a/tests/compile/tconvcolors.nim
+++ /dev/null
@@ -1,5 +0,0 @@
-
-import colors
-
-echo int32(colWhite), 'A'
-
diff --git a/tests/compile/tconvert.nim b/tests/compile/tconvert.nim
deleted file mode 100755
index f96cf2688..000000000
--- a/tests/compile/tconvert.nim
+++ /dev/null
@@ -1,38 +0,0 @@
-import
-  Cairo
-
-converter FloatConversion64(x: int): float64 = return toFloat(x)
-converter FloatConversion32(x: int): float32 = return toFloat(x)
-converter FloatConversionPlain(x: int): float = return toFloat(x)
-
-const width = 500
-const height = 500
-const outFile = "CairoTest.png"
-
-var surface = Cairo.ImageSurfaceCreate(CAIRO.FORMAT_RGB24, width, height)
-var ç = Cairo.Create(surface)
-
-ç.SetSourceRGB(1, 1, 1)
-ç.Paint()
-
-ç.SetLineWidth(10)
-ç.SetLineCap(CAIRO.LINE_CAP_ROUND)
-
-const count = 12
-var winc = width / count
-var hinc = width / count
-for i in 1 .. count-1:
-  var amount = i / count
-  ç.SetSourceRGB(0, 1 - amount, amount)
-  ç.MoveTo(i * winc, hinc)
-  ç.LineTo(width - i * winc, height - hinc)
-  ç.Stroke()
-
-  ç.SetSourceRGB(1 - amount, 0, amount)
-  ç.MoveTo(winc, i * hinc)
-  ç.LineTo(width - winc, height - i * hinc)
-  ç.Stroke()
-
-echo(surface.WriteToPNG(outFile))
-surface.Destroy()
-
diff --git a/tests/compile/tcputime.nim b/tests/compile/tcputime.nim
deleted file mode 100755
index 2fc46ee64..000000000
--- a/tests/compile/tcputime.nim
+++ /dev/null
@@ -1,13 +0,0 @@
-
-import times, os
-
-var e = epochTime()
-var c = cpuTime()
-
-os.sleep(1500)
-
-e = epochTime() - e
-c = cpuTime() - c
-
-echo "epochTime: ", e, " cpuTime: ", c
-
diff --git a/tests/compile/tdialogs.nim b/tests/compile/tdialogs.nim
deleted file mode 100755
index d161a976d..000000000
--- a/tests/compile/tdialogs.nim
+++ /dev/null
@@ -1,17 +0,0 @@
-# Test the dialogs module
-
-import dialogs, gtk2
-
-gtk2.nimrod_init()
-
-var x = ChooseFilesToOpen(nil)
-for a in items(x):
-  writeln(stdout, a)
-
-info(nil, "start with an info box")
-warning(nil, "now a warning ...")
-error(nil, "... and an error!")
-
-writeln(stdout, ChooseFileToOpen(nil))
-writeln(stdout, ChooseFileToSave(nil))
-writeln(stdout, ChooseDir(nil))
diff --git a/tests/compile/tdictdestruct.nim b/tests/compile/tdictdestruct.nim
deleted file mode 100755
index 09e173b7c..000000000
--- a/tests/compile/tdictdestruct.nim
+++ /dev/null
@@ -1,20 +0,0 @@
-
-type
-  TDict[TK, TV] = object
-    k: TK
-    v: TV
-  PDict[TK, TV] = ref TDict[TK, TV]
-
-proc fakeNew[T](x: var ref T, destroy: proc (a: ref T)) =
-  nil
-
-proc destroyDict[TK, TV](a: PDict[TK, TV]) =
-    return
-proc newDict[TK, TV](a: TK, b: TV): PDict[TK, TV] =
-    Fakenew(result, destroyDict[TK, TV])
-
-# Problem: destroyDict is not instantiated when newDict is instantiated!    
-
-discard newDict("a", "b")    
-
-
diff --git a/tests/compile/tdiscardable.nim b/tests/compile/tdiscardable.nim
deleted file mode 100644
index c0551ba2f..000000000
--- a/tests/compile/tdiscardable.nim
+++ /dev/null
@@ -1,13 +0,0 @@
-# Test the discardable pragma
-
-proc p(x, y: int): int {.discardable.} = 
-  return x + y
-
-# test that it is inherited from generic procs too:
-proc q[T](x, y: T): T {.discardable.} = 
-  return x + y
-
-
-p(8, 2)
-q[float](0.8, 0.2)
-
diff --git a/tests/compile/tdllvar.nim b/tests/compile/tdllvar.nim
deleted file mode 100755
index ab767770c..000000000
--- a/tests/compile/tdllvar.nim
+++ /dev/null
@@ -1,16 +0,0 @@
-import os
-
-proc getDllName: string = 
-  result = "mylib.dll"
-  if ExistsFile(result): return
-  result = "mylib2.dll"
-  if ExistsFile(result): return
-  quit("could not load dynamic library")
-
-proc myImport(s: cstring) {.cdecl, importc, dynlib: getDllName().}
-proc myImport2(s: int) {.cdecl, importc, dynlib: getDllName().}
-
-myImport("test2")
-myImport2(12)
-
-
diff --git a/tests/compile/tdumpast.nim b/tests/compile/tdumpast.nim
deleted file mode 100755
index d044e1da1..000000000
--- a/tests/compile/tdumpast.nim
+++ /dev/null
@@ -1,32 +0,0 @@
-# Dump the contents of a PNimrodNode
-
-import macros
-
-template plus(a, b: expr): expr =
-  a + b
-
-macro call(e: expr): expr =
-  return newCall("foo", newStrLitNode("bar"))
-  
-macro dumpAST(n: stmt): stmt =
-  # dump AST as a side-effect and return the inner node
-  echo n.lispRepr
-  echo n.treeRepr
-
-  var plusAst = getAst(plus(1, 2))
-  echo plusAst.lispRepr
-
-  var callAst = getAst(call())
-  echo callAst.lispRepr
-
-  var e = parseExpr("foo(bar + baz)")
-  echo e.lispRepr
-
-  result = n[1]
-  
-dumpAST:
-  proc add(x, y: int): int =
-    return x + y
-  
-  proc sub(x, y: int): int = return x - y
-
diff --git a/tests/compile/tdumpast2.nim b/tests/compile/tdumpast2.nim
deleted file mode 100644
index fb31af0ec..000000000
--- a/tests/compile/tdumpast2.nim
+++ /dev/null
@@ -1,35 +0,0 @@
-# Dump the contents of a PNimrodNode
-
-import macros
-
-proc dumpit(n: PNimrodNode): string {.compileTime.} = 
-  if n == nil: return "nil"
-  result = $n.kind
-  add(result, "(")
-  case n.kind
-  of nnkEmpty: nil # same as nil node in this representation 
-  of nnkNilLit:                  add(result, "nil")
-  of nnkCharLit..nnkInt64Lit:    add(result, $n.intVal)
-  of nnkFloatLit..nnkFloat64Lit: add(result, $n.floatVal)
-  of nnkStrLit..nnkTripleStrLit: add(result, $n.strVal)
-  of nnkIdent:                   add(result, $n.ident)
-  of nnkSym, nnkNone:            assert false
-  else:
-    add(result, dumpit(n[0]))
-    for j in 1..n.len-1:
-      add(result, ", ")
-      add(result, dumpit(n[j]))
-  add(result, ")")
-  
-macro dumpAST(n: stmt): stmt = 
-  # dump AST as a side-effect and return the inner node
-  echo dumpit(n)
-  result = n[1]
-  
-dumpAST:
-  proc add(x, y: int): int =
-    return x + y
-  
-  proc sub(x, y: int): int = return x - y
-
-
diff --git a/tests/compile/techo.nim b/tests/compile/techo.nim
deleted file mode 100755
index 0fa4b5fe0..000000000
--- a/tests/compile/techo.nim
+++ /dev/null
@@ -1,3 +0,0 @@
-# Simplest Nimrod program
-
-echo "Hello, World!"
diff --git a/tests/compile/temptyecho.nim b/tests/compile/temptyecho.nim
deleted file mode 100755
index 5f1aa6515..000000000
--- a/tests/compile/temptyecho.nim
+++ /dev/null
@@ -1,2 +0,0 @@
-echo()
-
diff --git a/tests/compile/tendian.nim b/tests/compile/tendian.nim
deleted file mode 100755
index 256e2653c..000000000
--- a/tests/compile/tendian.nim
+++ /dev/null
@@ -1,3 +0,0 @@
-# test the new endian magic
-
-writeln(stdout, repr(system.cpuEndian))
diff --git a/tests/compile/tenum.nim b/tests/compile/tenum.nim
deleted file mode 100755
index 6e53b9c08..000000000
--- a/tests/compile/tenum.nim
+++ /dev/null
@@ -1,8 +0,0 @@
-# Test enums

-

-type

-  E = enum a, b, c, x, y, z

-

-var

-  en: E

-en = a

diff --git a/tests/compile/tenum2.nim b/tests/compile/tenum2.nim
deleted file mode 100755
index feba36dd6..000000000
--- a/tests/compile/tenum2.nim
+++ /dev/null
@@ -1,16 +0,0 @@
-# Test that enum with holes is handled correctly by case statement
-
-type
-  TEnumHole = enum 
-    eA = 0,
-    eB = 4,
-    eC = 5
-    
-var
-  e: TEnumHole = eB
-  
-case e
-of eA: echo "A"
-of eB: echo "B"
-of eC: echo "C"
-
diff --git a/tests/compile/tenum3.nim b/tests/compile/tenum3.nim
deleted file mode 100755
index 09a516932..000000000
--- a/tests/compile/tenum3.nim
+++ /dev/null
@@ -1,16 +0,0 @@
-# Test enum with explicit size
-
-type
-  TEnumHole {.size: sizeof(int).} = enum 
-    eA = 0,
-    eB = 4,
-    eC = 5
-    
-var
-  e: TEnumHole = eB
-  
-case e
-of eA: echo "A"
-of eB: echo "B"
-of eC: echo "C"
-
diff --git a/tests/compile/teval1.nim b/tests/compile/teval1.nim
deleted file mode 100755
index 8172ebe28..000000000
--- a/tests/compile/teval1.nim
+++ /dev/null
@@ -1,19 +0,0 @@
-import macros
-
-proc testProc: string {.compileTime.} =
-  result = ""
-  result = result & ""
-
-when true:
-  macro test(n: stmt): stmt =
-    result = newNimNode(nnkStmtList)
-    echo "#", testProc(), "#"
-  test:
-    "hi"
-
-const
-  x = testProc()
-  
-echo "##", x, "##"
-
-
diff --git a/tests/compile/tfib.nim b/tests/compile/tfib.nim
deleted file mode 100755
index 09a4d5038..000000000
--- a/tests/compile/tfib.nim
+++ /dev/null
@@ -1,11 +0,0 @@
-
-iterator fibonacci(): int = 
-  var a = 0
-  var b = 1
-  while true: 
-    yield a
-    var c = b
-    b = a
-    a = a + c
-
-
diff --git a/tests/compile/tforwardgeneric.nim b/tests/compile/tforwardgeneric.nim
deleted file mode 100644
index 84bef15cc..000000000
--- a/tests/compile/tforwardgeneric.nim
+++ /dev/null
@@ -1,11 +0,0 @@
-discard """
-  output: "1.0000000000000000e+00 10"
-"""
-
-proc p[T](a, b: T): T
-
-echo p(0.9, 0.1), " ", p(9, 1)
-
-proc p[T](a, b: T): T =
-  result  = a + b
-
diff --git a/tests/compile/tforwty.nim b/tests/compile/tforwty.nim
deleted file mode 100755
index 0f1d3697f..000000000
--- a/tests/compile/tforwty.nim
+++ /dev/null
@@ -1,9 +0,0 @@
-# Test 13: forward types

-

-type

-  PSym = ref TSym

-

-  TSym = object

-    next: PSym

-

-var s: PSym

diff --git a/tests/compile/tforwty2.nim b/tests/compile/tforwty2.nim
deleted file mode 100755
index 5d15e112a..000000000
--- a/tests/compile/tforwty2.nim
+++ /dev/null
@@ -1,22 +0,0 @@
-# Test for a hard to fix internal error

-# occured in the SDL library

-

-{.push dynlib: "SDL.dll", callconv: cdecl.}

-

-type

-  PSDL_semaphore = ptr TSDL_semaphore

-  TSDL_semaphore {.final.} = object

-    sem: Pointer             #PSem_t;

-    when not defined(USE_NAMED_SEMAPHORES):

-      sem_data: int

-    when defined(BROKEN_SEMGETVALUE):

-      # This is a little hack for MacOS X -

-      # It's not thread-safe, but it's better than nothing

-      sem_value: cint

-

-type

-  PSDL_Sem = ptr TSDL_Sem

-  TSDL_Sem = TSDL_Semaphore

-

-proc SDL_CreateSemaphore(initial_value: Int32): PSDL_Sem {.

-  importc: "SDL_CreateSemaphore".}

diff --git a/tests/compile/tgenericmatcher.nim b/tests/compile/tgenericmatcher.nim
deleted file mode 100755
index 6ff0dd505..000000000
--- a/tests/compile/tgenericmatcher.nim
+++ /dev/null
@@ -1,22 +0,0 @@
-discard """
-  disabled: true
-"""
-
-type
-  TMatcherKind = enum
-    mkTerminal, mkSequence, mkAlternation, mkRepeat
-  TMatcher[T] = object
-    case kind: TMatcherKind
-    of mkTerminal:
-      value: T
-    of mkSequence, mkAlternation:
-      matchers: seq[TMatcher[T]]
-    of mkRepeat:
-      matcher: PMatcher[T]
-      min, max: int
-  PMatcher[T] = ref TMatcher[T]
-
-var 
-  m: PMatcher[int]
-
-
diff --git a/tests/compile/tgenericmatcher2.nim b/tests/compile/tgenericmatcher2.nim
deleted file mode 100755
index aa2f9dbb3..000000000
--- a/tests/compile/tgenericmatcher2.nim
+++ /dev/null
@@ -1,18 +0,0 @@
-
-type
-  TMatcherKind = enum
-    mkTerminal, mkSequence, mkAlternation, mkRepeat
-  TMatcher[T] = object
-    case kind: TMatcherKind
-    of mkTerminal:
-      value: T
-    of mkSequence, mkAlternation:
-      matchers: seq[TMatcher[T]]
-    of mkRepeat:
-      matcher: ref TMatcher[T]
-      min, max: int
-
-var 
-  m: ref TMatcher[int]
-
-
diff --git a/tests/compile/tgenericprocvar.nim b/tests/compile/tgenericprocvar.nim
deleted file mode 100755
index 7825db4c3..000000000
--- a/tests/compile/tgenericprocvar.nim
+++ /dev/null
@@ -1,5 +0,0 @@
-proc foo[T](thing: T) =
-    discard thing
-
-var a: proc (thing: int) = foo[int]
-
diff --git a/tests/compile/tgenericrefs.nim b/tests/compile/tgenericrefs.nim
deleted file mode 100755
index 3b7940098..000000000
--- a/tests/compile/tgenericrefs.nim
+++ /dev/null
@@ -1,28 +0,0 @@
-discard """
-  disabled: true
-"""
-
-# Compiles:
-
-type 
-  TA[T] = object
-  PA[T] = ref TA[T]
-var a: PA[string]
-
-# Compiles unless you use var a: PA[string]
-type 
-  PA = ref TA
-  TA[T] = object
-
-
-# Cannot instantiate:
-type 
-  TA[T] = object
-    a: PA[T]
-  PA[T] = ref TA[T]
-
-type 
-  PA[T] = ref TA[T]
-  TA[T] = object
-
-
diff --git a/tests/compile/tgenericvariant.nim b/tests/compile/tgenericvariant.nim
deleted file mode 100755
index 51d01355a..000000000
--- a/tests/compile/tgenericvariant.nim
+++ /dev/null
@@ -1,23 +0,0 @@
-type  
-  TMaybe[T] = object
-    case empty: Bool
-    of False: value: T
-    else: nil
-
-proc Just*[T](val: T): TMaybe[T] =
-  result.empty = False
-  result.value = val
-
-proc Nothing[T](): TMaybe[T] =
-  result.empty = True
-
-proc safeReadLine(): TMaybe[string] =
-  var r = stdin.readLine()
-  if r == "": return Nothing[string]()
-  else: return Just(r)
-
-when isMainModule:
-  var Test = Just("Test")
-  echo(Test.value)
-  var mSomething = safeReadLine()
-  echo(mSomething.value)
diff --git a/tests/compile/tgetstartmilsecs.nim b/tests/compile/tgetstartmilsecs.nim
deleted file mode 100755
index 5a3368e0f..000000000
--- a/tests/compile/tgetstartmilsecs.nim
+++ /dev/null
@@ -1,7 +0,0 @@
-# 
-import times, os
-
-var start = epochTime()
-os.sleep(1000)
-
-echo epochTime() - start #OUT 1000
diff --git a/tests/compile/tgtk.nim b/tests/compile/tgtk.nim
deleted file mode 100755
index 7febb0ab8..000000000
--- a/tests/compile/tgtk.nim
+++ /dev/null
@@ -1,51 +0,0 @@
-

-import

-  gtk2, glib2, atk, gdk2, gdk2pixbuf, libglade2, pango,

-  pangoutils

-

-proc hello(widget: PWidget, data: pointer) {.cdecl.} =

-  write(stdout, "Hello World\n")

-

-proc delete_event(widget: PWidget, event: PEvent,

-                  data: pointer): bool {.cdecl.} =

-  # If you return FALSE in the "delete_event" signal handler,

-  # GTK will emit the "destroy" signal. Returning TRUE means

-  # you don't want the window to be destroyed.

-  # This is useful for popping up 'are you sure you want to quit?'

-  # type dialogs.

-  write(stdout, "delete event occurred\n")

-  # Change TRUE to FALSE and the main window will be destroyed with

-  # a "delete_event".

-  return false

-

-# Another callback

-proc mydestroy(widget: PWidget, data: pointer) {.cdecl.} =

-  gtk2.main_quit()

-

-proc mymain() =

-  # GtkWidget is the storage type for widgets

-  gtk2.nimrod_init()

-  var window = window_new(gtk2.WINDOW_TOPLEVEL)

-  discard g_signal_connect(window, "delete_event", 

-                           Gcallback(delete_event), nil)

-  discard g_signal_connect(window, "destroy", Gcallback(mydestroy), nil)

-  # Sets the border width of the window.

-  set_border_width(window, 10)

-

-  # Creates a new button with the label "Hello World".

-  var button = button_new("Hello World")

-

-  discard g_signal_connect(button, "clicked", Gcallback(hello), nil)

-

-  # This packs the button into the window (a gtk container).

-  add(window, button)

-

-  # The final step is to display this newly created widget.

-  show(button)

-

-  # and the window

-  show(window)

-

-  gtk2.main()

-

-mymain()

diff --git a/tests/compile/thallo.nim b/tests/compile/thallo.nim
deleted file mode 100755
index ff90c5c0a..000000000
--- a/tests/compile/thallo.nim
+++ /dev/null
@@ -1,83 +0,0 @@
-# Hallo
-
-import
-  os, strutils, macros
-
-type
-  TMyEnum = enum
-    meA, meB, meC, meD
-
-when isMainModule:
-  {.hint: "this is the main file".}
-
-proc fac[T](x: T): T =
-  # test recursive generic procs
-  if x <= 1: return 1
-  else: return x.`*`(fac(x-1))
-
-macro macrotest(n: expr): stmt =
-  expectKind(n, nnkCall)
-  expectMinLen(n, 2)
-  result = newNimNode(nnkStmtList, n)
-  for i in 2..n.len-1:
-    result.add(newCall("write", n[1], n[i]))
-  result.add(newCall("writeln", n[1], newStrLitNode("")))
-
-macro debug(n: expr): stmt =
-  result = newNimNode(nnkStmtList, n)
-  for i in 1..n.len-1:
-    result.add(newCall("write", newIdentNode("stdout"), toStrLit(n[i])))
-    result.add(newCall("write", newIdentNode("stdout"), newStrLitNode(": ")))
-    result.add(newCall("writeln", newIdentNode("stdout"), n[i]))
-
-macrotest(stdout, "finally", 4, 5, "variable", "argument lists")
-macrotest(stdout)
-
-#GC_disable()
-
-echo("This was compiled by Nimrod version " & system.nimrodVersion)
-writeln(stdout, "Hello", " World", "!")
-
-echo(["a", "b", "c", "d"].len)
-for x in items(["What's", "your", "name", "?", ]):
-  echo(x)
-var `name` = readLine(stdin)
-{.breakpoint.}
-echo("Hi " & thallo.name & "!\n")
-debug(name)
-
-var testseq: seq[string] = @[
-  "a", "b", "c", "d", "e"
-]
-echo(repr(testseq))
-
-var dummy = "hello"
-echo(substr(dummy, 2, 3))
-
-echo($meC)
-
-# test tuples:
-for x, y in items([(1, 2), (3, 4), (6, 1), (5, 2)]):
-  echo x
-  echo y
-
-proc simpleConst(): int = return 34
-
-# test constant evaluation:
-const
-  constEval3 = simpleConst()
-  constEval = "abc".contains('b')
-  constEval2 = fac(7)
-
-echo(constEval3)
-echo(constEval)
-echo(constEval2)
-echo(1.`+`(2))
-
-for i in 2..6:
-  for j in countdown(i+4, 2):
-    echo(fac(i * j))
-
-when isMainModule:
-  {.hint: "this is the main file".}
-
diff --git a/tests/compile/thexrange.nim b/tests/compile/thexrange.nim
deleted file mode 100755
index 875a5bab3..000000000
--- a/tests/compile/thexrange.nim
+++ /dev/null
@@ -1,8 +0,0 @@
-
-type
-  TArray = array[0x0012..0x0013, int]
-  
-var a: TArray
-
-echo a[0] #OUT 0
-
diff --git a/tests/compile/tident.nim b/tests/compile/tident.nim
deleted file mode 100755
index 1ed9894c6..000000000
--- a/tests/compile/tident.nim
+++ /dev/null
@@ -1,22 +0,0 @@
-
-type
-  TIdObj* = object of TObject

-    id*: int                  # unique id; use this for comparisons and not the pointers

-  

-  PIdObj* = ref TIdObj

-  PIdent* = ref TIdent

-  TIdent*{.acyclic.} = object

-    s*: string

-
-proc myNewString(L: int): string {.inline.} =
-  result = newString(L)
-  if result.len == L: echo("Length correct")
-  else: echo("bug")
-  for i in 0..L-1:
-    if result[i] == '\0':
-      echo("Correct")
-    else: 
-      echo("Wrong")
-  
-var s = myNewString(8)
-
diff --git a/tests/compile/tindent1.nim b/tests/compile/tindent1.nim
deleted file mode 100755
index 0527b6e57..000000000
--- a/tests/compile/tindent1.nim
+++ /dev/null
@@ -1,24 +0,0 @@
-
-const romanNumbers1 =
-    [
-    ("M", 1000), ("D", 500), ("C", 100),
-    ("L", 50), ("X", 10), ("V", 5), ("I", 1) ]
-
-const romanNumbers2 =
-    [
-    ("M", 1000), ("D", 500), ("C", 100),
-    ("L", 50), ("X", 10), ("V", 5), ("I", 1)
-    ]
-
-const romanNumbers3 =
-  [
-    ("M", 1000), ("D", 500), ("C", 100),
-    ("L", 50), ("X", 10), ("V", 5), ("I", 1)
-  ]
-
-const romanNumbers4 = [
-    ("M", 1000), ("D", 500), ("C", 100),
-    ("L", 50), ("X", 10), ("V", 5), ("I", 1)
-    ]
-
-
diff --git a/tests/compile/tio.nim b/tests/compile/tio.nim
deleted file mode 100755
index 5ae119f77..000000000
--- a/tests/compile/tio.nim
+++ /dev/null
@@ -1,7 +0,0 @@
-# test the file-IO

-

-proc main() =

-  for line in lines("thello.nim"):

-    writeln(stdout, line)

-

-main()

diff --git a/tests/compile/titer.nim b/tests/compile/titer.nim
deleted file mode 100755
index 19a11dc4e..000000000
--- a/tests/compile/titer.nim
+++ /dev/null
@@ -1,44 +0,0 @@
-# Test the new iterators

-

-iterator xrange(fromm, to: int, step = 1): int =

-  var a = fromm

-  while a <= to:

-    yield a

-    inc(a, step)

-

-iterator interval[T](a, b: T): T =

-  var x = a

-  while x <= b:

-    yield x

-    inc(x)

-

-#

-#iterator lines(filename: string): (line: string) =

-#  var

-#    f: tTextfile

-#    shouldClose = open(f, filename)

-#  if shouldClose:

-#    setSpace(line, 256)

-#    while readTextLine(f, line):

-#      yield line

-#  finally:

-#    if shouldClose: close(f)

-#

-

-for i in xrange(0, 5):

-  for k in xrange(1, 7):

-    write(stdout, "test")

-

-for j in interval(45, 45):

-  write(stdout, "test2!")

-  write(stdout, "test3?")

-

-for x in items(["hi", "what's", "your", "name"]):

-  echo(x)

-  

-const

-  stringArray = ["hi", "what's", "your", "name"]

-

-for i in 0..len(stringArray)-1:

-  echo(stringArray[i])

-

diff --git a/tests/compile/titer2.nim b/tests/compile/titer2.nim
deleted file mode 100755
index dab2713e8..000000000
--- a/tests/compile/titer2.nim
+++ /dev/null
@@ -1,51 +0,0 @@
-discard """
-  output: '''true'''
-  cmd: "nimrod cc --gc:none --hints:on $# $#"
-"""
-
-import hashes
-
-type
-  TSlotEnum = enum seEmpty, seFilled, seDeleted
-  TKeyValuePair[A, B] = tuple[slot: TSlotEnum, key: A, val: B]
-  TKeyValuePairSeq[A, B] = seq[TKeyValuePair[A, B]]
-  TTable* {.final.}[A, B] = object
-    data: TKeyValuePairSeq[A, B]
-    counter: int
-
-iterator mycountup(a, b: int): int =
-  var res = a
-  while res <= b:
-    yield res
-    inc(res)
-
-when true:
-  iterator pairs*[A, B](t: TTable[A, B]): tuple[key: A, val: B] =
-    ## iterates over any (key, value) pair in the table `t`.
-    for h in mycountup(0, high(t.data)):
-      var k = t.data[h].key
-      if t.data[h].slot == seFilled: yield (k, t.data[h].val)
-else:
-  iterator pairs*(t: TTable[int, string]): tuple[key: int, val: string] =
-    ## iterates over any (key, value) pair in the table `t`.
-    for h in mycountup(0, high(t.data)):
-      var k = t.data[h].key
-      if t.data[h].slot == seFilled: yield (k, t.data[h].val)
-
-proc initTable*[A, B](initialSize=64): TTable[A, B] =
-  ## creates a new hash table that is empty. `initialSize` needs to be
-  ## a power of two.
-  result.counter = 0
-  newSeq(result.data, initialSize)
-
-block Test1:
-  # generic cache does not instantiate the same iterator[types] twice. This
-  # means we have only one instantiation of 'h'. However, this is the same for
-  # a non-generic iterator!
-
-  var t = initTable[int, string]()
-  for k, v in t.pairs: nil
-  for k, v in t.pairs: nil
-
-echo "true"
-
diff --git a/tests/compile/titer_no_tuple_unpack.nim b/tests/compile/titer_no_tuple_unpack.nim
deleted file mode 100755
index da5e1bc46..000000000
--- a/tests/compile/titer_no_tuple_unpack.nim
+++ /dev/null
@@ -1,13 +0,0 @@
-

-iterator xrange(fromm, to: int, step = 1): tuple[x, y: int] =

-  var a = fromm

-  while a <= to:

-    yield (a, a+1)

-    inc(a, step)

-
-for a, b in xrange(3, 7):
-  echo a, " ", b
-  
-for tup in xrange(3, 7):
-  echo tup
-
diff --git a/tests/compile/tlastmod.nim b/tests/compile/tlastmod.nim
deleted file mode 100755
index 75b047fc8..000000000
--- a/tests/compile/tlastmod.nim
+++ /dev/null
@@ -1,18 +0,0 @@
-# test the new LastModificationTime() proc

-

-import

-  os, times, strutils

-

-proc main() =

-  var

-    a, b: TTime

-  a = getLastModificationTime(ParamStr(1))

-  b = getLastModificationTime(ParamStr(2))

-  writeln(stdout, $a)

-  writeln(stdout, $b)

-  if a < b:

-    Write(stdout, "$2 is newer than $1\n" % [ParamStr(1), ParamStr(2)])

-  else:

-    Write(stdout, "$1 is newer than $2\n" % [ParamStr(1), ParamStr(2)])

-

-main()

diff --git a/tests/compile/tlexer.nim b/tests/compile/tlexer.nim
deleted file mode 100755
index 10a8ab51d..000000000
--- a/tests/compile/tlexer.nim
+++ /dev/null
@@ -1,60 +0,0 @@
-discard """

-  disabled: true

-"""

-

-# We start with a comment

-# This is the same comment

-

-# This is a new one!

-

-import

-  lexbase, os, strutils

-

-type

-  TMyRec {.final.} = object

-    x, y: int     # coordinates

-    c: char       # a character

-    a: int32      # an integer

-

-  PMyRec = ref TMyRec # a reference to `TMyRec`

-

-proc splitText(txt: string): seq[string] # splits a text into several lines

-                                         # the comment continues here

-                                         # this is not easy to parse!

-

-proc anotherSplit(txt: string): seq[string] =

-  # the comment should belong to `anotherSplit`!

-  # another problem: comments are statements!

-

-const

-  x = 0B0_10001110100_0000101001000111101011101111111011000101001101001001'f64 # x ~~ 1.72826e35

-  myNan = 0B01111111100000101100000000001000'f32 # NAN

-  y = """

-    a rather long text.

-    Over many

-    lines.

-  """

-  s = "\xff"

-  a = {0..234}

-  b = {0..high(int)}

-  v = 0'i32

-  z = 6767566'f32

-

-# small test program for lexbase

-

-proc main*(infile: string, a, b: int, someverylongnamewithtype = 0,

-           anotherlongthingie = 3) =

-  var

-    myInt: int = 0

-    s: seq[string]

-  # this should be an error!

-  if initBaseLexer(L, infile, 30): nil

-  else:

-    writeln(stdout, "could not open: " & infile)

-  writeln(stdout, "Success!")

-  call(3, # we use 3

-       12, # we use 12

-       43) # we use 43

-       

-

-main(ParamStr(1), 9, 0)

diff --git a/tests/compile/tlibs.nim b/tests/compile/tlibs.nim
deleted file mode 100755
index 5dd70b0e8..000000000
--- a/tests/compile/tlibs.nim
+++ /dev/null
@@ -1,24 +0,0 @@
-# Test wether the bindings at least compile...
-
-import
-  unicode, cgi, terminal, libcurl, 
-  parsexml, parseopt, parsecfg,
-  osproc, complex,
-  sdl, smpeg, sdl_gfx, sdl_net, sdl_mixer, sdl_ttf,
-  sdl_image, sdl_mixer_nosmpeg,
-  cursorfont, xatom, xf86vmode, xkb, xrandr, xshm, xvlib, keysym, xcms, xi,
-  xkblib, xrender, xutil, x, xf86dga, xinerama, xlib, xresource, xv,
-  gtk2, glib2, pango, gdk2,
-  cairowin32, cairoxlib,
-  odbcsql,
-  gl, glut, glu, glx, glext, wingl,
-  lua, lualib, lauxlib, mysql, sqlite3, python, tcl,
-  db_postgres, db_mysql, db_sqlite, ropes, sockets, browsers, httpserver,
-  httpclient, parseutils, unidecode, xmldom, xmldomparser, xmltree, xmlparser,
-  htmlparser, re, graphics, colors, pegs
-  
-when defined(linux):
-  import
-    zlib, zipfiles
-
-writeln(stdout, "test compilation of binding modules")
diff --git a/tests/compile/tlinearscanend.nim b/tests/compile/tlinearscanend.nim
deleted file mode 100755
index 15fd0c70a..000000000
--- a/tests/compile/tlinearscanend.nim
+++ /dev/null
@@ -1,24 +0,0 @@
-
-import strutils
-
-var x = 343
-
-case stdin.readline.parseInt
-of 0: 
-  echo "most common case"
-of 1: 
-  {.linearScanEnd.}
-  echo "second most common case"
-of 2: echo "unlikely: use branch table"
-else: 
-  echo "unlikely too: use branch table"
-
-
-case x
-of 23: echo "23"
-of 343: echo "343"
-of 21: echo "21"
-else: 
-  {.linearScanEnd.}
-  echo "default"
-
diff --git a/tests/compile/tloops.nim b/tests/compile/tloops.nim
deleted file mode 100755
index 74a3992c9..000000000
--- a/tests/compile/tloops.nim
+++ /dev/null
@@ -1,64 +0,0 @@
-# Test nested loops and some other things

-

-proc andTest() =

-  var a = 0 == 5 and 6 == 6

-

-proc incx(x: var int) = # is built-in proc

-  x = x + 1

-

-proc decx(x: var int) =

-  x = x - 1

-

-proc First(y: var int) =

-  var x: int

-  i_ncx(x)

-  if x == 10:

-    y = 0

-  else:

-    if x == 0:

-      incx(x)

-    else:

-      x=11

-

-proc TestLoops() =

-  var i, j: int

-  while i >= 0:

-    if i mod 3 == 0:

-      break

-    i = i + 1

-    while j == 13:

-      j = 13

-      break

-    break

-

-  while True:

-    break

-

-

-proc Foo(n: int): int =

-    var

-        a, old: int

-        b, c: bool

-    F_irst(a)

-    if a == 10:

-        a = 30

-    elif a == 11:

-        a = 22

-    elif a == 12:

-        a = 23

-    elif b:

-        old = 12

-    else:

-        a = 40

-

-    #

-    b = false or 2 == 0 and 3 == 9

-    a = 0 + 3 * 5 + 6 + 7 + +8 # 36

-    while b:

-        a = a + 3

-    a = a + 5

-    write(stdout, "Hello!")

-

-

-# We should come till here :-)

-discard Foo(345)

diff --git a/tests/compile/tmacro1.nim b/tests/compile/tmacro1.nim
deleted file mode 100755
index e96997c47..000000000
--- a/tests/compile/tmacro1.nim
+++ /dev/null
@@ -1,21 +0,0 @@
-import  macros
-
-macro test*(a: stmt): stmt =
-  var nodes: tuple[a, b: int]  
-  nodes.a = 4
-  nodes[1] = 45
-  
-  type
-    TTypeEx = object
-      x, y: int
-      case b: bool
-      of false: nil
-      of true: z: float
-      
-  var t: TTypeEx
-  t.b = true
-  t.z = 4.5
-
-test:
-  "hi"
-
diff --git a/tests/compile/tmacrostmt.nim b/tests/compile/tmacrostmt.nim
deleted file mode 100755
index 5d1403dac..000000000
--- a/tests/compile/tmacrostmt.nim
+++ /dev/null
@@ -1,17 +0,0 @@
-import macros
-macro case_token(n: stmt): stmt =
-  # creates a lexical analyzer from regular expressions
-  # ... (implementation is an exercise for the reader :-)
-  nil
-
-case_token: # this colon tells the parser it is a macro statement
-of r"[A-Za-z_]+[A-Za-z_0-9]*":
-  return tkIdentifier
-of r"0-9+":
-  return tkInteger
-of r"[\+\-\*\?]+":
-  return tkOperator
-else:
-  return tkUnknown
-  
-case_token: inc i
diff --git a/tests/compile/tmandelbrot.nim b/tests/compile/tmandelbrot.nim
deleted file mode 100644
index 1e39c8756..000000000
--- a/tests/compile/tmandelbrot.nim
+++ /dev/null
@@ -1,57 +0,0 @@
-discard """
-  cmd: "nimrod cc --hints:on -d:release $# $#"
-"""
-
-# -*- nimrod -*-
-
-import math
-import os
-import strutils
-
-type TComplex = tuple[re, im: float]
-
-proc `+` (a, b: TComplex): TComplex =
-    return (a.re + b.re, a.im + b.im)
-
-proc `*` (a, b: TComplex): TComplex =
-    result.re = a.re * b.re - a.im * b.im
-    result.im = a.re * b.im + a.im * b.re
-
-proc abs2 (a: TComplex): float =
-    return a.re * a.re + a.im * a.im
-
-var size    = parseInt (paramStr (1))
-var bit     = 128
-var byteAcc = 0
-
-stdout.writeln ("P4")
-stdout.write ($size)
-stdout.write (" ")
-stdout.writeln ($size)
-
-var fsize = float (size)
-for y in 0 .. size-1:
-    var fy = 2.0 * float (y) / fsize - 1.0
-    for x in 0 .. size-1:
-        var z = (0.0, 0.0)
-        var c = (float (2*x) / fsize - 1.5, fy)
-
-        block iter:
-            for i in 0 .. 49:
-                z = z*z + c
-                if abs2 (z) >= 4.0:
-                    break iter
-            byteAcc = byteAcc + bit
-
-        if bit > 1:
-            bit = bit div 2
-        else:
-            stdout.write (chr (byteAcc))
-            bit     = 128
-            byteAcc = 0
-
-    if bit != 128:
-        stdout.write (chr (byteAcc))
-        bit     = 128
-        byteAcc = 0
-
diff --git a/tests/compile/tmarshal.nim b/tests/compile/tmarshal.nim
deleted file mode 100755
index 5471d347a..000000000
--- a/tests/compile/tmarshal.nim
+++ /dev/null
@@ -1,65 +0,0 @@
-discard """
-  output: ""
-"""
-
-import marshal
-
-template testit(x: expr) = echo($$to[type(x)]($$x))
-
-var x: array[0..4, array[0..4, string]] = [

-  ["test", "1", "2", "3", "4"], ["test", "1", "2", "3", "4"], 

-  ["test", "1", "2", "3", "4"], ["test", "1", "2", "3", "4"], 

-  ["test", "1", "2", "3", "4"]]

-testit(x)

-var test2: tuple[name: string, s: int] = ("tuple test", 56)
-testit(test2)
-
-type
-  TE = enum
-    blah, blah2
-
-  TestObj = object
-    test, asd: int
-    case test2: TE
-    of blah:
-      help: string
-    else:
-      nil
-      
-  PNode = ref TNode
-  TNode = object
-    next, prev: PNode
-    data: string
-
-proc buildList(): PNode =
-  new(result)
-  new(result.next)
-  new(result.prev)
-  result.data = "middle"
-  result.next.data = "next"
-  result.prev.data = "prev"
-  result.next.next = result.prev
-  result.next.prev = result
-  result.prev.next = result
-  result.prev.prev = result.next
-
-var test3: TestObj
-test3.test = 42
-test3.test2 = blah
-testit(test3)
-
-var test4: ref tuple[a, b: string]
-new(test4)
-test4.a = "ref string test: A"
-test4.b = "ref string test: B"
-testit(test4)
-
-var test5 = @[(0,1),(2,3),(4,5)]
-testit(test5)
-
-var test7 = buildList()
-testit(test7)
-
-var test6: set[char] = {'A'..'Z', '_'}
-testit(test6)
-
diff --git a/tests/compile/tmath.nim b/tests/compile/tmath.nim
deleted file mode 100755
index 6a1dae54d..000000000
--- a/tests/compile/tmath.nim
+++ /dev/null
@@ -1,85 +0,0 @@
-# tests for the interpreter

-

-proc loops(a: var int) =

-  nil

-  #var

-  #  b: int

-  #b = glob

-  #while b != 0:

-  #  b = b + 1

-  #a = b

-

-proc mymax(a, b: int): int =

-  #loops(result)

-  result = a

-  if b > a: result = b

-

-proc test(a, b: int) =

-  var

-    x, y: int

-  x = 0

-  y = 7

-  if x == a + b * 3 - 7 or

-      x == 8 or

-      x == y and y > -56 and y < 699:

-    y = 0

-  elif y == 78 and x == 0:

-    y = 1

-  elif y == 0 and x == 0:

-    y = 2

-  else:

-    y = 3

-

-type

-  TTokType = enum

-    tkNil, tkType, tkConst, tkVar, tkSymbol, tkIf,

-    tkWhile, tkFor, tkLoop, tkCase, tkLabel, tkGoto

-

-proc testCase(t: TTokType): int =

-  case t

-  of tkNil, tkType, tkConst: result = 0

-  of tkVar: result = 1

-  of tkSymbol: result = 2

-  of tkIf..tkFor: result = 3

-  of tkLoop: result = 56

-  else: result = -1

-  test(0, 9) # test the call

-

-proc TestLoops() =

-  var

-    i, j: int

-

-  while i >= 0:

-    if i mod 3 == 0:

-      break

-    i = i + 1

-    while j == 13:

-      j = 13

-      break

-    break

-

-  while True:

-    break

-

-

-var

-  glob: int

-  a: array [0..5, int]

-

-proc main() =

-  #glob = 0

-  #loops( glob )

-  var

-    res: int

-    s: string

-  #write(stdout, mymax(23, 45))

-  write(stdout, "Hallo! Wie heißt du? ")

-  s = readLine(stdin)

-  # test the case statement

-  case s

-  of "Andreas": write(stdout, "Du bist mein Meister!\n")

-  of "Rumpf": write(stdout, "Du bist in der Familie meines Meisters!\n")

-  else: write(stdout, "ich kenne dich nicht!\n")

-  write(stdout, "Du heisst " & s & "\n")

-

-main()

diff --git a/tests/compile/tmodulealias.nim b/tests/compile/tmodulealias.nim
deleted file mode 100755
index a7d155e51..000000000
--- a/tests/compile/tmodulealias.nim
+++ /dev/null
@@ -1,19 +0,0 @@
-discard """
-  disabled: true
-"""
-
-when defined(windows):
-  import winlean
-else:
-  import posix
-
-when defined(Windows):
-  template orig: expr = 
-    winlean
-else:
-  template orig: expr = 
-    posix
-
-proc socket(domain, typ, protocol: int): int =
-  result = orig.socket(ord(domain), ord(typ), ord(protocol)))
-
diff --git a/tests/compile/tnamedparams.nim b/tests/compile/tnamedparams.nim
deleted file mode 100755
index 4b0cd5361..000000000
--- a/tests/compile/tnamedparams.nim
+++ /dev/null
@@ -1,8 +0,0 @@
-import pegs
-
-discard parsePeg(
-      pattern = "input", 
-      filename = "filename", 
-      line = 1, 
-      col = 23)
-
diff --git a/tests/compile/tnestedproc.nim b/tests/compile/tnestedproc.nim
deleted file mode 100644
index 49ec6f9a7..000000000
--- a/tests/compile/tnestedproc.nim
+++ /dev/null
@@ -1,12 +0,0 @@
-discard """
-  output: "11"
-"""
-
-proc p(x, y: int): int = 
-  result = x + y
-
-echo p((proc (): int = 
-          var x = 7
-          return x)(),
-       (proc (): int = return 4)())
-
diff --git a/tests/compile/tnew.nim b/tests/compile/tnew.nim
deleted file mode 100755
index 6527541a2..000000000
--- a/tests/compile/tnew.nim
+++ /dev/null
@@ -1,49 +0,0 @@
-# Test the implementation of the new operator

-# and the code generation for gc walkers

-# (and the garbage collector):

-

-type

-  PNode = ref TNode

-  TNode = object

-    data: int

-    str: string

-    le, ri: PNode

-

-  TStressTest = ref array [0..45, array [1..45, TNode]]

-

-proc finalizer(n: PNode) =

-  write(stdout, n.data)

-  write(stdout, " is now freed\n")

-

-proc newNode(data: int, le, ri: PNode): PNode =

-  new(result, finalizer)

-  result.le = le

-  result.ri = ri

-  result.data = data

-

-# now loop and build a tree

-proc main() =

-  var

-    i = 0

-    p: TStressTest

-  while i < 1000:

-    var n: PNode

-

-    n = newNode(i, nil, newNode(i + 10000, nil, nil))

-    inc(i)

-  new(p)

-

-  write(stdout, "Simple tree node allocation worked!\n")

-  i = 0

-  while i < 1000:

-    var m = newNode(i + 20000, nil, nil)

-    var k = newNode(i + 30000, nil, nil)

-    m.le = m

-    m.ri = k

-    k.le = m

-    k.ri = k

-    inc(i)

-

-  write(stdout, "Simple cycle allocation worked!\n")

-

-main()

diff --git a/tests/compile/tnewlibs.nim b/tests/compile/tnewlibs.nim
deleted file mode 100755
index aca2e3c30..000000000
--- a/tests/compile/tnewlibs.nim
+++ /dev/null
@@ -1,16 +0,0 @@
-# Test wether the bindings at least compile...
-
-import
-  tcl,
-  sdl, smpeg, sdl_gfx, sdl_net, sdl_mixer, sdl_ttf,
-  sdl_image, sdl_mixer_nosmpeg,
-  gtk2, glib2, pango, gdk2,
-  unicode, cgi, terminal, libcurl, 
-  parsexml, parseopt, parsecfg,
-  osproc,
-  cairowin32, cairoxlib,
-  gl, glut, glu, glx, glext, wingl,
-  lua, lualib, lauxlib, mysql, sqlite3, 
-  
-
-writeln(stdout, "test compilation of binding modules")
diff --git a/tests/compile/tnewsets.nim b/tests/compile/tnewsets.nim
deleted file mode 100755
index 415fe8f7e..000000000
--- a/tests/compile/tnewsets.nim
+++ /dev/null
@@ -1,6 +0,0 @@
-# new test for sets:

-

-const elem = ' '

-

-var s: set[char] = {elem}

-assert(elem in s and 'a' not_in s and 'c' not_in s )

diff --git a/tests/compile/tnewuns.nim b/tests/compile/tnewuns.nim
deleted file mode 100755
index 5181e467c..000000000
--- a/tests/compile/tnewuns.nim
+++ /dev/null
@@ -1,12 +0,0 @@
-# test the new unsigned operations:

-

-import

-  strutils

-

-var

-  x, y: int

-

-x = 1

-y = high(int)

-

-writeln(stdout, $ ( x +% y ) )

diff --git a/tests/compile/tnimrodnode_for_runtime.nim b/tests/compile/tnimrodnode_for_runtime.nim
deleted file mode 100755
index e73c8430f..000000000
--- a/tests/compile/tnimrodnode_for_runtime.nim
+++ /dev/null
@@ -1,13 +0,0 @@
-discard """
-  output: "bla"
-  disabled: true
-"""
-
-import macros
-proc makeMacro: PNimrodNode =
-  result = nil
-
-var p = makeMacro()
-
-echo "bla"
-
diff --git a/tests/compile/tnoargopenarray.nim b/tests/compile/tnoargopenarray.nim
deleted file mode 100755
index 872ec86d2..000000000
--- a/tests/compile/tnoargopenarray.nim
+++ /dev/null
@@ -1,7 +0,0 @@
-
-import db_sqlite
-
-var db: TDbConn
-Exec(db, sql"create table blabla()")
-
-
diff --git a/tests/compile/tobjcov.nim b/tests/compile/tobjcov.nim
deleted file mode 100755
index 17bc8d80d..000000000
--- a/tests/compile/tobjcov.nim
+++ /dev/null
@@ -1,17 +0,0 @@
-# Covariance is not type safe:
-
-type
-  TA = object
-    a: int
-  TB = object of TA
-    b: array[0..5000_000, int]
-    
-proc ap(x: var TA) = x.a = -1
-proc bp(x: var TB) = x.b[high(x.b)] = -1
-    
-# in Nimrod proc (x: TB) is compatible to proc (x: TA),
-# but this is not type safe:
-var f = cast[proc (x: var TA)](bp)
-var a: TA
-f(a) # bp expects a TB, but gets a TA
-
diff --git a/tests/compile/tobject2.nim b/tests/compile/tobject2.nim
deleted file mode 100755
index 8f69a6bac..000000000
--- a/tests/compile/tobject2.nim
+++ /dev/null
@@ -1,21 +0,0 @@
-# Tests the object implementation
-
-type
-  TPoint2d = object
-    x, y: int
-
-  TPoint3d = object of TPoint2d
-    z: int # added a field
-
-proc getPoint( p: var TPoint2d) =
-  {.breakpoint.}
-  writeln(stdout, p.x)
-
-var
-  p: TPoint3d
-
-TPoint2d(p).x = 34
-p.y = 98
-p.z = 343
-
-getPoint(p)
diff --git a/tests/compile/tobjects.nim b/tests/compile/tobjects.nim
deleted file mode 100755
index 8305e2838..000000000
--- a/tests/compile/tobjects.nim
+++ /dev/null
@@ -1,42 +0,0 @@
-type

-  TBase = object

-    x, y: int

-

-  TSubclassKind = enum ka, kb, kc, kd, ke, kf

-  TSubclass = object of TBase

-    case c: TSubclassKind

-    of ka, kb, kc, kd:

-      a, b: int

-    of ke:

-      d, e, f: char

-    else: nil

-    n: bool

-

-var

-  global: int

-

-var

-  s: string

-  r: float = 0.0

-  i: int = 500 + 400

-

-case i

-of 500..999: write(stdout, "ha!\n")

-of 1000..3000, 12: write(stdout, "ganz schön groß\n")

-of 1, 2, 3: write(stdout, "1 2 oder 3\n")

-else: write(stdout, "sollte nicht passieren\n")

-

-case readLine(stdin)

-of "Rumpf": write(stdout, "Hallo Meister!\n")

-of "Andreas": write(stdout, "Hallo Meister!\n")

-else: write(stdout, "Nicht mein Meister!\n")

-

-global = global + 1

-write(stdout, "Hallo wie heißt du? \n")

-s = readLine(stdin)

-i = 0

-while i < len(s):

-  if s[i] == 'c': write(stdout, "'c' in deinem Namen gefunden\n")

-  i = i + 1

-

-write(stdout, "Du heißt " & s)

diff --git a/tests/compile/toop.nim b/tests/compile/toop.nim
deleted file mode 100755
index db6d9e595..000000000
--- a/tests/compile/toop.nim
+++ /dev/null
@@ -1,21 +0,0 @@
-discard """
-  disabled: true
-"""
-
-type
-  TA = object
-    x, y: int
-  
-  TB = object of TA
-    z: int
-    
-  TC = object of TB
-    whatever: string
-  
-proc p(a: var TA) = nil
-proc p(b: var TB) = nil
-
-var c: TC
-
-p(c)
-
diff --git a/tests/compile/toptions.nim b/tests/compile/toptions.nim
deleted file mode 100755
index 95bb5cfbc..000000000
--- a/tests/compile/toptions.nim
+++ /dev/null
@@ -1,22 +0,0 @@
-# Converted by Pas2mor v1.54

-# Used command line arguments:

-# -m -q -o bootstrap\options.mor options.pas

-#

-

-type

-  # please make sure we have under 32 options (improves code efficiency!)

-  TOption = enum

-    optNone, optForceFullMake, optBoehmGC, optRefcGC, optRangeCheck,

-    optBoundsCheck, optOverflowCheck, optNilCheck, optAssert, optLineDir,

-    optWarns, optHints, optDeadCodeElim, optListCmd, optCompileOnly,

-    optSafeCode,             # only allow safe code

-    optStyleCheck, optOptimizeSpeed, optOptimizeSize, optGenDynLib,

-    optGenGuiApp, optStackTrace

-

-  TOptionset = set[TOption]

-

-var

-  gOptions: TOptionset = {optRefcGC, optRangeCheck, optBoundsCheck,

-    optOverflowCheck, optAssert, optWarns, optHints, optLineDir, optStackTrace}

-  compilerArgs: int

-  gExitcode: int8

diff --git a/tests/compile/tos.nim b/tests/compile/tos.nim
deleted file mode 100755
index fa9993cc9..000000000
--- a/tests/compile/tos.nim
+++ /dev/null
@@ -1,12 +0,0 @@
-# test some things of the os module
-
-import os
-
-proc walkDirTree(root: string) = 
-  for k, f in walkDir(root):
-    case k 
-    of pcFile, pcLinkToFile: echo(f)
-    of pcDir: walkDirTree(f)
-    of pcLinkToDir: nil
-
-walkDirTree(".")
diff --git a/tests/compile/toverprc.nim b/tests/compile/toverprc.nim
deleted file mode 100755
index 43271b684..000000000
--- a/tests/compile/toverprc.nim
+++ /dev/null
@@ -1,27 +0,0 @@
-# Test overloading of procs when used as function pointers

-

-import strutils

-

-proc parseInt(x: float): int {.noSideEffect.} = nil

-proc parseInt(x: bool): int {.noSideEffect.} = nil

-proc parseInt(x: float32): int {.noSideEffect.} = nil

-proc parseInt(x: int8): int {.noSideEffect.} = nil

-proc parseInt(x: TFile): int {.noSideEffect.} = nil

-proc parseInt(x: char): int {.noSideEffect.} = nil

-proc parseInt(x: int16): int {.noSideEffect.} = nil

-

-type

-  TParseInt = proc (x: string): int {.noSideEffect.}

-

-var

-  q = TParseInt(parseInt)

-  p: TParseInt = parseInt

-

-proc takeParseInt(x: proc (y: string): int {.noSideEffect.}): int = 

-  result = x("123")

-  

-echo "Give a list of numbers (separated by spaces): "

-var x = stdin.readline.split.each(parseInt).max

-echo x, " is the maximum!"

-echo "another number: ", takeParseInt(parseInt)

-

diff --git a/tests/compile/tparedef.nim b/tests/compile/tparedef.nim
deleted file mode 100755
index dedebf6b7..000000000
--- a/tests/compile/tparedef.nim
+++ /dev/null
@@ -1,4 +0,0 @@
-# This test is now superfluous:

-

-proc a(a: int) = 

-  return

diff --git a/tests/compile/tparscfg.nim b/tests/compile/tparscfg.nim
deleted file mode 100755
index 618ecadd6..000000000
--- a/tests/compile/tparscfg.nim
+++ /dev/null
@@ -1,25 +0,0 @@
-
-import
-  os, parsecfg, strutils, streams
-  
-var f = newFileStream(paramStr(1), fmRead)
-if f != nil:
-  var p: TCfgParser
-  open(p, f, paramStr(1))
-  while true:
-    var e = next(p)
-    case e.kind
-    of cfgEof: 
-      echo("EOF!")
-      break
-    of cfgSectionStart:   ## a ``[section]`` has been parsed
-      echo("new section: " & e.section)
-    of cfgKeyValuePair:
-      echo("key-value-pair: " & e.key & ": " & e.value)
-    of cfgOption:
-      echo("command: " & e.key & ": " & e.value)
-    of cfgError:
-      echo(e.msg)
-  close(p)
-else:
-  echo("cannot open: " & paramStr(1))
diff --git a/tests/compile/tparsefloat.nim b/tests/compile/tparsefloat.nim
deleted file mode 100755
index 38ed2db6d..000000000
--- a/tests/compile/tparsefloat.nim
+++ /dev/null
@@ -1,3 +0,0 @@
-import strutils
-
-echo ParseFloat("5000") / ParseFloat("10")
diff --git a/tests/compile/tparsopt.nim b/tests/compile/tparsopt.nim
deleted file mode 100755
index 2b2da7e51..000000000
--- a/tests/compile/tparsopt.nim
+++ /dev/null
@@ -1,27 +0,0 @@
-# Test the new parseopt module
-
-import
-  parseopt
-
-proc writeHelp() = 
-  writeln(stdout, "Usage: tparsopt [options] filename [options]")
-
-proc writeVersion() = 
-  writeln(stdout, "Version: 1.0.0")
-  
-var
-  filename = ""
-for kind, key, val in getopt():
-  case kind
-  of cmdArgument: 
-    filename = key
-  of cmdLongOption, cmdShortOption:
-    case key
-    of "help", "h": writeHelp()
-    of "version", "v": writeVersion()
-    else: 
-      writeln(stdout, "Unknown command line option: ", key, ": ", val)
-  of cmdEnd: assert(false) # cannot happen
-if filename == "":
-  # no filename has been given, so we show the help:
-  writeHelp()
diff --git a/tests/compile/tposix.nim b/tests/compile/tposix.nim
deleted file mode 100755
index bf0b49586..000000000
--- a/tests/compile/tposix.nim
+++ /dev/null
@@ -1,16 +0,0 @@
-# Test Posix interface
-
-when not defined(windows):
-
-  import posix
-
-  var
-    u: Tutsname
-
-  discard uname(u)
-
-  writeln(stdout, u.sysname)
-  writeln(stdout, u.nodename)
-  writeln(stdout, u.release)
-  writeln(stdout, u.machine)
-
diff --git a/tests/compile/tprep.nim b/tests/compile/tprep.nim
deleted file mode 100755
index 4ef9e2543..000000000
--- a/tests/compile/tprep.nim
+++ /dev/null
@@ -1,30 +0,0 @@
-# Test the features that used to belong to the preprocessor
-
-import
-  times
-
-#{.warning: "This is only a test warning!".}
-
-const
-  case2 = true
-  case3 = true
-
-when defined(case1):
-  {.hint: "Case 1".}
-  when case3:
-    {.hint: "Case 1.3".}
-elif case2:
-  {.hint: "Case 2".}
-  when case3:
-    {.hint: "Case 2.3".}
-elif case3:
-  {.hint: "Case 3".}
-else:
-  {.hint: "unknown case".}
-
-var
-  s: string
-write(stdout, "compiled at " & system.compileDate &
-              " " & compileTime & "\n")
-echo getDateStr()
-echo getClockStr()
diff --git a/tests/compile/tpush.nim b/tests/compile/tpush.nim
deleted file mode 100755
index 5fb411a79..000000000
--- a/tests/compile/tpush.nim
+++ /dev/null
@@ -1,15 +0,0 @@
-# test the new pragmas

-

-{.push warnings: off, hints: off.}

-proc noWarning() =

-  var

-    x: int

-  echo(x)

-

-{.pop.}

-

-proc WarnMe() =

-  var

-    x: int

-  echo(x)

-

diff --git a/tests/compile/tquicksort.nim b/tests/compile/tquicksort.nim
deleted file mode 100755
index 6706a185e..000000000
--- a/tests/compile/tquicksort.nim
+++ /dev/null
@@ -1,26 +0,0 @@
-proc QuickSort(list: seq[int]): seq[int] =
-    if len(list) == 0:
-        return @[]
-    var pivot = list[0]
-    var left: seq[int] = @[]
-    var right: seq[int] = @[]
-    for i in low(list)..high(list):
-        if list[i] < pivot:
-            left.add(list[i])
-        elif list[i] > pivot:
-            right.add(list[i])
-    result = QuickSort(left) & 
-      pivot & 
-      QuickSort(right)
-    
-proc echoSeq(a: seq[int]) =
-    for i in low(a)..high(a):
-        echo(a[i])
-
-var
-    list: seq[int]
-        
-list = QuickSort(@[89,23,15,23,56,123,356,12,7,1,6,2,9,4,3])
-echoSeq(list)
-
-
diff --git a/tests/compile/tquit.nim b/tests/compile/tquit.nim
deleted file mode 100755
index d4dc1522d..000000000
--- a/tests/compile/tquit.nim
+++ /dev/null
@@ -1,6 +0,0 @@
-# Test the new beforeQuit variable: 

-

-proc myExit() {.noconv.} = 

-  write(stdout, "just exiting...\n")

-

-addQuitProc(myExit)

diff --git a/tests/compile/tradix.nim b/tests/compile/tradix.nim
deleted file mode 100755
index e7ca210e4..000000000
--- a/tests/compile/tradix.nim
+++ /dev/null
@@ -1,319 +0,0 @@
-# implements and tests an efficient radix tree
-
-## another method to store an efficient array of pointers: 
-## We use a radix tree with node compression. 
-## There are two node kinds:
-
-const bitsPerUnit = 8*sizeof(int)
-
-type
-  TRadixNodeKind = enum rnLinear, rnFull, rnLeafBits, rnLeafLinear
-  PRadixNode = ptr TRadixNode
-  TRadixNode {.pure.} = object
-    kind: TRadixNodeKind
-  TRadixNodeLinear = object of TRadixNode
-    len: byte
-    keys: array [0..31, byte]
-    vals: array [0..31, PRadixNode]
-  
-  TRadixNodeFull = object of TRadixNode
-    b: array [0..255, PRadixNode]
-  TRadixNodeLeafBits = object of TRadixNode
-    b: array [0..7, int]
-  TRadixNodeLeafLinear = object of TRadixNode
-    len: byte
-    keys: array [0..31, byte]
-
-var
-  root: PRadixNode
-
-proc searchInner(r: PRadixNode, a: int): PRadixNode = 
-  case r.kind
-  of rnLinear:
-    var x = cast[ptr TRadixNodeLinear](r)
-    for i in 0..ze(x.len)-1: 
-      if ze(x.keys[i]) == a: return x.vals[i]
-  of rnFull: 
-    var x = cast[ptr TRadixNodeFull](r)
-    return x.b[a]
-  else: assert(false)
-
-proc testBit(w, i: int): bool {.inline.} = 
-  result = (w and (1 shl (i %% BitsPerUnit))) != 0
-
-proc setBit(w: var int, i: int) {.inline.} = 
-  w = w or (1 shl (i %% bitsPerUnit))
-
-proc resetBit(w: var int, i: int) {.inline.} = 
-  w = w and not (1 shl (i %% bitsPerUnit))
-
-proc testOrSetBit(w: var int, i: int): bool {.inline.} = 
-  var x = (1 shl (i %% bitsPerUnit))
-  if (w and x) != 0: return true
-  w = w or x
-
-proc searchLeaf(r: PRadixNode, a: int): bool = 
-  case r.kind
-  of rnLeafBits:
-    var x = cast[ptr TRadixNodeLeafBits](r)
-    return testBit(x.b[a /% BitsPerUnit], a)
-  of rnLeafLinear:
-    var x = cast[ptr TRadixNodeLeafLinear](r)
-    for i in 0..ze(x.len)-1: 
-      if ze(x.keys[i]) == a: return true
-  else: assert(false)
-
-proc exclLeaf(r: PRadixNode, a: int) = 
-  case r.kind
-  of rnLeafBits:
-    var x = cast[ptr TRadixNodeLeafBits](r)
-    resetBit(x.b[a /% BitsPerUnit], a)
-  of rnLeafLinear:
-    var x = cast[ptr TRadixNodeLeafLinear](r)
-    var L = ze(x.len)
-    for i in 0..L-1: 
-      if ze(x.keys[i]) == a: 
-        x.keys[i] = x.keys[L-1]
-        dec(x.len)
-        return
-  else: assert(false)
-
-proc in_Operator*(r: PRadixNode, a: TAddress): bool =
-  if r == nil: return false
-  var x = searchInner(r, a shr 24 and 0xff)
-  if x == nil: return false
-  x = searchInner(x, a shr 16 and 0xff)
-  if x == nil: return false
-  x = searchInner(x, a shr 8 and 0xff)
-  if x == nil: return false
-  return searchLeaf(x, a and 0xff)
-
-proc excl*(r: PRadixNode, a: TAddress): bool =
-  if r == nil: return false
-  var x = searchInner(r, a shr 24 and 0xff)
-  if x == nil: return false
-  x = searchInner(x, a shr 16 and 0xff)
-  if x == nil: return false
-  x = searchInner(x, a shr 8 and 0xff)
-  if x == nil: return false
-  exclLeaf(x, a and 0xff)
-
-proc addLeaf(r: var PRadixNode, a: int): bool = 
-  if r == nil:
-    # a linear node:
-    var x = cast[ptr TRadixNodeLinear](alloc(sizeof(TRadixNodeLinear)))
-    x.kind = rnLeafLinear
-    x.len = 1'i8
-    x.keys[0] = toU8(a)
-    r = x
-    return false # not already in set
-  case r.kind 
-  of rnLeafBits: 
-    var x = cast[ptr TRadixNodeLeafBits](r)
-    return testOrSetBit(x.b[a /% BitsPerUnit], a)
-  of rnLeafLinear: 
-    var x = cast[ptr TRadixNodeLeafLinear](r)
-    var L = ze(x.len)
-    for i in 0..L-1: 
-      if ze(x.keys[i]) == a: return true
-    if L <= high(x.keys):
-      x.keys[L] = toU8(a)
-      inc(x.len)
-    else: 
-      # transform into a full node:
-      var y = cast[ptr TRadixNodeLeafBits](alloc0(sizeof(TRadixNodeLeafBits)))
-      y.kind = rnLeafBits
-      for i in 0..ze(x.len)-1: 
-        var u = ze(x.keys[i])
-        setBit(y.b[u /% BitsPerUnit], u)
-      setBit(y.b[a /% BitsPerUnit], a)
-      dealloc(r)
-      r = y
-  else: assert(false)
-
-proc addInner(r: var PRadixNode, a: int, d: int): bool = 
-  if d == 0: 
-    return addLeaf(r, a and 0xff)
-  var k = a shr d and 0xff
-  if r == nil:
-    # a linear node:
-    var x = cast[ptr TRadixNodeLinear](alloc(sizeof(TRadixNodeLinear)))
-    x.kind = rnLinear
-    x.len = 1'i8
-    x.keys[0] = toU8(k)
-    r = x
-    return addInner(x.vals[0], a, d-8)
-  case r.kind
-  of rnLinear:
-    var x = cast[ptr TRadixNodeLinear](r)
-    var L = ze(x.len)
-    for i in 0..L-1: 
-      if ze(x.keys[i]) == k: # already exists
-        return addInner(x.vals[i], a, d-8)
-    if L <= high(x.keys):
-      x.keys[L] = toU8(k)
-      inc(x.len)
-      return addInner(x.vals[L], a, d-8)
-    else: 
-      # transform into a full node:
-      var y = cast[ptr TRadixNodeFull](alloc0(sizeof(TRadixNodeFull)))
-      y.kind = rnFull
-      for i in 0..L-1: y.b[ze(x.keys[i])] = x.vals[i]
-      dealloc(r)
-      r = y
-      return addInner(y.b[k], a, d-8)
-  of rnFull: 
-    var x = cast[ptr TRadixNodeFull](r)
-    return addInner(x.b[k], a, d-8)
-  else: assert(false)
-
-proc incl*(r: var PRadixNode, a: TAddress) {.inline.} = 
-  discard addInner(r, a, 24)
-  
-proc testOrIncl*(r: var PRadixNode, a: TAddress): bool {.inline.} = 
-  return addInner(r, a, 24)
-      
-iterator innerElements(r: PRadixNode): tuple[prefix: int, n: PRadixNode] = 
-  if r != nil:
-    case r.kind 
-    of rnFull: 
-      var r = cast[ptr TRadixNodeFull](r)
-      for i in 0..high(r.b):
-        if r.b[i] != nil: 
-          yield (i, r.b[i])
-    of rnLinear: 
-      var r = cast[ptr TRadixNodeLinear](r)
-      for i in 0..ze(r.len)-1: 
-        yield (ze(r.keys[i]), r.vals[i])
-    else: assert(false)
-
-iterator leafElements(r: PRadixNode): int = 
-  if r != nil:
-    case r.kind
-    of rnLeafBits: 
-      var r = cast[ptr TRadixNodeLeafBits](r)
-      # iterate over any bit:
-      for i in 0..high(r.b): 
-        if r.b[i] != 0: # test all bits for zero
-          for j in 0..BitsPerUnit-1: 
-            if testBit(r.b[i], j): 
-              yield i*BitsPerUnit+j
-    of rnLeafLinear: 
-      var r = cast[ptr TRadixNodeLeafLinear](r)
-      for i in 0..ze(r.len)-1: 
-        yield ze(r.keys[i])
-    else: assert(false)
-    
-iterator elements*(r: PRadixNode): TAddress {.inline.} = 
-  for p1, n1 in innerElements(r): 
-    for p2, n2 in innerElements(n1):
-      for p3, n3 in innerElements(n2):
-        for p4 in leafElements(n3): 
-          yield p1 shl 24 or p2 shl 16 or p3 shl 8 or p4
-  
-proc main() =
-  const
-    numbers = [128, 1, 2, 3, 4, 255, 17, -8, 45, 19_000]
-  var
-    r: PRadixNode = nil
-  for x in items(numbers):
-    echo testOrIncl(r, x)
-  for x in elements(r): echo(x)
-
-main()
-
-
-when false:
-  proc traverse(r: PRadixNode, prefix: int, d: int) = 
-    if r == nil: return
-    case r.kind 
-    of rnLeafBits: 
-      assert(d == 0)
-      var x = cast[ptr TRadixNodeLeafBits](r)
-      # iterate over any bit:
-      for i in 0..high(x.b): 
-        if x.b[i] != 0: # test all bits for zero
-          for j in 0..BitsPerUnit-1: 
-            if testBit(x.b[i], j): 
-              visit(prefix or i*BitsPerUnit+j)
-    of rnLeafLinear: 
-      assert(d == 0)
-      var x = cast[ptr TRadixNodeLeafLinear](r)
-      for i in 0..ze(x.len)-1: 
-        visit(prefix or ze(x.keys[i]))
-    of rnFull: 
-      var x = cast[ptr TRadixNodeFull](r)
-      for i in 0..high(r.b):
-        if r.b[i] != nil: 
-          traverse(r.b[i], prefix or (i shl d), d-8)
-    of rnLinear: 
-      var x = cast[ptr TRadixNodeLinear](r)
-      for i in 0..ze(x.len)-1: 
-        traverse(x.vals[i], prefix or (ze(x.keys[i]) shl d), d-8)
-
-  type
-    TRadixIter {.final.} = object
-      r: PRadixNode
-      p: int
-      x: int
-
-  proc init(i: var TRadixIter, r: PRadixNode) =
-    i.r = r
-    i.x = 0
-    i.p = 0
-    
-  proc nextr(i: var TRadixIter): PRadixNode = 
-    if i.r == nil: return nil
-    case i.r.kind 
-    of rnFull: 
-      var r = cast[ptr TRadixNodeFull](i.r)
-      while i.x <= high(r.b):
-        if r.b[i.x] != nil: 
-          i.p = i.x
-          return r.b[i.x]
-        inc(i.x)
-    of rnLinear: 
-      var r = cast[ptr TRadixNodeLinear](i.r)
-      if i.x < ze(r.len): 
-        i.p = ze(r.keys[i.x])
-        result = r.vals[i.x]
-        inc(i.x)
-    else: assert(false)
-
-  proc nexti(i: var TRadixIter): int = 
-    result = -1
-    case i.r.kind 
-    of rnLeafBits: 
-      var r = cast[ptr TRadixNodeLeafBits](i.r)
-      # iterate over any bit:    
-      for i in 0..high(r.b): 
-        if x.b[i] != 0: # test all bits for zero
-          for j in 0..BitsPerUnit-1: 
-            if testBit(x.b[i], j): 
-              visit(prefix or i*BitsPerUnit+j)
-    of rnLeafLinear: 
-      var r = cast[ptr TRadixNodeLeafLinear](i.r)
-      if i.x < ze(r.len): 
-        result = ze(r.keys[i.x])
-        inc(i.x)
-
-  iterator elements(r: PRadixNode): TAddress {.inline.} = 
-    var
-      a, b, c, d: TRadixIter
-    init(a, r)
-    while true: 
-      var x = nextr(a)
-      if x != nil: 
-        init(b, x)
-        while true: 
-          var y = nextr(b)
-          if y != nil: 
-            init(c, y)
-            while true:
-              var z = nextr(c)
-              if z != nil: 
-                init(d, z)
-                while true:
-                  var q = nexti(d)
-                  if q != -1: 
-                    yield a.p shl 24 or b.p shl 16 or c.p shl 8 or q
diff --git a/tests/compile/treadln.nim b/tests/compile/treadln.nim
deleted file mode 100755
index 1117ab5f9..000000000
--- a/tests/compile/treadln.nim
+++ /dev/null
@@ -1,12 +0,0 @@
-# test the improved readline handling that does not care whether its
-# Macintosh, Unix or Windows text format.
-
-var
-  inp: TFile
-  line: string
-
-if open(inp, "readme.txt"):
-  while not EndOfFile(inp):
-    line = readLine(inp)
-    echo("#" & line & "#")
-  close(inp)
diff --git a/tests/compile/treadx.nim b/tests/compile/treadx.nim
deleted file mode 100755
index 13acb0514..000000000
--- a/tests/compile/treadx.nim
+++ /dev/null
@@ -1,12 +0,0 @@
-import posix
-
-var inp = ""
-var buf: array[0..10, char]
-while true:
-  var r = read(0, addr(buf), sizeof(buf)-1)
-  add inp, $buf
-  if r != sizeof(buf)-1: break
-
-echo inp
-#dafkladskölklödsaf ölksdakölfölksfklwe4iojr389wr 89uweokf sdlkf jweklr jweflksdj fioewjfsdlfsd
-
diff --git a/tests/compile/trecmod.nim b/tests/compile/trecmod.nim
deleted file mode 100755
index 9d39d3ff7..000000000
--- a/tests/compile/trecmod.nim
+++ /dev/null
@@ -1,2 +0,0 @@
-# recursive module

-import mrecmod

diff --git a/tests/compile/trecmod2.nim b/tests/compile/trecmod2.nim
deleted file mode 100755
index 85fe2215f..000000000
--- a/tests/compile/trecmod2.nim
+++ /dev/null
@@ -1,10 +0,0 @@
-type
-  T1* = int  # Module A exports the type ``T1``
-
-import mrecmod2   # the compiler starts parsing B
-
-proc main() =
-  var i = p(3) # works because B has been parsed completely here
-
-main()
-
diff --git a/tests/compile/trectuple.nim b/tests/compile/trectuple.nim
deleted file mode 100755
index 4d5febbfa..000000000
--- a/tests/compile/trectuple.nim
+++ /dev/null
@@ -1,9 +0,0 @@
-
-type
-    PNode = ref TNode
-    TNode = tuple[self: PNode]
-
-var node: PNode
-new(node)
-node.self = node
-
diff --git a/tests/compile/trectuples.nim b/tests/compile/trectuples.nim
deleted file mode 100644
index c59cfe880..000000000
--- a/tests/compile/trectuples.nim
+++ /dev/null
@@ -1,10 +0,0 @@
-
-type Node = tuple[left: ref Node]
-
-proc traverse(root: ref Node) =
-  if root.left != nil: traverse(root.left)
-  
-type A = tuple[B: ptr A]
-proc C(D: ptr A) = C(D.B)
-
-
diff --git a/tests/compile/trepr.nim b/tests/compile/trepr.nim
deleted file mode 100755
index b15081e48..000000000
--- a/tests/compile/trepr.nim
+++ /dev/null
@@ -1,32 +0,0 @@
-# test the new "repr" built-in proc

-

-type

-  TEnum = enum

-    en1, en2, en3, en4, en5, en6

-

-  TPoint {.final.} = object

-    x, y, z: int

-    s: array [0..1, string]

-    e: TEnum

-

-var

-  p: TPoint

-  q: ref TPoint

-  s: seq[ref TPoint]

-

-p.x = 0

-p.y = 13

-p.z = 45

-p.s[0] = "abc"

-p.s[1] = "xyz"

-p.e = en6

-

-new(q)

-q[] = p

-

-s = @[q, q, q, q]

-

-writeln(stdout, repr(p))

-writeln(stdout, repr(q))

-writeln(stdout, repr(s))

-writeln(stdout, repr(en4))

diff --git a/tests/compile/tseq2.nim b/tests/compile/tseq2.nim
deleted file mode 100755
index 03bdb3fab..000000000
--- a/tests/compile/tseq2.nim
+++ /dev/null
@@ -1,13 +0,0 @@
-
-  
-proc `*` *(a, b: seq[int]): seq[int] = 
-  # allocate a new sequence:
-  newSeq(result, len(a))
-  # multiply two int sequences:
-  for i in 0..len(a)-1: result[i] = a[i] * b[i]
-
-when isMainModule: 
-  # test the new ``*`` operator for sequences:
-  assert(@[1, 2, 3] * @[1, 2, 3] == @[1, 4, 9])
-
-
diff --git a/tests/compile/tseqcon2.nim b/tests/compile/tseqcon2.nim
deleted file mode 100755
index 4f2763ffe..000000000
--- a/tests/compile/tseqcon2.nim
+++ /dev/null
@@ -1,9 +0,0 @@
-import os
-
-proc rec_dir(dir: string): seq[string] =
-  result = @[]
-  for kind, path in walk_dir(dir):
-    if kind == pcDir:
-      add(result, rec_dir(path))
-    else:
-      add(result, path)
diff --git a/tests/compile/tshadow_magic_type.nim b/tests/compile/tshadow_magic_type.nim
deleted file mode 100755
index 5cd27435e..000000000
--- a/tests/compile/tshadow_magic_type.nim
+++ /dev/null
@@ -1,24 +0,0 @@
-type
-  TListItemType* = enum
-    RedisNil, RedisString
-
-  TListItem* = object
-    case kind*: TListItemType
-    of RedisString:
-      str*: string
-    else: nil
-  TRedisList* = seq[TListItem]
-
-# Caused by this.
-proc seq*() =
-  nil
-
-proc lrange*(key: string): TRedisList =
-  var foo: TListItem
-  foo.kind = RedisNil
-  result = @[foo]
-
-when isMainModule:
-  var p = lrange("mylist")
-  for i in items(p):
-    echo(i.str)
diff --git a/tests/compile/tsizeof.nim b/tests/compile/tsizeof.nim
deleted file mode 100755
index f7b70dd4d..000000000
--- a/tests/compile/tsizeof.nim
+++ /dev/null
@@ -1,10 +0,0 @@
-# Test the sizeof proc

-

-type

-  TMyRecord {.final.} = object

-    x, y: int

-    b: bool

-    r: float

-    s: string

-

-write(stdout, sizeof(TMyRecord))

diff --git a/tests/compile/tslurp.nim b/tests/compile/tslurp.nim
deleted file mode 100644
index c99fefe23..000000000
--- a/tests/compile/tslurp.nim
+++ /dev/null
@@ -1,6 +0,0 @@
-
-const
-  myRes = slurp"readme.txt"
-  
-echo myRes
-
diff --git a/tests/compile/tsockets.nim b/tests/compile/tsockets.nim
deleted file mode 100755
index cc7d18b87..000000000
--- a/tests/compile/tsockets.nim
+++ /dev/null
@@ -1,11 +0,0 @@
-import sockets
-var s: TSocket
-s = socket()
-
-s.connect("www.google.com", TPort(80))
-
-var recvData: string = ""
-echo(s.recvLine(recvData))
-echo(recvData)
-
-
diff --git a/tests/compile/tsortdev.nim b/tests/compile/tsortdev.nim
deleted file mode 100755
index c4e63fab4..000000000
--- a/tests/compile/tsortdev.nim
+++ /dev/null
@@ -1,72 +0,0 @@
-discard """
-  disabled: true
-"""
-
-import math, algorithm
-
-proc sorted[T](a: openArray[T], order: TSortOrder): bool = 
-  result = true
-  for i in 0 .. < a.high:
-    if cmp(a[i], a[i+1]) * order > 0: 
-      echo "Out of order: ", a[i], " ", a[i+1]
-      result = false
-
-proc bubbleSort[T](a: var openArray[T], 
-                   cmp: proc (x, y: T): int = cmp,
-                   order = TSortOrder.Ascending) =
-  while true:
-    var sorted = true
-    for i in 0 .. a.len-2:
-      if cmp(a[i], a[i+1]) * order > 0:
-        swap(a[i], a[i+1])
-        sorted = false
-    if sorted: break
-
-when isMainModule:
-  proc main() =
-    const order = Ascending
-    var data: seq[string] = @[]
-
-    for i in 0..10_000: 
-      var L = random(59)
-      setLen(data, L)
-      for j in 0 .. L-1: 
-        data[j] = $(math.random(90) - 10)
-      var copy = data
-      sort(data, cmp, order)
-      if not sorted(data, order):
-        #for x in items(data): echo x
-        break
-      else:
-        echo "SUCCESS!"
-      bubblesort(copy, cmp, order)
-      if copy.len != data.len: 
-        quit "lengths differ!"
-      for i in 0 .. copy.high:
-        if copy[i] != data[i]:
-          quit "algorithms differ!"
-
-    for i in 0..10_000: 
-      var data: seq[int] = @[]
-      var L = random(59)
-      setLen(data, L)
-      for j in 0 .. L-1: 
-        data[j] = (math.random(90) - 10)
-      var copy = data
-      sort(data, cmp[int], order)
-      if not sorted(data, order):
-        #for x in items(data): echo x
-        break
-      else:
-        echo "SUCCESS!"
-      bubblesort(copy)
-      if copy.len != data.len: 
-        quit "lengths differ!"
-      for i in 0 .. copy.high:
-        if copy[i] != data[i]:
-          quit "algorithms differ!"
-
-  main()
-
-echo "done"
-
diff --git a/tests/compile/tspecialised_is_equivalent.nim b/tests/compile/tspecialised_is_equivalent.nim
deleted file mode 100755
index 60b976e90..000000000
--- a/tests/compile/tspecialised_is_equivalent.nim
+++ /dev/null
@@ -1,15 +0,0 @@
-##
-## specialised_is_equivalent Nimrod Module
-##
-## Created by Eric Doughty-Papassideris on 2011-02-16.
-## Copyright (c) 2011 FWA. All rights reserved.
-
-type
-  TGen[T] = tuple[a: T]
-  TSpef = tuple[a: string]
-
-var
-  a: TGen[string]
-  b: TSpef
-a = b
-
diff --git a/tests/compile/tstrace.nim b/tests/compile/tstrace.nim
deleted file mode 100755
index 3032a34a3..000000000
--- a/tests/compile/tstrace.nim
+++ /dev/null
@@ -1,16 +0,0 @@
-# Test the new stacktraces (great for debugging!)

-

-{.push stack_trace: on.}

-

-proc recTest(i: int) =

-  # enter

-  if i < 10:

-    recTest(i+1)

-  else: # should printStackTrace()

-    var p: ptr int = nil

-    p[] = 12

-  # leave

-

-{.pop.}

-

-recTest(0)

diff --git a/tests/compile/tstrdesc.nim b/tests/compile/tstrdesc.nim
deleted file mode 100755
index 1c2e85b4b..000000000
--- a/tests/compile/tstrdesc.nim
+++ /dev/null
@@ -1,14 +0,0 @@
-var

-  x: array [0..2, int]

-

-x = [0, 1, 2]

-

-type

-  TStringDesc {.final.} = object

-    len, space: int # len and space without counting the terminating zero

-    data: array [0..0, char] # for the '\0' character

-

-var

-  emptyString {.exportc: "emptyString".}: TStringDesc 

-

-

diff --git a/tests/compile/tstrdist.nim b/tests/compile/tstrdist.nim
deleted file mode 100755
index 3e1939e73..000000000
--- a/tests/compile/tstrdist.nim
+++ /dev/null
@@ -1,26 +0,0 @@
-# compute the edit distance between two strings
-
-proc editDistance(a, b: string): int =
-  var
-    c: seq[int]
-    n = a.len
-    m = b.len
-  newSeq(c, (n+1)*(m+1))
-  for i in 0..n:
-    c[i*n] = i # [i,0]
-  for j in 0..m:
-    c[j] = j # [0,j]
-
-  for i in 1..n:
-    for j in 1..m:
-      var x = c[(i-1)*n + j]+1
-      var y = c[i*n + j-1]+1
-      var z: int
-      if a[i-1] == b[j-1]:
-        z = c[(i-1)*n + j-1]
-      else:
-        z = c[(i-1)*n + j-1]+1
-      c[(i-1)*n + (j-1)] = min(x,min(y,z))
-  return c[n*m]
-
-write(stdout, editDistance("abc", "abd"))
diff --git a/tests/compile/tstreams.nim b/tests/compile/tstreams.nim
deleted file mode 100755
index 640565a27..000000000
--- a/tests/compile/tstreams.nim
+++ /dev/null
@@ -1,7 +0,0 @@
-import streams
-
-var outp = newFileStream(stdout)
-var inp = newFileStream(stdin)
-write(outp, "Hello! What is your name?")
-var line = readLine(inp)
-write(outp, "Nice name: " & line)
diff --git a/tests/compile/tstrset.nim b/tests/compile/tstrset.nim
deleted file mode 100755
index e19ccee4d..000000000
--- a/tests/compile/tstrset.nim
+++ /dev/null
@@ -1,74 +0,0 @@
-# test a simple yet highly efficient set of strings
-
-type
-  TRadixNodeKind = enum rnLinear, rnFull, rnLeaf
-  PRadixNode = ref TRadixNode
-  TRadixNode = object
-    kind: TRadixNodeKind
-  TRadixNodeLinear = object of TRadixNode
-    len: byte
-    keys: array [0..31, char]
-    vals: array [0..31, PRadixNode]  
-  TRadixNodeFull = object of TRadixNode
-    b: array [char, PRadixNode]
-  TRadixNodeLeaf = object of TRadixNode
-    s: string
-  PRadixNodeLinear = ref TRadixNodeLinear
-  PRadixNodeFull = ref TRadixNodeFull
-  PRadixNodeLeaf = ref TRadixNodeLeaf
-    
-proc search(r: PRadixNode, s: string): PRadixNode =
-  var r = r
-  var i = 0
-  while r != nil:
-    case r.kind
-    of rnLinear:
-      var x = PRadixNodeLinear(r)
-      for j in 0..ze(x.len)-1:
-        if x.keys[j] == s[i]:
-          if s[i] == '\0': return r
-          r = x.vals[j]
-          inc(i)
-          break
-      break # character not found
-    of rnFull:
-      var x = PRadixNodeFull(r)
-      var y = x.b[s[i]]
-      if s[i] == '\0':
-        return if y != nil: r else: nil
-      r = y
-      inc(i)
-    of rnLeaf:
-      var x = PRadixNodeLeaf(r)
-      var j = 0
-      while true:
-        if x.s[j] != s[i]: return nil
-        if s[i] == '\0': return r
-        inc(j)
-        inc(i)
-
-proc in_Operator*(r: PRadixNode, s: string): bool =
-  return search(r, s) != nil
-
-proc testOrincl*(r: var PRadixNode, s: string): bool =
-  nil
-    
-proc incl*(r: var PRadixNode, s: string) = discard testOrIncl(r, s)
-
-proc excl*(r: var PRadixNode, s: string) =
-  var x = search(r, s)
-  if x == nil: return
-  case x.kind
-  of rnLeaf: PRadixNodeLeaf(x).s = ""
-  of rnFull: PRadixNodeFull(x).b['\0'] = nil
-  of rnLinear:
-    var x = PRadixNodeLinear(x)
-    for i in 0..ze(x.len)-1:
-      if x.keys[i] == '\0':
-        swap(x.keys[i], x.keys[ze(x.len)-1])
-        dec(x.len)
-        break
-
-var
-  root: PRadixNode
-
diff --git a/tests/compile/tstrtabs.nim b/tests/compile/tstrtabs.nim
deleted file mode 100755
index 251ec77ef..000000000
--- a/tests/compile/tstrtabs.nim
+++ /dev/null
@@ -1,12 +0,0 @@
-import strtabs
-
-var tab = newStringTable({"key1": "val1", "key2": "val2"}, 
-                         modeStyleInsensitive)
-for i in 0..80:
-  tab["key_" & $i] = "value" & $i
-  
-for key, val in pairs(tab):
-  writeln(stdout, key, ": ", val)
-writeln(stdout, "length of table ", $tab.len)
-
-writeln(stdout, `%`("$key1 = $key2; ${PATH}", tab, {useEnvironment}))
diff --git a/tests/compile/ttableconstr.nim b/tests/compile/ttableconstr.nim
deleted file mode 100755
index 9433e9985..000000000
--- a/tests/compile/ttableconstr.nim
+++ /dev/null
@@ -1,16 +0,0 @@
-# Test if the new table constructor syntax works:
-
-template ignoreExpr(e: expr): stmt =
-  nil
-
-# test first class '..' syntactical citizen:  
-ignoreExpr x <> 2..4
-# test table constructor:
-ignoreExpr({:})
-ignoreExpr({2: 3, "key": "value"})
-
-# NEW:
-assert 56 in 50..100
-
-assert 56 in ..60
-
diff --git a/tests/compile/ttempl.nim b/tests/compile/ttempl.nim
deleted file mode 100755
index 2c4785325..000000000
--- a/tests/compile/ttempl.nim
+++ /dev/null
@@ -1,27 +0,0 @@
-# Test the new template file mechanism
-
-import
-  os, times
-
-include "sunset.tmpl"
-
-const
-  tabs = [["home", "index"],
-          ["news", "news"],
-          ["documentation", "documentation"],
-          ["download", "download"],
-          ["FAQ", "question"],
-          ["links", "links"]]
-
-
-var i = 0
-for item in items(tabs): 
-  var content = $i
-  var file: TFile
-  if open(file, changeFileExt(item[1], "html"), fmWrite): 
-    write(file, sunsetTemplate(current=item[1], ticker="", content=content,
-                               tabs=tabs))
-    close(file)
-  else:
-    write(stdout, "cannot open file for writing")
-  inc(i)
diff --git a/tests/compile/ttempl3.nim b/tests/compile/ttempl3.nim
deleted file mode 100755
index 7b2c70f79..000000000
--- a/tests/compile/ttempl3.nim
+++ /dev/null
@@ -1,42 +0,0 @@
-
-template withOpenFile(f: expr, filename: string, mode: TFileMode,
-                      actions: stmt): stmt =
-  block:
-    var f: TFile
-    if open(f, filename, mode):
-      try:
-        actions
-      finally:
-        close(f)
-    else:
-      quit("cannot open for writing: " & filename)
-    
-withOpenFile(txt, "ttempl3.txt", fmWrite):
-  writeln(txt, "line 1")
-  txt.writeln("line 2")
-  
-# Test zero argument template: 
-template ha: expr = myVar[0]
-  
-var
-  myVar: array[0..1, int]
-  
-ha = 1  
-echo(ha)
-
-
-# Test identifier generation:
-template prefix(name: expr): expr = `"hu" name`
-
-var `hu "XYZ"` = "yay"
-
-echo prefix(XYZ)
-
-template typedef(name: expr, typ: typeDesc) = 
-  type
-    `T name`* = typ
-    `P name`* = ref `T name`
-    
-typedef(myint, int)
-var x: PMyInt
-
diff --git a/tests/compile/ttempl4.nim b/tests/compile/ttempl4.nim
deleted file mode 100755
index a5ad2000f..000000000
--- a/tests/compile/ttempl4.nim
+++ /dev/null
@@ -1,8 +0,0 @@
-
-template `:=`(name, val: expr): stmt =
-  var name = val
-    
-ha := 1 * 4
-hu := "ta-da" == "ta-da"
-echo ha, hu
-
diff --git a/tests/compile/ttempl5.nim b/tests/compile/ttempl5.nim
deleted file mode 100644
index 85692e97b..000000000
--- a/tests/compile/ttempl5.nim
+++ /dev/null
@@ -1,5 +0,0 @@
-
-import mtempl5
-
-echo templ()
-
diff --git a/tests/compile/ttemplreturntype.nim b/tests/compile/ttemplreturntype.nim
deleted file mode 100755
index 642fa1b72..000000000
--- a/tests/compile/ttemplreturntype.nim
+++ /dev/null
@@ -1,4 +0,0 @@
-
-template `=~` (a: int, b: int): bool = false
-var foo = 2 =~ 3
-
diff --git a/tests/compile/tthread_generic.nim b/tests/compile/tthread_generic.nim
deleted file mode 100644
index beae4b652..000000000
--- a/tests/compile/tthread_generic.nim
+++ /dev/null
@@ -1,39 +0,0 @@
-discard """
-  cmd: "nimrod cc --hints:on --threads:on $# $#"
-"""
-
-type
-  TThreadFuncArgs[T] = object of TObject
-    a: proc(): T {.thread.}
-    b: proc(val: T) {.thread.}
-
-proc handleThreadFunc(arg: TThreadFuncArgs[int]){.thread.} =
-  var func = arg.a
-  var callback = arg.b
-  var output = func()
-  callback(output)
-
-proc `@||->`*[T](func: proc(): T {.thread.}, 
-                 callback: proc(val: T){.thread.}): TThread[TThreadFuncArgs[T]] =
-  var thr: TThread[TThreadFuncArgs[T]]
-  var args: TThreadFuncArgs[T]
-  args.a = func
-  args.b = callback
-  createThread(thr, handleThreadFunc, args)
-  return thr
-
-proc `||->`*[T](func: proc(): T{.thread.}, callback: proc(val: T){.thread.}) =
-  discard func @||-> callback
-
-when isMainModule:
-  import os
-  proc testFunc(): int {.thread.} =
-    return 1
-  proc callbackFunc(val: int) {.thread.} =
-    echo($(val))
-   
-  var thr = (testFunc @||-> callbackFunc)
-  echo("test")
-  joinThread(thr)
-  os.sleep(3000)
-
diff --git a/tests/compile/ttime.nim b/tests/compile/ttime.nim
deleted file mode 100755
index bad818816..000000000
--- a/tests/compile/ttime.nim
+++ /dev/null
@@ -1,6 +0,0 @@
-# test the new time module

-

-import

-  times

-

-write(stdout, $getTime())

diff --git a/tests/compile/ttuple1.nim b/tests/compile/ttuple1.nim
deleted file mode 100755
index 5787cc309..000000000
--- a/tests/compile/ttuple1.nim
+++ /dev/null
@@ -1,16 +0,0 @@
-const romanNumbers = [
-    ("M", 1000), ("D", 500), ("C", 100),
-    ("L", 50), ("X", 10), ("V", 5), ("I", 1) ]
-
-var c = 0
-for key, val in items(romanNumbers):
-  inc(c)
-  stdout.write(key & "=" & $val)
-  if c < romanNumbers.len: stdout.write(", ") else: echo""
-#echo""
-
-proc PrintBiTuple(t: tuple[k: string, v: int]): int =
-  stdout.write(t.k & "=" & $t.v & ", ")
-  return 0
-  
-
diff --git a/tests/compile/ttypeconverter1.nim b/tests/compile/ttypeconverter1.nim
deleted file mode 100755
index b9a5e88ae..000000000
--- a/tests/compile/ttypeconverter1.nim
+++ /dev/null
@@ -1,8 +0,0 @@
-
-converter p(i: int): bool = return i != 0
-
-if 1:
-  echo if 4: "foo" else: "barr"
-while 0: 
-  echo "bar"
-
diff --git a/tests/compile/ttypeselectors.nim b/tests/compile/ttypeselectors.nim
deleted file mode 100644
index 7d76cafef..000000000
--- a/tests/compile/ttypeselectors.nim
+++ /dev/null
@@ -1,37 +0,0 @@
-import macros
-
-template selectType(x: int): typeDesc =
-  when x < 10:
-    int
-  else:
-    string
-
-template simpleTypeTempl: typeDesc =
-  string
-
-macro typeFromMacro(s: expr): typeDesc =
-  result = newIdentNode"string"
-  
-proc t1*(x: int): simpleTypeTempl() =
-  result = "test"
-
-proc t2*(x: int): selectType(100) =
-  result = "test"
-
-proc t3*(x: int): selectType(1) =
-  result = 10
-
-proc t4*(x: int): typeFromMacro() =
-  result = "test"
-
-var x*: selectType(50) = "test"
-
-proc t5*(x: selectType(5)) =
-  var y = x + 10
-  echo y
-
-var y*: type(t2(100)) = "test"
-
-proc t6*(x: type(t3(0))): type(t1(0)) =
-  result = $x
-
diff --git a/tests/compile/tuserpragma.nim b/tests/compile/tuserpragma.nim
deleted file mode 100755
index 784baa176..000000000
--- a/tests/compile/tuserpragma.nim
+++ /dev/null
@@ -1,7 +0,0 @@
-
-{.pragma: rtl, cdecl, exportc.}
-
-proc myproc(x, y: int): int {.rtl} =
-  nil
-
-
diff --git a/tests/compile/tvarious.nim b/tests/compile/tvarious.nim
deleted file mode 100755
index 52dd46184..000000000
--- a/tests/compile/tvarious.nim
+++ /dev/null
@@ -1,43 +0,0 @@
-# Test various aspects

-

-import

-  mvarious

-

-type

-  PA = ref TA

-  PB = ref TB

-

-  TB = object

-    a: PA

-

-  TA = object

-    b: TB

-    x: int

-

-proc getPA(): PA =

-  var

-    b: bool

-  b = not false

-  return nil

-

-var

-  global: int

-

-var

-  s: string

-  i: int

-  r: TA

-

-r.b.a.x = 0

-global = global + 1

-exportme()

-write(stdout, "Hallo wie heißt du? ")

-write(stdout, getPA().x)

-s = readLine(stdin)

-i = 0

-while i < s.len:

-  if s[i] == 'c': write(stdout, "'c' in deinem Namen gefunden\n")

-  i = i + 1

-

-write(stdout, "Du heißt " & s)

-

diff --git a/tests/compile/tvoid.nim b/tests/compile/tvoid.nim
deleted file mode 100644
index b286010dc..000000000
--- a/tests/compile/tvoid.nim
+++ /dev/null
@@ -1,33 +0,0 @@
-discard """
-  output: "he, no return type;abc a string"
-"""
-
-proc ReturnT[T](x: T): T =
-  when T is void:
-    echo "he, no return type;"
-  else:
-    result = x & " a string"
-
-proc nothing(x, y: void): void =
-  echo "ha"
-
-proc callProc[T](p: proc (x: T), x: T) =
-  when T is void: 
-    p()
-  else:
-    p(x)
-
-proc intProc(x: int) =
-  echo x
-  
-proc emptyProc() =
-  echo "empty"
-
-callProc[int](intProc, 12)
-callProc[void](emptyProc)
-
-
-ReturnT[void]()
-echo ReturnT[string]("abc")
-nothing()
-
diff --git a/tests/compile/twalker.nim b/tests/compile/twalker.nim
deleted file mode 100755
index 3fdd8769b..000000000
--- a/tests/compile/twalker.nim
+++ /dev/null
@@ -1,13 +0,0 @@
-# iterate over all files with a given filter:

-

-import

-  os, times

-

-proc main(filter: string) =

-  for filename in walkFiles(filter):

-    writeln(stdout, filename)

-

-  for key, val in envPairs():

-    writeln(stdout, key & '=' & val)

-

-main("*.nim")

diff --git a/tests/compile/typalias.nim b/tests/compile/typalias.nim
deleted file mode 100755
index ba9f38ed9..000000000
--- a/tests/compile/typalias.nim
+++ /dev/null
@@ -1,15 +0,0 @@
-
-type
-  TMyObj = TYourObj
-  TYourObj = object of TObject
-    x, y: int
-  
-proc init: TYourObj =
-  result.x = 0
-  result.y = -1
-  
-proc f(x: var TYourObj) =
-  nil
-  
-var m: TMyObj = init()
-f(m)