Hello Liam (& others)

I am using SBCL 1.014 and GSL with a timestamp from march of this year.

I am trying to use the lu.lisp library and cannot compile the invert-matrix example.  The error message is "deleting unreachable code" at the (letm.
If I comment out the calls to lu-... and (data-inv) and do instead (data mmat), then it will compile.

I am including the transcript at the end of this message.

Any clue as to what could be wrong?

Thanks,

Mirko


CL-USER> (in-package :gsl)
#<PACKAGE "GSLL">
GSL> (defun invert-matrix (mat)
  "Invert the matrix."
  (letm ((mmat (matrix-double-float mat))
     (dim (array-dimension mat 0))
     (per (permutation dim))
     (inv (matrix-double-float dim dim)))
    (lu-decomp mmat per)
    (lu-invert mmat per inv)
    (data inv)))
; in: LAMBDA NIL
;     (GSLL:LETM
;    ((GSLL::MMAT (GSLL:MATRIX-DOUBLE-FLOAT GSLL::MAT))
;     (GSLL::DIM (ARRAY-DIMENSION GSLL::MAT 0))
;     (GSLL::PER (GSLL:PERMUTATION GSLL::DIM))
;     (GSLL::INV (GSLL:MATRIX-DOUBLE-FLOAT GSLL::DIM GSLL::DIM)))
;    (GSLL:LU-DECOMP GSLL::MMAT GSLL::PER)
;    (GSLL:LU-INVERT GSLL::MMAT GSLL::PER GSLL::INV) (GSLL:DATA GSLL::INV))
; --> LET* UNWIND-PROTECT FLET BLOCK MULTIPLE-VALUE-BIND
; --> MULTIPLE-VALUE-CALL BLOCK SB-C::%WITHIN-CLEANUP RETURN-FROM PROGN
; --> UNLESS COND IF PROGN SETF LET*
; ==>
;   GSLL::PER
;
; note: deleting unreachable code

; ==>
;   GSLL::INV
;
; note: deleting unreachable code
;
; compilation unit finished
;   printed 2 notes
STYLE-WARNING: redefining INVERT-MATRIX in DEFUN
INVERT-MATRIX