Greetings, and thanks! The issue here is that I had inserted code, one someone's request now forgotted, to make sqrt return an integer like isqrt when givn an appropriate integer on input. This fouls up the normal real contagion rules and makes type propagation impossible. There is an ugly work around, but I'd like to know if we can't just make (sqrt 0) -> 0.0.
Take care, Robert Boyer <[EMAIL PROTECTED]> writes: > Here is an easy to produce segmentation violation. This is basically ANSI > test sqrt.1, compiled. > > Bob > > ------------------------------------------------------------------------------- > > GCL (GNU Common Lisp) 2.7.0 ANSI Mar 24 2006 18:11:06 > > >(defun foo () (let ((s (sqrt 0))) (and (realp s) (= s 0)))) > > FOO > > >(compile *) > > ;; Compiling /tmp/gazonk_27317_0.lsp. > ;; End of Pass 1. > ;; End of Pass 2. > ;; OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3, > (Debug quality ignored) > ;; Finished compiling /tmp/gazonk_27317_0.o. > Loading /tmp/gazonk_27317_0.o > start address -T 0xab138e8 Finished loading /tmp/gazonk_27317_0.o > #<compiled-function FOO> > NIL > NIL > > >(foo) > Segmentation violation: c stack ok:signalling error > Error in EVAL [or a callee]: Caught fatal error [memory may be damaged]: > Segmentation violation. > > Fast links are on: do (si::use-fast-links nil) for debugging > Broken at CONDITIONS::CLCS-UNIVERSAL-ERROR-HANDLER. Type :H for Help. > 1 (Continue) Return to top level. > dbl:>> > > > -- Camm Maguire [EMAIL PROTECTED] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gcl-devel
