d60bed4
Description: <short summary of the patch>
d60bed4
 TODO: Put a short summary on the line above and replace this paragraph
d60bed4
 with a longer explanation of this change. Complete the meta-information
d60bed4
 with other relevant fields (see below for details). To make it easier, the
d60bed4
 information below has been extracted from the changelog. Adjust it or drop
d60bed4
 it.
d60bed4
 .
d60bed4
 gcl (2.6.12-83) unstable; urgency=high
d60bed4
 .
d60bed4
   * Version_2_6_13pre79
d60bed4
   * Fix acl2 arm builds (Closes: #919477).
d60bed4
Author: Camm Maguire <camm@debian.org>
d60bed4
Bug-Debian: https://bugs.debian.org/919477
d60bed4
d60bed4
---
d60bed4
The information above should follow the Patch Tagging Guidelines, please
d60bed4
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
d60bed4
are templates for supplementary fields that you might want to add:
d60bed4
d60bed4
Origin: <vendor|upstream|other>, <url of original patch>
d60bed4
Bug: <url in upstream bugtracker>
d60bed4
Bug-Debian: https://bugs.debian.org/<bugnumber>
d60bed4
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
d60bed4
Forwarded: <no|not-needed|url proving that it has been forwarded>
d60bed4
Reviewed-By: <name and email of someone who approved the patch>
d60bed4
Last-Update: 2019-03-21
d60bed4
d60bed4
--- gcl-2.6.12.orig/h/notcomp.h
d60bed4
+++ gcl-2.6.12/h/notcomp.h
d60bed4
@@ -175,7 +175,7 @@ TS_MEMBER(t0,TS(t1)|TS(t2)|TS(t3)...)
d60bed4
 #define TS(s) (1<
d60bed4
 #define TS_MEMBER(t1,ts) ((TS(t1)) & (ts))
d60bed4
 
d60bed4
-#define ASSURE_TYPE(val,t) if(type_of(val)!=t) val= Icheck_one_type(val,t)
d60bed4
+#define ASSURE_TYPE(val,t) if (type_of(val)!=t) TYPE_ERROR(val,type_name(t))
d60bed4
 
d60bed4
 object IisArray();
d60bed4
 
d60bed4
--- gcl-2.6.12.orig/o/alloc.c
d60bed4
+++ gcl-2.6.12/o/alloc.c
d60bed4
@@ -526,16 +526,9 @@ exhausted_report(enum type t,struct type
d60bed4
 
d60bed4
   available_pages+=resv_pages;
d60bed4
   resv_pages=0;
d60bed4
-  vs_push(type_name(t));
d60bed4
-  vs_push(make_fixnum(tm->tm_npage));
d60bed4
-  CEerror("The storage for ~A is exhausted.~%\
d60bed4
-Currently, ~D pages are allocated.~%	     \
d60bed4
-Use ALLOCATE to expand the space.",
d60bed4
-	  "Continues execution.",
d60bed4
-	  2, vs_top[-2], vs_top[-1], Cnil, Cnil);
d60bed4
-
d60bed4
-  vs_popp;
d60bed4
-  vs_popp;
d60bed4
+  CEerror("Continues execution.",
d60bed4
+	  "The storage for ~A is exhausted. ~D pages allocated. Use ALLOCATE to expand the space.",
d60bed4
+	  2, type_name(t), make_fixnum(tm->tm_npage));
d60bed4
 
d60bed4
   call_after_gbc_hook(t);
d60bed4
 
d60bed4
--- gcl-2.6.12.orig/o/array.c
d60bed4
+++ gcl-2.6.12/o/array.c
d60bed4
@@ -211,14 +211,18 @@ DEFUN_NEW("ASET1", object, fSaset1, SI,
d60bed4
       break;
d60bed4
     case aet_bit:
d60bed4
       i +=  BV_OFFSET(x);
d60bed4
-    AGAIN_BIT: 
d60bed4
       ASSURE_TYPE(val,t_fixnum);
d60bed4
-      {int v = Mfix(val);
d60bed4
-       if (v == 0) CLEAR_BITREF(x,i);
d60bed4
-       else if (v == 1) SET_BITREF(x,i);
d60bed4
-       else {val= fSincorrect_type(val,sLbit);
d60bed4
-	     goto AGAIN_BIT;}
d60bed4
-       break;}
d60bed4
+      switch (Mfix(val)) {
d60bed4
+      case 0:
d60bed4
+	CLEAR_BITREF(x,i);
d60bed4
+	break;
d60bed4
+      case 1:
d60bed4
+	SET_BITREF(x,i);
d60bed4
+	break;
d60bed4
+      default:
d60bed4
+	TYPE_ERROR(val,sLbit);
d60bed4
+      }
d60bed4
+      break;
d60bed4
     case aet_fix:
d60bed4
       ASSURE_TYPE(val,t_fixnum);
d60bed4
       (x->fixa.fixa_self[i]) = Mfix(val);
d60bed4
--- gcl-2.6.12.orig/o/utils.c
d60bed4
+++ gcl-2.6.12/o/utils.c
d60bed4
@@ -169,20 +169,6 @@ Ifuncall_n(object fun,int n,...) {
d60bed4
 /*   return res; */
d60bed4
 /* } */
d60bed4
 
d60bed4
-object
d60bed4
-Icheck_one_type(object x, enum type t)
d60bed4
-{ if (x->d.t != t)
d60bed4
-    { return CEerror("Expected a ~a ","Supply right type",1,type_name(t),Cnil,Cnil,Cnil);
d60bed4
-    }
d60bed4
-  return x;
d60bed4
-}
d60bed4
-
d60bed4
-
d60bed4
-object
d60bed4
-fSincorrect_type(object val, object type)
d60bed4
-{ return CEerror("Got ~a,Expected a ~a","Supply a new one",1,val,type,Cnil,Cnil);
d60bed4
-}
d60bed4
-
d60bed4
 /* static void */
d60bed4
 /* Ineed_in_image(object (*foo) (/\* ??? *\/)) */
d60bed4
 /* {;} */