<short summary of the patch>
authorCamm Maguire <camm@debian.org>
Thu, 11 Aug 2022 17:16:42 +0000 (18:16 +0100)
committerCamm Maguire <camm@debian.org>
Thu, 11 Aug 2022 17:16:42 +0000 (18:16 +0100)
TODO: Put a short summary on the line above and replace this paragraph
with a longer explanation of this change. Complete the meta-information
with other relevant fields (see below for details). To make it easier, the
information below has been extracted from the changelog. Adjust it or drop
it.

gcl (2.6.12-75) unstable; urgency=medium

  * Version_2_6_13pre65

Gbp-Pq: Name Version_2_6_13pre66

cmpnew/gcl_cmpmulti.lsp
configure
configure.in
o/usig.c

index db2a3fe92030d9d8518b0f3b51e35abb38a1e076..39a9a86ee1553707ee231dce1d64b5a2b948044d 100755 (executable)
                (cmpwarn "~A was proclaimed to have only one return value. ~%;But you appear to want multiple values." fname))))))
                
 (defun c2multiple-value-setq (vrefs form &aux top-data)
-    (multiple-value-check vrefs form)
+  (multiple-value-check vrefs form)
   (let ((*value-to-go* 'top)*top-data*)
     (c2expr* form) (setq top-data *top-data*))
   (and *record-call-info* (record-call-info nil (car top-data)))
+  (wt-nl "if(vs_base>vs_top) vs_top=vs_base;*vs_top=Cnil;")
   (do ((vs vrefs (cdr vs)))
       ((endp vs))
-      (declare (object vs))
       (let ((vref (car vs)))
-           (declare (object vref))
-           (wt-nl "if(vs_base<vs_top){")
-           (set-var 'fun-val (car vref) (cadr vref))
-           (unless (endp (cdr vs)) (wt-nl "vs_base++;"))
-           (wt-nl "}else{") (set-var nil (car vref) (cadr vref))
-           (wt "}"))
-      )
+       (set-var 'fun-val (car vref) (cadr vref))
+       (unless (endp (cdr vs)) (wt-nl "if(vs_base<vs_top) vs_base++;"))))
   (cond ((null vrefs)
-         (wt-nl "if(vs_base=vs_top){vs_base[0]=Cnil;vs_top=vs_base+1;}")
+         (wt-nl "if(vs_base==vs_top){vs_base[0]=Cnil;vs_top=vs_base+1;}")
          (unwind-exit 'fun-val))
         (t (unless (eq *exit* 'return) (wt-nl) (reset-top))
-           (unwind-exit (cons 'var (car vrefs)))))
-  )
+           (unwind-exit (cons 'var (car vrefs))))))
 
 (defun c1multiple-value-bind (args &aux (info (make-info))
                                    (vars nil) (vnames nil) init-form
index 33aba5c18d9a9c6ad4fa59e5573fa161b1075daf..16042d5ae576cac6a6aeecf48096c3edda20f8b3 100755 (executable)
--- a/configure
+++ b/configure
@@ -4121,6 +4121,7 @@ $as_echo_n "checking working gprof... " >&6; }
                       s390*) enableval="no";;#mcount smashes float args in make_shortfloat 20180313
                       sh4*)  enableval="no";;
                       ia64*) enableval="no";;
+                      alpha*) enableval="no";;#write_stub currently depends on t12 set in call
                       hppa*) enableval="no";;
                       arm*)  enableval="no";;#FIXME mcount compiled as a 24/22 bit reloc even with -mlong-calls, marginally accessible
                       aarch64*) enableval="no";;#unreproducible buildd bug 20170824
@@ -4132,7 +4133,9 @@ $as_echo "disabled" >&6; }
                   else
                       { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
 $as_echo "ok" >&6; }
-                      assert_arg_to_cflags -pg
+                      OLD_CFLAGS=$CFLAGS  # Do not run configure tests with -pg
+                       assert_arg_to_cflags -pg
+                      CFLAGS=$OLD_CFLAGS
                               TFPFLAG=""
 
 $as_echo "#define GCL_GPROF 1" >>confdefs.h
index 6cc7f9707b3c4b3a74cd38be1e818af92f2a9c80..8fa8d0ff80ed0949427f08bd23e4fbec80eb67c7 100644 (file)
@@ -334,6 +334,7 @@ AC_ARG_ENABLE([gprof],[  --enable-gprof builds gcl with -pg in CFLAGS to enable
                       s390*) enableval="no";;#mcount smashes float args in make_shortfloat 20180313
                       sh4*)  enableval="no";;
                       ia64*) enableval="no";;
+                      alpha*) enableval="no";;#write_stub currently depends on t12 set in call
                       hppa*) enableval="no";;
                       arm*)  enableval="no";;#FIXME mcount compiled as a 24/22 bit reloc even with -mlong-calls, marginally accessible
                       aarch64*) enableval="no";;#unreproducible buildd bug 20170824
