[giac] 01/02: Fix build for machines that have 48-bit virtual addresses

Ximin Luo infinity0 at debian.org
Thu Jul 20 12:59:05 UTC 2017


This is an automated email from the git hooks/post-receive script.

infinity0 pushed a commit to branch master
in repository giac.

commit 075cd498f2590ed067e73da827a5cb07b4d1aa5b
Author: Ximin Luo <infinity0 at debian.org>
Date:   Thu Jul 20 14:18:37 2017 +0200

    Fix build for machines that have 48-bit virtual addresses
---
 debian/changelog                     |   6 +
 debian/patches/fix-48-bit-addr.patch | 810 +++++++++++++++++++++++++++++++++++
 debian/patches/series                |   1 +
 3 files changed, 817 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 61d5dad..30154d9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+giac (1.2.3.53+dfsg1-3) UNRELEASED; urgency=medium
+
+  * Fix build for machines that have 48-bit virtual addresses.
+
+ -- Ximin Luo <infinity0 at debian.org>  Thu, 20 Jul 2017 14:17:16 +0200
+
 giac (1.2.3.53+dfsg1-2) unstable; urgency=medium
 
   * Output test log after a failed test run, to investigate a ppc64el build
diff --git a/debian/patches/fix-48-bit-addr.patch b/debian/patches/fix-48-bit-addr.patch
new file mode 100644
index 0000000..d4c2c40
--- /dev/null
+++ b/debian/patches/fix-48-bit-addr.patch
@@ -0,0 +1,810 @@
+Description: Fix build for machines that have 48-bit virtual addresses
+Author: Edmund Grimley Evans <edmund.grimley.evans at gmail.com>
+Bug: http://xcas.e.ujf-grenoble.fr/XCAS/viewtopic.php?f=4&t=1785
+
+--- a/src/Equation.cc
++++ b/src/Equation.cc
+@@ -616,7 +616,7 @@
+ 	return Equation_compute_size(arg,a,windowhsize,contextptr);
+       gen tmp;
+ #ifdef SMARTPTR64
+-      * ((longlong * ) &tmp) = longlong(new ref_fraction(Tfraction<gen>(arg._VECTptr->front(),arg._VECTptr->back()))) << 16;
++      * ((ulonglong * ) &tmp) = ulonglong(new ref_fraction(Tfraction<gen>(arg._VECTptr->front(),arg._VECTptr->back()))) << 16;
+ #else
+       tmp.__FRACptr = new ref_fraction(Tfraction<gen>(arg._VECTptr->front(),arg._VECTptr->back()));
+ #endif
+--- a/src/alg_ext.cc
++++ b/src/alg_ext.cc
+@@ -226,7 +226,7 @@
+     }
+     gen res;
+ #ifdef SMARTPTR64
+-    * ((longlong * ) &res) = longlong(new ref_algext) << 16;
++    * ((ulonglong * ) &res) = ulonglong(new ref_algext) << 16;
+ #else
+     res.__EXTptr=new ref_algext;
+ #endif
+--- a/src/cocoa.cc
++++ b/src/cocoa.cc
+@@ -9842,7 +9842,7 @@
+     if (debug_infolevel>0)
+       CERR << CLOCK()*1e-6 << " rows, columns, terms: " << M.size() << "x" << N << "=" << nterms << endl; 
+     // PSEUDO_MOD is not interesting here since there is no inter-reduction
+-    gen p(int(longlong(1<<31)-1));
++    gen p(int(ulonglong(1<<31)-1));
+     gen pip(1);
+     vectpolymod<tdeg_t> f4buchbergervmod;
+     matrice coeffmat;
+@@ -10058,7 +10058,7 @@
+     if (debug_infolevel>0)
+       CERR << CLOCK()*1e-6 << " rows, columns, terms: " << Mindex.size() << "x" << N << "=" << nterms << endl; 
+     // PSEUDO_MOD is not interesting here since there is no inter-reduction
+-    gen p(int(longlong(1<<31)-1));
++    gen p(int(ulonglong(1<<31)-1));
+     gen pip(1);
+     vectpolymod<tdeg_t> f4buchbergervmod;
+     matrice coeffmat;
+--- a/src/gen.cc
++++ b/src/gen.cc
+@@ -570,7 +570,7 @@
+     }
+     else {
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_mpz_t(64)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_mpz_t(64)) << 16;
+ #else
+       __ZINTptr = new ref_mpz_t(64);
+ #endif
+@@ -602,7 +602,7 @@
+     }
+     else {
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_mpz_t(64)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_mpz_t(64)) << 16;
+ #else
+       __ZINTptr = new ref_mpz_t(64);
+ #endif
+@@ -654,7 +654,7 @@
+     }
+     else {
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_mpz_t(nbits)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_mpz_t(nbits)) << 16;
+ #else
+       __ZINTptr = new ref_mpz_t(nbits);
+ #endif
+@@ -696,7 +696,7 @@
+       unsigned int i1= i;
+       i = i>>32;
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_mpz_t(128)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_mpz_t(128)) << 16;
+ #else
+       __ZINTptr = new ref_mpz_t(128);
+ #endif
+@@ -730,7 +730,7 @@
+     control_c();
+ #endif
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_mpz_t(m)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_mpz_t(m)) << 16;
+ #else
+     __ZINTptr= new ref_mpz_t(m);
+ #endif
+@@ -749,7 +749,7 @@
+ #ifdef SMARTPTR64
+       ref_mpz_t * ptr=new ref_mpz_t;
+       mpz_set(ptr->z,m.get_mpz_t());
+-      * ((longlong * ) this) = longlong(ptr) << 16;
++      * ((ulonglong * ) this) = ulonglong(ptr) << 16;
+ #else
+       __ZINTptr= new ref_mpz_t();
+       mpz_set(__ZINTptr->z,m.get_mpz_t());
+@@ -765,7 +765,7 @@
+     control_c();
+ #endif
+ #ifdef SMARTPTR64
+-    * ((longlong * ) this) = longlong(new ref_identificateur(s)) << 16;
++    * ((ulonglong * ) this) = ulonglong(new ref_identificateur(s)) << 16;
+ #else
+     __IDNTptr= new ref_identificateur(s);
+ #endif
+@@ -796,7 +796,7 @@
+   gen::gen(const vecteur & v,short int s)
+   {
+ #ifdef SMARTPTR64
+-    * ((longlong * ) this) = longlong(new ref_vecteur(v)) << 16;
++    * ((ulonglong * ) this) = ulonglong(new ref_vecteur(v)) << 16;
+ #else
+     __VECTptr= new_ref_vecteur(v);
+ #endif
+@@ -806,7 +806,7 @@
+ 
+   gen::gen(ref_vecteur * vptr,short int s){
+ #ifdef SMARTPTR64
+-    * ((longlong * ) this) = longlong(vptr) << 16;
++    * ((ulonglong * ) this) = ulonglong(vptr) << 16;
+ #else
+     __VECTptr= vptr;
+ #endif
+@@ -834,7 +834,7 @@
+     control_c();
+ #endif
+ #ifdef SMARTPTR64
+-    * ((longlong * ) this) = longlong(new_ref_symbolic(s)) << 16;
++    * ((ulonglong * ) this) = ulonglong(new_ref_symbolic(s)) << 16;
+ #else
+     __SYMBptr = new_ref_symbolic(s) ;
+ #endif
+@@ -844,7 +844,7 @@
+ 
+   gen::gen(ref_symbolic * sptr){
+ #ifdef SMARTPTR64
+-    * ((longlong * ) this) = longlong(sptr) << 16;
++    * ((ulonglong * ) this) = ulonglong(sptr) << 16;
+ #else
+     __SYMBptr = sptr;
+ #endif
+@@ -854,7 +854,7 @@
+ 
+   gen::gen(ref_identificateur * sptr){
+ #ifdef SMARTPTR64
+-    * ((longlong * ) this) = longlong(sptr) << 16;
++    * ((ulonglong * ) this) = ulonglong(sptr) << 16;
+ #else
+     __IDNTptr = sptr;
+ #endif
+@@ -864,7 +864,7 @@
+ 
+   gen::gen(const gen_user & g){
+ #ifdef SMARTPTR64
+-    * ((longlong * ) this) = longlong(new ref_gen_user(g)) << 16;
++    * ((ulonglong * ) this) = ulonglong(new ref_gen_user(g)) << 16;
+ #else
+     __USERptr = new ref_gen_user(g) ;
+ #endif
+@@ -874,7 +874,7 @@
+ 
+   gen::gen(ref_gen_user * sptr){
+ #ifdef SMARTPTR64
+-    * ((longlong * ) this) = longlong(sptr) << 16;
++    * ((ulonglong * ) this) = ulonglong(sptr) << 16;
+ #else
+     __USERptr = sptr;
+ #endif
+@@ -884,7 +884,7 @@
+ 
+   gen::gen(const eqwdata & g){
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_eqwdata(g)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_eqwdata(g)) << 16;
+ #else
+     __EQWptr = new ref_eqwdata(g);
+ #endif
+@@ -894,7 +894,7 @@
+ 
+   gen::gen(const grob & g){
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_grob(g)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_grob(g)) << 16;
+ #else
+     __GROBptr = new ref_grob(g);
+ #endif
+@@ -905,7 +905,7 @@
+   gen makemap(){ 
+     gen g;
+ #ifdef SMARTPTR64
+-      * ((longlong * ) &g) = longlong(new ref_gen_map) << 16;
++      * ((ulonglong * ) &g) = ulonglong(new ref_gen_map) << 16;
+ #else
+ #if 1 // def NSPIRE
+       g.__MAPptr = new ref_gen_map;
+@@ -920,7 +920,7 @@
+ 
+   gen::gen(const gen_map & s){
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_gen_map(s)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_gen_map(s)) << 16;
+ #else
+     __MAPptr = new ref_gen_map(s) ;
+ #endif
+@@ -941,7 +941,7 @@
+       }
+       else {
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new Tref_tensor<gen>(p)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new Tref_tensor<gen>(p)) << 16;
+ #else
+ 	__POLYptr = new Tref_tensor<gen>(p) ;
+ #endif
+@@ -980,7 +980,7 @@
+     }
+     else {              
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new Tref_fraction<gen>(p)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new Tref_fraction<gen>(p)) << 16;
+ #else
+       __FRACptr = new Tref_fraction<gen>(p) ;
+ #endif
+@@ -990,7 +990,7 @@
+ 
+   gen::gen(Tref_tensor<gen> * pptr){
+ #ifdef SMARTPTR64
+-    * ((longlong * ) this) = longlong(pptr) << 16;
++    * ((ulonglong * ) this) = ulonglong(pptr) << 16;
+ #else
+     __POLYptr = pptr ;
+ #endif
+@@ -1017,7 +1017,7 @@
+ 	return;
+       }
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(mptr) << 16;
++      * ((ulonglong * ) this) = ulonglong(mptr) << 16;
+ #else
+       __ZINTptr = mptr;
+ #endif
+@@ -1050,7 +1050,7 @@
+ 	return false;
+       }
+ #ifdef SMARTPTR64
+-      * ((longlong * ) &g) = longlong(mptr) << 16;
++      * ((ulonglong * ) &g) = ulonglong(mptr) << 16;
+ #else
+       g.__ZINTptr = mptr;
+ #endif
+@@ -1073,7 +1073,7 @@
+ 	return;
+       }
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_mpz_t(z.ptr)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_mpz_t(z.ptr)) << 16;
+ #else
+       __ZINTptr = new ref_mpz_t(z.ptr);
+ #endif
+@@ -1090,7 +1090,7 @@
+ 	) {
+       if (
+ #ifdef SMARTPTR64
+-	  (*((longlong *) &e) >> 16)
++	  (*((ulonglong *) &e) >> 16)
+ #else
+ 	  e.__ZINTptr
+ #endif
+@@ -1135,7 +1135,7 @@
+     }
+     else {
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_complex(a,b)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_complex(a,b)) << 16;
+ #else
+       __CPLXptr = new_ref_complex(a,b);
+ #endif
+@@ -1163,7 +1163,7 @@
+     }
+     else {
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_complex(a,b)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_complex(a,b)) << 16;
+ #else
+       __CPLXptr = new_ref_complex(a,b);
+ #endif
+@@ -1200,7 +1200,7 @@
+ 	  break; 
+ 	case _ZINT: 
+ #ifdef SMARTPTR64
+-	  * ((longlong * ) this) = longlong(new ref_mpz_t(*a._ZINTptr)) << 16;
++	  * ((ulonglong * ) this) = ulonglong(new ref_mpz_t(*a._ZINTptr)) << 16;
+ #else
+ 	  __ZINTptr=new ref_mpz_t(a.__ZINTptr->z); // a is a _ZINT
+ #endif
+@@ -1212,12 +1212,12 @@
+ #ifdef SMARTPTR64
+ #ifndef NO_RTTI
+ 	  if (real_interval * ptr=dynamic_cast<real_interval *>(a._REALptr)){
+-	    * ((longlong * ) this) = longlong(new ref_real_interval(*ptr)) << 16;
++	    * ((ulonglong * ) this) = ulonglong(new ref_real_interval(*ptr)) << 16;
+ 	    subtype=1;
+ 	  }
+ 	  else
+ #endif
+-	    * ((longlong * ) this) = longlong(new ref_real_object(*a._REALptr)) << 16;
++	    * ((ulonglong * ) this) = ulonglong(new ref_real_object(*a._REALptr)) << 16;
+ #else
+ #ifndef NO_RTTI
+ 	  if (real_interval * ptr=dynamic_cast<real_interval *>(a._REALptr)){
+@@ -1238,7 +1238,7 @@
+     }
+     else {
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_complex(a,b)) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_complex(a,b)) << 16;
+ #else
+       __CPLXptr = new_ref_complex(a,b);
+ #endif
+@@ -1249,7 +1249,7 @@
+   
+   gen::gen(const complex<double> & c) {
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_complex(real(c),imag(c))) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_complex(real(c),imag(c))) << 16;
+ #else
+       __CPLXptr = new_ref_complex(real(c),imag(c));
+ #endif
+@@ -1331,7 +1331,7 @@
+       }
+       else {
+ #ifdef SMARTPTR64
+-	* ((longlong * ) this) = longlong(new ref_sparse_poly1(p)) << 16;
++	* ((ulonglong * ) this) = ulonglong(new ref_sparse_poly1(p)) << 16;
+ #else
+ 	__SPOL1ptr= new ref_sparse_poly1(p);
+ #endif
+@@ -1343,7 +1343,7 @@
+ 
+   gen::gen(const unary_function_ptr * f,int nargs){
+ #if defined SMARTPTR64 
+-    * ((longlong * ) this) = longlong(new ref_unary_function_ptr(*f)) << 16;
++    * ((ulonglong * ) this) = ulonglong(new ref_unary_function_ptr(*f)) << 16;
+ #else
+     _FUNC_ = (size_t) (* (size_t*) f);
+     // __FUNCptr= new ref_unary_function_ptr(f);
+@@ -1354,7 +1354,7 @@
+ 
+   gen::gen(const unary_function_ptr & f,int nargs){
+ #ifdef SMARTPTR64
+-    * ((longlong * ) this) = longlong(new ref_unary_function_ptr(f)) << 16;
++    * ((ulonglong * ) this) = ulonglong(new ref_unary_function_ptr(f)) << 16;
+ #else
+     _FUNC_ = (size_t)(* (size_t *) &f);
+     // __FUNCptr= new ref_unary_function_ptr(f);
+@@ -1392,10 +1392,10 @@
+     switch (type) {
+ #ifdef SMARTPTR64
+     case _ZINT: 
+-      delete (ref_mpz_t *) (* ((longlong * ) this) >> 16);
++      delete (ref_mpz_t *) (* ((ulonglong * ) this) >> 16);
+       break; 
+     case _REAL:  {
+-      ref_real_object * ptr=(ref_real_object *) (* ((longlong * ) this) >> 16);
++      ref_real_object * ptr=(ref_real_object *) (* ((ulonglong * ) this) >> 16);
+ #ifndef NO_RTTI
+       if (dynamic_cast<real_interval *>(&ptr->r))
+ 	delete (ref_real_interval *) ptr;
+@@ -1405,54 +1405,54 @@
+       break; 
+     }
+     case _CPLX: 
+-      delete (ref_complex *) (* ((longlong * ) this) >> 16);
++      delete (ref_complex *) (* ((ulonglong * ) this) >> 16);
+       break; 
+     case _IDNT: 
+-      delete (ref_identificateur *) (* ((longlong * ) this) >> 16);
++      delete (ref_identificateur *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _VECT: 
+-      delete (ref_vecteur *) (* ((longlong * ) this) >> 16);
++      delete (ref_vecteur *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _SYMB: 
+-      delete (ref_symbolic *) (* ((longlong * ) this) >> 16);
++      delete (ref_symbolic *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _USER:
+-      delete (ref_gen_user *) (* ((longlong * ) this) >> 16);
++      delete (ref_gen_user *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _EXT: 
+-      delete (ref_algext *) (* ((longlong * ) this) >> 16);
++      delete (ref_algext *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _MOD: 
+-      delete (ref_modulo *) (* ((longlong * ) this) >> 16);
++      delete (ref_modulo *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _POLY:
+-      delete (ref_polynome *) (* ((longlong * ) this) >> 16);
++      delete (ref_polynome *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _FRAC:
+-      delete (ref_fraction *) (* ((longlong * ) this) >> 16);
++      delete (ref_fraction *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _SPOL1:
+-      delete (ref_sparse_poly1 *) (* ((longlong * ) this) >> 16);
++      delete (ref_sparse_poly1 *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _STRNG:
+-      delete (ref_string *) (* ((longlong * ) this) >> 16);
++      delete (ref_string *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _FUNC:
+-      delete (ref_unary_function_ptr *) (* ((longlong * ) this) >> 16);
++      delete (ref_unary_function_ptr *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _MAP:
+-      delete (ref_gen_map *) (* ((longlong * ) this) >> 16);
++      delete (ref_gen_map *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _EQW:
+-      delete (ref_eqwdata *) (* ((longlong * ) this) >> 16);
++      delete (ref_eqwdata *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _GROB:
+-      delete (ref_grob *) (* ((longlong * ) this) >> 16);
++      delete (ref_grob *) (* ((ulonglong * ) this) >> 16);
+       break;
+     case _POINTER_:
+       if (subtype==_FL_WIDGET_POINTER && fl_widget_delete_function)
+ 	fl_widget_delete_function(_POINTER_val);
+-      delete (ref_void_pointer *) (* ((longlong * ) this) >> 16);
++      delete (ref_void_pointer *) (* ((ulonglong * ) this) >> 16);
+       break;
+ #else // SMARTPTR64
+     case _ZINT: 
+@@ -1659,7 +1659,7 @@
+     if (type==_INT_){
+       int tmp =val;
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_mpz_t) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_mpz_t) << 16;
+ #else
+       __ZINTptr = new ref_mpz_t;
+ #endif
+@@ -4095,7 +4095,7 @@
+   gen makemodquoted(const gen & a,const gen & b){
+     gen res;
+ #ifdef SMARTPTR64
+-    * ((longlong * ) &res) = longlong(new ref_modulo(a,b)) << 16;
++    * ((ulonglong * ) &res) = ulonglong(new ref_modulo(a,b)) << 16;
+ #else
+     res.__MODptr=new ref_modulo(a,b);
+ #endif
+@@ -4360,7 +4360,7 @@
+       return addpoly(*b._POLYptr,a);
+     case _MOD__MOD:
+ #ifdef SMARTPTR64
+-      return modadd( (ref_modulo *) (* ((longlong * ) &a) >> 16),(ref_modulo *) (* ((longlong * ) &b) >> 16));
++      return modadd( (ref_modulo *) (* ((ulonglong * ) &a) >> 16),(ref_modulo *) (* ((ulonglong * ) &b) >> 16));
+ #else
+       return modadd(a.__MODptr,b.__MODptr);
+ #endif
+@@ -5120,7 +5120,7 @@
+       return subpoly(a,*b._POLYptr);        
+     case _MOD__MOD:
+ #ifdef SMARTPTR64
+-      return modsub( (ref_modulo *) (* ((longlong * ) &a) >> 16), (ref_modulo *) (* ((longlong * ) &b) >> 16) );
++      return modsub( (ref_modulo *) (* ((ulonglong * ) &a) >> 16), (ref_modulo *) (* ((ulonglong * ) &b) >> 16) );
+ #else
+       return modsub(a.__MODptr,b.__MODptr);
+ #endif
+@@ -6041,7 +6041,7 @@
+       return a * (*b._POLYptr);        
+     case _MOD__MOD:
+ #ifdef SMARTPTR64
+-      return modmul( (ref_modulo *) (* ((longlong * ) &a) >> 16),(ref_modulo *) (* ((longlong * ) &b) >> 16) );
++      return modmul( (ref_modulo *) (* ((ulonglong * ) &a) >> 16),(ref_modulo *) (* ((ulonglong * ) &b) >> 16) );
+ #else
+       return modmul(a.__MODptr,b.__MODptr);
+ #endif
+@@ -7208,7 +7208,7 @@
+     ref_mpz_t *aptr,*bptr;
+     if (a.type!=_INT_)
+ #ifdef SMARTPTR64
+-      aptr= (ref_mpz_t *) (* ((longlong * ) &a) >> 16);
++      aptr= (ref_mpz_t *) (* ((ulonglong * ) &a) >> 16);
+ #else
+       aptr=a.__ZINTptr;
+ #endif
+@@ -7218,7 +7218,7 @@
+     }
+     if (b.type!=_INT_)
+ #ifdef SMARTPTR64
+-      bptr= (ref_mpz_t *) (* ((longlong * ) &b) >> 16);
++      bptr= (ref_mpz_t *) (* ((ulonglong * ) &b) >> 16);
+ #else
+       bptr=b.__ZINTptr;
+ #endif
+@@ -10190,7 +10190,7 @@
+     ref_mpz_t *aptr,*bptr;
+     if (a.type!=_INT_)
+ #ifdef SMARTPTR64
+-      aptr= (ref_mpz_t *) (* ((longlong * ) &a) >> 16);
++      aptr= (ref_mpz_t *) (* ((ulonglong * ) &a) >> 16);
+ #else
+       aptr=a.__ZINTptr;
+ #endif
+@@ -10200,7 +10200,7 @@
+     }
+     if (b.type!=_INT_)
+ #ifdef SMARTPTR64
+-      bptr= (ref_mpz_t *) (* ((longlong * ) &b) >> 16);
++      bptr= (ref_mpz_t *) (* ((ulonglong * ) &b) >> 16);
+ #else
+       bptr=b.__ZINTptr;
+ #endif
+@@ -10244,7 +10244,7 @@
+     ref_mpz_t *aptr,*bptr;
+     if (a.type!=_INT_)
+ #ifdef SMARTPTR64
+-      aptr= (ref_mpz_t *) (* ((longlong * ) &a) >> 16);
++      aptr= (ref_mpz_t *) (* ((ulonglong * ) &a) >> 16);
+ #else
+       aptr=a.__ZINTptr;
+ #endif
+@@ -10254,7 +10254,7 @@
+     }
+     if (b.type!=_INT_)
+ #ifdef SMARTPTR64
+-      bptr= (ref_mpz_t *) (* ((longlong * ) &b) >> 16);
++      bptr= (ref_mpz_t *) (* ((ulonglong * ) &b) >> 16);
+ #else
+       bptr=b.__ZINTptr;
+ #endif
+@@ -10311,7 +10311,7 @@
+     ref_mpz_t *aptr,*bptr;
+     if (a.type!=_INT_)
+ #ifdef SMARTPTR64
+-      aptr= (ref_mpz_t *) (* ((longlong * ) &a) >> 16);
++      aptr= (ref_mpz_t *) (* ((ulonglong * ) &a) >> 16);
+ #else
+       aptr=a.__ZINTptr;
+ #endif
+@@ -10321,7 +10321,7 @@
+     }
+     if (b.type!=_INT_)
+ #ifdef SMARTPTR64
+-      bptr= (ref_mpz_t *) (* ((longlong * ) &b) >> 16);
++      bptr= (ref_mpz_t *) (* ((ulonglong * ) &b) >> 16);
+ #else
+       bptr=b.__ZINTptr;
+ #endif
+@@ -10446,7 +10446,7 @@
+     ref_mpz_t *aptr,*bptr;
+     if (a.type!=_INT_)
+ #ifdef SMARTPTR64
+-      aptr= (ref_mpz_t *) (* ((longlong * ) &a) >> 16);
++      aptr= (ref_mpz_t *) (* ((ulonglong * ) &a) >> 16);
+ #else
+       aptr = a.__ZINTptr;
+ #endif
+@@ -10456,7 +10456,7 @@
+     }
+     if (modulo.type)
+ #ifdef SMARTPTR64
+-      bptr= (ref_mpz_t *) (* ((longlong * ) &modulo) >> 16);
++      bptr= (ref_mpz_t *) (* ((ulonglong * ) &modulo) >> 16);
+ #else
+       bptr = modulo.__ZINTptr;
+ #endif
+@@ -10646,7 +10646,7 @@
+     ref_mpz_t *aptr,*bptr;
+     if (base.type)
+ #ifdef SMARTPTR64
+-      aptr= (ref_mpz_t *) (* ((longlong * ) &base) >> 16);
++      aptr= (ref_mpz_t *) (* ((ulonglong * ) &base) >> 16);
+ #else
+       aptr=base.__ZINTptr;
+ #endif
+@@ -10656,7 +10656,7 @@
+     }
+     if (modulo.type)
+ #ifdef SMARTPTR64
+-      bptr= (ref_mpz_t *) (* ((longlong * ) &modulo) >> 16);
++      bptr= (ref_mpz_t *) (* ((ulonglong * ) &modulo) >> 16);
+ #else
+       bptr=modulo.__ZINTptr;
+ #endif
+@@ -10735,7 +10735,7 @@
+     ref_mpz_t *aptr;
+     if (a.type!=_INT_)
+ #ifdef SMARTPTR64
+-      aptr= (ref_mpz_t *) (* ((longlong * ) &a) >> 16);
++      aptr= (ref_mpz_t *) (* ((ulonglong * ) &a) >> 16);
+ #else
+       aptr=a.__ZINTptr;
+ #endif
+@@ -10756,7 +10756,7 @@
+     ref_mpz_t *aptr;
+     if (a.type!=_INT_)
+ #ifdef SMARTPTR64
+-      aptr= (ref_mpz_t *) (* ((longlong * ) &a) >> 16);
++      aptr= (ref_mpz_t *) (* ((ulonglong * ) &a) >> 16);
+ #else
+       aptr=a.__ZINTptr;
+ #endif
+@@ -10791,7 +10791,7 @@
+     ref_mpz_t *aptr;
+     if (a.type!=_INT_)
+ #ifdef SMARTPTR64
+-      aptr= (ref_mpz_t *) (* ((longlong * ) &a) >> 16);
++      aptr= (ref_mpz_t *) (* ((ulonglong * ) &a) >> 16);
+ #else
+       aptr=a.__ZINTptr;
+ #endif
+@@ -10854,7 +10854,7 @@
+     ref_mpz_t *aptr,*bptr;
+     if (a.type!=_INT_)
+ #ifdef SMARTPTR64
+-      aptr= (ref_mpz_t *) (* ((longlong * ) &a) >> 16);
++      aptr= (ref_mpz_t *) (* ((ulonglong * ) &a) >> 16);
+ #else
+       aptr = a.__ZINTptr;
+ #endif
+@@ -10864,7 +10864,7 @@
+     }
+     if (b.type!=_INT_)
+ #ifdef SMARTPTR64
+-      bptr= (ref_mpz_t *) (* ((longlong * ) &b) >> 16);
++      bptr= (ref_mpz_t *) (* ((ulonglong * ) &b) >> 16);
+ #else
+       bptr=b.__ZINTptr;
+ #endif
+@@ -10890,7 +10890,7 @@
+     ref_mpz_t *aptr,*bptr;
+     if (a.type!=_INT_)
+ #ifdef SMARTPTR64
+-      aptr= (ref_mpz_t *) (* ((longlong * ) &a) >> 16);
++      aptr= (ref_mpz_t *) (* ((ulonglong * ) &a) >> 16);
+ #else
+       aptr=a.__ZINTptr;
+ #endif
+@@ -10900,7 +10900,7 @@
+     }
+     if (b.type!=_INT_)
+ #ifdef SMARTPTR64
+-      bptr= (ref_mpz_t *) (* ((longlong * ) &b) >> 16);
++      bptr= (ref_mpz_t *) (* ((ulonglong * ) &b) >> 16);
+ #else
+       bptr=b.__ZINTptr;
+ #endif
+@@ -11171,7 +11171,7 @@
+   gen string2gen(const string & ss,bool remove_ss_quotes){
+     gen res;
+ #ifdef SMARTPTR64
+-    * ((longlong * ) &res) = longlong(new ref_string(remove_ss_quotes?ss.substr(1,ss.size()-2):ss)) << 16;
++    * ((ulonglong * ) &res) = ulonglong(new ref_string(remove_ss_quotes?ss.substr(1,ss.size()-2):ss)) << 16;
+ #else
+     res.__STRNGptr = new ref_string(remove_ss_quotes?ss.substr(1,ss.size()-2):ss);
+ #endif
+@@ -11407,7 +11407,7 @@
+       if ((ss.size()==1) || (ss[ss.size()-1]!='"'))
+ 	ss += '"';
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_string(ss.substr(1,ss.size()-2))) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_string(ss.substr(1,ss.size()-2))) << 16;
+       subtype=0;
+ #else
+       __STRNGptr = new ref_string(ss.substr(1,ss.size()-2));
+@@ -11432,7 +11432,7 @@
+       if ((ss.size()==1) || (ss[ss.size()-1]!='"'))
+ 	ss += '"';
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_string(ss.substr(1,ss.size()-2))) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_string(ss.substr(1,ss.size()-2))) << 16;
+ #else
+       __STRNGptr = new ref_string(ss.substr(1,ss.size()-2));
+ #endif
+@@ -11480,7 +11480,7 @@
+       if ((ss.size()==1) || (ss[ss.size()-1]!='"'))
+ 	ss += '"';
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_string(ss.substr(1,ss.size()-2))) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_string(ss.substr(1,ss.size()-2))) << 16;
+       subtype=0;
+ #else
+       __STRNGptr = new ref_string(ss.substr(1,ss.size()-2));
+@@ -13846,7 +13846,7 @@
+ 
+   gen::gen(const real_object & g){
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_real_object) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_real_object) << 16;
+ #else
+     __REALptr = new ref_real_object;
+ #endif
+@@ -13862,7 +13862,7 @@
+ 
+   gen::gen(const real_interval & g){
+ #ifdef SMARTPTR64
+-      * ((longlong * ) this) = longlong(new ref_real_interval) << 16;
++      * ((ulonglong * ) this) = ulonglong(new ref_real_interval) << 16;
+ #else
+       __REALptr = (ref_real_object *) new ref_real_interval;
+ #endif
+--- a/src/global.cc
++++ b/src/global.cc
+@@ -5652,7 +5652,7 @@
+ #ifdef SMARTPTR64
+       if (debug_infolevel)
+ 	CERR << builtin_lexer_functions_begin()[i].first << endl; 
+-      delete (ref_unary_function_ptr *) (* ((longlong * ) &builtin_lexer_functions_begin()[i].second) >> 16);
++      delete (ref_unary_function_ptr *) (* ((ulonglong * ) &builtin_lexer_functions_begin()[i].second) >> 16);
+ #endif
+     }
+ #endif
+--- a/src/ifactor.cc
++++ b/src/ifactor.cc
+@@ -2376,7 +2376,7 @@
+ 	r=(r*invmod(2*s,p))%p;
+ 	// overflow should not happen because p is a factor of a hence choosen
+ 	// in the 1000 range (perhaps up to 10 000, but not much larger)
+-	// if ((longlong(r)*p)!=r*p) CERR << "overflow" << endl;
++	// if ((ulonglong(r)*p)!=r*p) CERR << "overflow" << endl;
+ 	s += p*r;
+ #ifdef PRIMES32
+ 	if (afact>afact0){
+--- a/src/modpoly.cc
++++ b/src/modpoly.cc
+@@ -2037,7 +2037,7 @@
+ #ifndef SMARTPTR64
+ 		(tmpptr->__ZINTptr->ref_count==1) && 
+ #else
+-		((ref_mpz_t *) (* (longlong *) tmpptr >> 16))->ref_count==1 &&
++		((ref_mpz_t *) (* (ulonglong *) tmpptr >> 16))->ref_count==1 &&
+ #endif
+ 		( (itq->type==_ZINT) || (itq->type==_INT_) ) )
+ 	      sub_mul(tmpptr->_ZINTptr,prod,q,*itq);
+--- a/src/sym2poly.cc
++++ b/src/sym2poly.cc
+@@ -406,8 +406,8 @@
+ #ifndef SMARTPTR64
+ 	  n.__POLYptr->ref_count==1 && d.__POLYptr->ref_count==1
+ #else
+-	  ((ref_polynome*)(* (longlong *) &n >> 16))->ref_count ==1 &&
+-	  ((ref_polynome*)(* (longlong *) &d >> 16))->ref_count ==1	  
++	  ((ref_polynome*)(* (ulonglong *) &n >> 16))->ref_count ==1 &&
++	  ((ref_polynome*)(* (ulonglong *) &d >> 16))->ref_count ==1	  
+ #endif
+ 	  ){
+ 	simplify(*n._POLYptr,*d._POLYptr,pptr->t);
+--- a/src/usual.cc
++++ b/src/usual.cc
+@@ -9866,14 +9866,14 @@
+   const gen & grad2rad_g=grad2rad_g_;
+ #else
+     // Warning this does not work on ia64 with -O2
+-  const define_alias_gen(alias_rad2deg_g,_DOUBLE_, (*(longlong *)&rad2deg_d) >> 8,(*(longlong *)&rad2deg_d)>>16);
++  const define_alias_gen(alias_rad2deg_g,_DOUBLE_, (*(ulonglong *)&rad2deg_d) >> 8,(*(ulonglong *)&rad2deg_d)>>16);
+   const gen & rad2deg_g = *(const gen*) & alias_rad2deg_g;
+-  const define_alias_gen(alias_deg2rad_g,_DOUBLE_, (*(longlong *)&deg2rad_d) >> 8,(*(longlong *)&deg2rad_d)>>16);
++  const define_alias_gen(alias_deg2rad_g,_DOUBLE_, (*(ulonglong *)&deg2rad_d) >> 8,(*(ulonglong *)&deg2rad_d)>>16);
+   const gen & deg2rad_g = *(const gen*) & alias_deg2rad_g;
+   //grad
+-  const define_alias_gen(alias_rad2grad_g,_DOUBLE_, (*(longlong *)&rad2grad_d) >> 8,(*(longlong *)&rad2grad_d)>>16);
++  const define_alias_gen(alias_rad2grad_g,_DOUBLE_, (*(ulonglong *)&rad2grad_d) >> 8,(*(ulonglong *)&rad2grad_d)>>16);
+   const gen & rad2grad_g = *(const gen*) & alias_rad2grad_g;
+-  const define_alias_gen(alias_grad2rad_g, _DOUBLE_, (*(longlong *)&grad2rad_d) >> 8, (*(longlong *)&grad2rad_d) >> 16);
++  const define_alias_gen(alias_grad2rad_g, _DOUBLE_, (*(ulonglong *)&grad2rad_d) >> 8, (*(ulonglong *)&grad2rad_d) >> 16);
+   const gen & grad2rad_g = *(const gen*)& alias_grad2rad_g;
+ #endif
+ 
+--- a/src/vecteur.cc
++++ b/src/vecteur.cc
+@@ -1072,7 +1072,7 @@
+       ref_vecteur * vptr=0;
+       for (int x0=x;x0<=X;++x0){
+ #ifdef SMARTPTR64
+-	vptr=((ref_vecteur*)(* (longlong *) &(*mptr)[x0] >> 16));
++	vptr=((ref_vecteur*)(* (ulonglong *) &(*mptr)[x0] >> 16));
+ #else
+ 	vptr=(*mptr)[x0].__VECTptr;
+ #endif
+@@ -3509,7 +3509,7 @@
+     if (g.type==_INT_){
+       int tmp =g.val;
+ #ifdef SMARTPTR64
+-      * ((longlong * ) &g) = longlong(new ref_mpz_t(prealloc)) << 16;
++      * ((ulonglong * ) &g) = ulonglong(new ref_mpz_t(prealloc)) << 16;
+ #else
+       g.__ZINTptr = new ref_mpz_t(prealloc);
+ #endif
+@@ -9863,7 +9863,7 @@
+ 
+   static gen init_modulo(int n,double logbound){
+ #if 1 // def _I386_
+-    double pinit= double(longlong(1) << 60);
++    double pinit= double(ulonglong(1) << 60);
+     pinit /=n ;
+     pinit = std::sqrt(pinit);
+     pinit -= 3*logbound; // keep enough primes satisfying p^2*n<2^63
diff --git a/debian/patches/series b/debian/patches/series
index 557aa28..a9645cb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,5 @@
 # For upstreaming
+fix-48-bit-addr.patch
 fix-gettext-options.patch
 no-useless-deps.patch
 system-gl2ps.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/giac.git



More information about the debian-science-commits mailing list