[Openmcl-cvs-notifications] r11157 - /trunk/source/compiler/nx1.lisp
gz at clozure.com
gz at clozure.com
Sat Oct 18 14:15:21 EDT 2008
Author: gz
Date: Sat Oct 18 14:15:21 2008
New Revision: 11157
Log:
>From working-0711 branch:
r9416: when processing a (nested) %defun, encode the arglist info in compi=
le-time function info
r10996: no dup definition warnings inside conditionals
Modified:
trunk/source/compiler/nx1.lisp
Modified: trunk/source/compiler/nx1.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/nx1.lisp (original)
+++ trunk/source/compiler/nx1.lisp Sat Oct 18 14:15:21 2008
@@ -999,7 +999,10 @@
(if (null false)
(return-from nx1-if (nx1-form `(progn ,test nil)))
(psetq test `(not ,test) true false false true)))
- (make-acode (%nx1-operator if) (nx1-form test) (nx1-form true) (nx1-for=
m false)))
+ (let ((test-form (nx1-form test))
+ ;; Once hit a conditional, no more duplicate warnings
+ (*compiler-warn-on-duplicate-definitions* nil))
+ (make-acode (%nx1-operator if) test-form (nx1-form true) (nx1-form fal=
se))))
=
(defnx1 nx1-%debug-trap dbg (&optional arg)
(make-acode (%nx1-operator %debug-trap) (nx1-form arg)))
@@ -1175,7 +1178,7 @@
(eq (%car def) 'nfunction)
(consp (%cdr def))
(or (symbolp (%cadr def)) (setf-function-name-p (%cadr def))))
- (note-function-info (%cadr def) nil env))
+ (note-function-info (%cadr def) (caddr def) env))
(nx1-treat-as-call w))
=
=
@@ -1209,8 +1212,8 @@
(setf (afunc-fn-refcount afunc) 1)
(nx1-afunc-ref afunc))
=
-(defun nx1-compile-inner-function (name def =
- &optional p (env *nx-lexical-envir=
onment*) =
+(defun nx1-compile-inner-function (name def p
+ &optional (env *nx-lexical-environ=
ment*)
&aux (q *nx-current-function*))
(unless p (setq p (make-afunc)))
(setf (afunc-parent p) q)
More information about the Openmcl-cvs-notifications
mailing list