[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] Re: specious warning?
From: |
Camm Maguire |
Subject: |
[Gcl-devel] Re: specious warning? |
Date: |
15 Mar 2006 22:21:58 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings! The compiler currently wraps (and always has wrapped) the
branching form in a (the boolean ..) to make use of o\inline
optimizers in gcl_cmpopt.lsp which require a boolean result. With the
more complete type system, boolean is mow `(member t nil), which does
not intersect with the return type of list. The wrapping/optimizer
relationships need to be rethought now.
Take care,
Robert Boyer <address@hidden> writes:
> This new compiler warning in very old code is suspicious. Could be a new,
> overly zealous type inference!
>
> Bob
>
> % xg
> GCL (GNU Common Lisp) 2.7.0 ANSI Mar 15 2006 18:07:14
> Source License: LGPL(gcl,gmp,pargcl), GPL(unexec,bfd)
> Binary License: GPL due to GPL'ed components: (BFD UNEXEC)
> Modifications of this banner must retain notice of a compatible license
> Dedicated to the memory of W. Schelter
>
> Use (help) to get some basic information on how to use GCL.
> Temporary directory for compiler files set to /tmp/
>
> >(DEFUN FOO () (LET (I (LIS1 (NREVERSE (GET-STACK-NAME1 NIL))))
> (LET (COLL1 POIN1 VAL1)
> (MACROLET
> ((SLOCAL-FINISH NIL (LIST 'GO 'SCFINISH-LOOP))
> (SLOOP-FINISH NIL (LIST 'GO 'SCFINISH-LOOP))
> (SLOOP-RETURN (&REST SCVALS)
> (LIST 'RETURN-FROM 'NIL (LIST* 'VALUES SCVALS))))
> (BLOCK ()
> (TAGBODY
> SCNEXT-LOOP
> (AND (NULL LIS1) (SLOCAL-FINISH))
> (SCDESETQ I (CAR LIS1))
> (SETF VAL1 (LIST '|.| I))
> (COND
> (POIN1
> (AND (SETF (CDR POIN1) VAL1)
> (SETF POIN1 (LAST (CDR POIN1)))))
> (T (SETF POIN1 (LAST (SETF COLL1 VAL1)))))
> (SETF LIS1 (CDR LIS1))
> (GO SCNEXT-LOOP)
> SCFINISH-LOOP
> (RETURN-FROM () COLL1)
> (SLOOP-RETURN NIL)))))))
>
> FOO
>
> >(compile *)
>
> ;; Compiling /tmp/gazonk_17844_0.lsp.
> ; (DEFUN FOO ...) is being compiled.
> ;; Warning: Type mismatch was found in (THE BOOLEAN
> (SETF (CDR POIN1) VAL1)).
> ;; Warning: Type mismatch was found in (THE BOOLEAN
> (SETF (CDR POIN1) VAL1)).
> ;; End of Pass 1.
> ;; End of Pass 2.
> /tmp/gazonk_17844_0.c:400: warning: `__huge_val' defined but not used
> ;; OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3,
> (Debug quality ignored)
> ;; Finished compiling /tmp/gazonk_17844_0.o.
> Loading /tmp/gazonk_17844_0.o
> start address -T 0xab5ebb0 Finished loading /tmp/gazonk_17844_0.o
> #<compiled-function FOO>
> NIL
> NIL
>
> >
>
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gcl-devel] Re: specious warning?,
Camm Maguire <=