(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
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
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
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
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])
/* 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),"") {