[Ecls-list] Internal unused variable leaking through

Tobias C. Rittweiler tcr at freebits.de
Sun Feb 7 00:11:10 UTC 2010


"Tobias C. Rittweiler" <tcr at freebits.de>
writes:

> ;;; /tmp/frob.lisp
>
> (defun import-from (package symbol-names &optional (to-package *package*))
>   "Import the list of SYMBOL-NAMES found in the package PACKAGE."
>   (dolist (name symbol-names)
>     (multiple-value-bind (symbol found) (find-symbol (string name) package)
>       (assert found () "Symbol ~A not found in package ~A" name package)
>       (import symbol to-package))))
>
>
> CL-USER> (compile-file "/tmp/frob.lisp")
> ;;; Compiling /tmp/frob.lisp.
> ;;; OPTIMIZE levels: Safety=3, Space=0, Speed=1, Debug=3
> ;;; Compiling (DEFUN IMPORT-FROM ...).
> ;;; Note: in file /tmp/frob.lisp, position 0, and form 
> ;;;   (FSET 'IMPORT-FROM #'(LAMBDA-BLOCK IMPORT-FROM # ...))
> ;;; Removing unused variable G14
> ;;; End of Pass 1.
> ;;; Emitting code for IMPORT-FROM.
> ;;; Emitting code for #:G12.
> ;;; Emitting code for #:G13.
> ;;; Note: Invoking external command:
> ;;;   gcc "-I/home/tcr/software/ecl-git/include/"  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fPIC  -D_THREAD_SAFE -Dlinux  -w -c "/tmp/frob.c" -o "/tmp/frob.o"
> ;;; Note: Invoking external command:
> ;;;   gcc -o "/tmp/frob.fas" -L"/home/tcr/software/ecl-git/lib/" "/tmp/frob.o"   -shared    -lecl  -lgmp -lpthread -ldl  -lm 
> ;;; Finished compiling /tmp/frob.lisp.
>
>
> The note regarding "Removing unused variable G14" seems to come from
> internal code.

And yet another one:

(defun read-form (string)
  (with-standard-io-syntax
    (let ((*package* (find-package :cl-user)))
      (read-from-string string))))

;;; Compiling /tmp/frob.lisp.
;;; OPTIMIZE levels: Safety=3, Space=0, Speed=1, Debug=3
;;; Compiling (DEFUN READ-FORM ...).
;;; Variable +IO-SYNTAX-PROGV-LIST+ was undefined. Compiler assumes it is a global.
;;; Variable +IO-SYNTAX-PROGV-LIST+ was undefined. Compiler assumes it is a global.
;;; End of Pass 1.
;;; Emitting code for READ-FORM.
;;; Note: Invoking external command:
;;;   gcc "-I/home/tcr/software/ecl-git/include/"  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fPIC  -D_THREAD_SAFE -Dlinux  -w -c "/tmp/frob.c" -o "/tmp/frob.o"
;;; Note: Invoking external command:
;;;   gcc -o "/tmp/frob.fas" -L"/home/tcr/software/ecl-git/lib/" "/tmp/frob.o"   -shared    -lecl  -lgmp -lpthread -ldl  -lm 
;;; Finished compiling /tmp/frob.lisp.


  -T.





More information about the ecl-devel mailing list