Change assignements in COMPILE so that the function does not violate the type declaration of its argument.

This commit is contained in:
Juan Jose Garcia Ripoll 2011-12-27 16:59:09 +01:00
parent 93f4e8638c
commit a25dfa49ac

View file

@ -797,23 +797,25 @@ after compilation."
(cmp-delete-file h-pathname)
(cmp-delete-file o-pathname)
(mapc 'cmp-delete-file tmp-names)
(cond ((probe-file so-pathname)
(load so-pathname :verbose nil)
(cmp-delete-file so-pathname)
(setf name (or name (symbol-value 'GAZONK)))
;; By unsetting GAZONK we avoid spurious references to the
;; loaded code.
(set 'GAZONK nil)
(si::gc t)
(values name nil nil))
(cmp-delete-file so-pathname))
(t
(setf name nil)
(set 'GAZONK nil)
(cmperr "The C compiler failed to compile the intermediate code for ~s." name)))
) ; with-compiler-env
(cmp-delete-file c-pathname)
(cmp-delete-file h-pathname)
(cmp-delete-file so-pathname)
(mapc 'cmp-delete-file tmp-names)
(compiler-output-values name compiler-conditions)))
(let ((output (or name (symbol-value 'GAZONK))))
;; By unsetting GAZONK we avoid spurious references to the
;; loaded code.
(set 'GAZONK nil)
(si::gc t)
(compiler-output-values output compiler-conditions))))
(defun disassemble (thing &key (h-file nil) (data-file nil)
&aux def disassembled-form