summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2014-08-14 03:02:36 +0200
committerAraq <rumpf_a@web.de>2014-08-14 03:02:36 +0200
commit65587f726e39af1c8e84c927db8ac26403f02d27 (patch)
tree8f11a72caf4ad4d6f98e2f2abfde074d55864198 /compiler
parent8f5bf0652828e1a477494976e40c1839270c2747 (diff)
downloadNim-65587f726e39af1c8e84c927db8ac26403f02d27.tar.gz
fixes #1433
Diffstat (limited to 'compiler')
-rw-r--r--compiler/vmgen.nim2
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler/vmgen.nim b/compiler/vmgen.nim
index fd0c3fc69..adbca8cca 100644
--- a/compiler/vmgen.nim
+++ b/compiler/vmgen.nim
@@ -1093,6 +1093,8 @@ proc setSlot(c: PCtx; v: PSym) =
   # XXX generate type initialization here?
   if v.position == 0:
     if c.prc.maxSlots == 0: c.prc.maxSlots = 1
+    if c.prc.maxSlots >= high(TRegister):
+      internalError(v.info, "cannot generate code; too many registers required")
     v.position = c.prc.maxSlots
     c.prc.slots[v.position] = (inUse: true,
         kind: if v.kind == skLet: slotFixedLet else: slotFixedVar)