From fc15b02511c254cad103fd0967777705e5482ae5 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Fri, 26 Oct 1990 23:09:48 +0000
Subject: [PATCH] Added *suppress-values-declaration* so that we can compile
 CLX, pending some sort of decision of what we should really do.

---
 compiler/ir1tran.lisp | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/compiler/ir1tran.lisp b/compiler/ir1tran.lisp
index 4d589a2a7..9c3e92057 100644
--- a/compiler/ir1tran.lisp
+++ b/compiler/ir1tran.lisp
@@ -14,7 +14,8 @@
 ;;;
 (in-package 'c)
 
-(export '(*compile-time-define-macros* *converting-for-interpreter*))
+(export '(*compile-time-define-macros* *converting-for-interpreter*
+	  *suppress-values-declaration*))
 
 (in-package 'ext)
 (export '(ignorable truly-the maybe-inline *derive-function-types*))
@@ -839,6 +840,10 @@
   (undefined-value))
 
 
+(defvar *suppress-values-declaration* nil
+  "If true, processing of the VALUES declaration is inhibited.")
+
+
 ;;; PROCESS-1-DECLARATION  --  Internal
 ;;;
 ;;;    Process a single declaration spec, agumenting the specified LEXENV
@@ -872,11 +877,13 @@
     (type
      (process-type-declaration (cdr spec) res vars))
     (values
-     (let ((types (cdr spec)))
-       (do-the-stuff (if (null (cdr types))
-			 (car types)
-			 `(values ,@types))
-		     cont res 'values)))
+     (if *suppress-values-declaration*
+	 res
+	 (let ((types (cdr spec)))
+	   (do-the-stuff (if (null (cdr types))
+			     (car types)
+			     `(values ,@types))
+			 cont res 'values))))
     (t
      (let ((what (first spec)))
        (cond ((member what type-specifier-symbols)
-- 
GitLab