From: Arthur Gleckler Date: Wed, 1 Apr 1992 19:08:50 +0000 (+0000) Subject: Make wrong-arity primitives cause an error in addition to a warning. X-Git-Tag: 20090517-FFI~9532 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=fadc625dd8f01b526a90306a42e7b51f4cadedb9;p=mit-scheme.git Make wrong-arity primitives cause an error in addition to a warning. (Jinx and Arthur) --- diff --git a/v7/src/compiler/rtlgen/rgcomb.scm b/v7/src/compiler/rtlgen/rgcomb.scm index f10ab8e7d..573795067 100644 --- a/v7/src/compiler/rtlgen/rgcomb.scm +++ b/v7/src/compiler/rtlgen/rgcomb.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgcomb.scm,v 4.16 1991/05/06 22:43:36 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgcomb.scm,v 4.17 1992/04/01 19:08:50 arthur Exp $ Copyright (c) 1988-1991 Massachusetts Institute of Technology @@ -159,7 +159,14 @@ MIT in each case. |# model ; ignored (scfg*scfg->scfg! (prefix frame-size 0) - (let ((primitive (constant-value (rvalue-known-value operator)))) + (let* ((primitive (constant-value (rvalue-known-value operator))) + (arity (primitive-procedure-arity primitive))) + (if (not (or (= arity -1) + (= arity frame-size))) + (error "Primitive called with incorrect number of arguments." + primitive + arity + frame-size)) ((or (special-primitive-handler primitive) rtl:make-invocation:primitive) (1+ frame-size)