From fadc625dd8f01b526a90306a42e7b51f4cadedb9 Mon Sep 17 00:00:00 2001 From: Arthur Gleckler Date: Wed, 1 Apr 1992 19:08:50 +0000 Subject: [PATCH] Make wrong-arity primitives cause an error in addition to a warning. (Jinx and Arthur) --- v7/src/compiler/rtlgen/rgcomb.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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) -- 2.25.1