@@ -343,25 +344,11 @@ AC_ARG_ENABLE([gprof],[  --enable-gprof builds gcl with -pg in CFLAGS to enable
                       AC_MSG_RESULT([disabled])
                   else
                       AC_MSG_RESULT([ok])
-                      assert_arg_to_cflags -pg
+                      OLD_CFLAGS=$CFLAGS  # Do not run configure tests with -pg
+                       assert_arg_to_cflags -pg
+                      CFLAGS=$OLD_CFLAGS
                               TFPFLAG=""
                       AC_DEFINE(GCL_GPROF,1,[use gprof profiling])
-dnl                   AC_MSG_CHECKING([for text start])
-dnl                   echo 'int main () {return(0);}' >foo.c
-dnl                   $CC foo.c -o foo
-dnl                   GCL_GPROF_START=`nm foo | $AWK  '/  *[[TD]]  *__*start$/ {print $NF}'` # D for ppc64 -- FIXME custreloc
-dnl                   rm -f foo.c foo
-dnl                   if test "$GCL_GPROF_START" != "" ; then
-dnl                       AC_MSG_RESULT($GCL_GPROF_START)
-dnl                       AC_DEFINE_UNQUOTED(GCL_GPROF_START,$GCL_GPROF_START,[starting address for gprof])
-dnl                       assert_arg_to_cflags -pg
-dnl #                     case $use in
-dnl #                         s390*) ;; # relocation truncation bug in gcc
-dnl #                         *) TLIBS="$TLIBS -pg";;
-dnl #                     esac
-dnl                               TFPFLAG=""
-dnl                       AC_DEFINE(GCL_GPROF,1,[use gprof profiling])
-dnl                   fi
                   fi
               fi])
 
index f38c5e51e4966fff4c1dd73dc9bd77dafebfe1c6..148aecb6c0a4e501211794b159691f68a3d3bf61 100755 (executable)
--- a/o/usig.c
+++ b/o/usig.c
@@ -150,7 +150,7 @@ DEFUN_NEW("FLD",object,fSfld,SI,1,1,NONE,OI,OO,OO,OO,(fixnum val),"") {
 
 /* For now ignore last three args governing offsets and data modification, just to
    support fpe sync with master*/
-DEFUN_NEW("*FIXNUM",object,fSAfixnum,SI,4,4,NONE,OI,OO,OO,OO,(fixnum addr,object x,object y,object z),"") {
+DEFUN_NEW("*FIXNUM",object,fSAfixnum,SI,4,4,NONE,II,OO,OO,OO,(fixnum addr,object x,object y,object z),"") {
   RETURN1((object)*(fixnum *)addr);
 }
 DEFUN_NEW("*FLOAT",object,fSAfloat,SI,4,4,NONE,OI,OO,OO,OO,(fixnum addr,object x,object y,object z),"") {