Park Nan Kyoung on Fri, 23 Jul 1999 14:48:51 +0900 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: compiling with g++ on Solaris |
unsubscrible nkpark@oberon.postech.ac.kr Igor Schein wrote: > Hi, > > I compiled pari-2.0.16 with g++ 2.91.66 ( part of egcs-1.1.2 ) > on Solaris. 2 patches are needed. The first one fixes > the error with prototyping, which gcc lets go, but g++ > picks up (maybe it makes sense to eventually put it in paridecl.h?): > > --- src/basemath/buch1.c~ Tue Jun 29 08:10:55 1999 > +++ src/basemath/buch1.c Thu Jul 22 16:01:58 1999 > @@ -30,7 +30,7 @@ > static GEN **powsubfactorbase, subfactorbase,Disc,sqrtD,isqrtD; > > GEN buchquad(GEN D, double c, double c2, long RELSUP0, long flag, long prec); > -GEN roots_to_pol_intern(GEN L, GEN a, long v, long plus); > +GEN roots_to_pol_intern(GEN L, GEN a, long v, int plus); > > GEN > quadclassunit0(GEN x, long flag, GEN data, long prec) > --- src/modules/stark.c~ Tue Jun 29 08:11:52 1999 > +++ src/modules/stark.c Thu Jul 22 16:21:09 1999 > @@ -11,7 +11,7 @@ > > #define EXTRA_PREC (DEFAULTPREC-1) > > -GEN roots_to_pol_intern(GEN L, GEN a, long v, long plus); > +GEN roots_to_pol_intern(GEN L, GEN a, long v, int plus); > static int*** computean(GEN dtcr, long nmax, long prec); > > /********************************************************************/ > > The second one changes all occurences of variables 'new' and 'class' into > their french translations ( my arbirary choice ), because they're C++ > keywords and offend the compiler: > > --- src/language/es.c.orig Tue Jun 29 11:07:33 1999 > +++ src/language/es.c Thu Jul 22 14:49:12 1999 > @@ -1844,16 +1844,16 @@ > pariFILE * > newfile(FILE *f, char *name, int type) > { > - pariFILE *new = (pariFILE*) gpmalloc(strlen(name) + 1 + sizeof(pariFILE)); > - new->type = type; > - new->name = strcpy((char*)(new+1), name); > - new->file = f; > - new->prev = last_file; > - new->next = NULL; > - if (last_file) last_file->next = new; > + pariFILE *nouveau = (pariFILE*) gpmalloc(strlen(name) + 1 + sizeof(pariFILE)); > + nouveau->type = type; > + nouveau->name = strcpy((char*)(nouveau+1), name); > + nouveau->file = f; > + nouveau->prev = last_file; > + nouveau->next = NULL; > + if (last_file) last_file->next = nouveau; > if (DEBUGFILES) > fprintferr("I/O: opening file %s (code %d) \n",name,type); > - return last_file = new; > + return last_file = nouveau; > } > > static void > @@ -2088,22 +2088,22 @@ > void > gp_expand_path(char *v) > { > - char **new, **old, *s; > + char **nouveau, **old, *s; > int i, n = 0; > > v = pari_strdup(v); > for (s=v; *s; s++) > if (*s == PATH_SEPARATOR) { *s = 0; n++; } > - new = (char**) gpmalloc((n + 2)*sizeof(char *)); > + nouveau = (char**) gpmalloc((n + 2)*sizeof(char *)); > > for (s=v, i=0; i<=n; i++) > { > char *end = s + strlen(s), *f = end; > while (f > s && *--f == '/') *f = 0; > - new[i] = expand_tilde(s); > + nouveau[i] = expand_tilde(s); > s = end + 1; /* next PATH component */ > } > - new[i] = NULL; old = dir_list; dir_list = new; > + nouveau[i] = NULL; old = dir_list; dir_list = nouveau; > if (old) > { > for ( ; *old; old++) free(*old); > --- src/gp/gp.c.orig Tue Jun 29 11:12:49 1999 > +++ src/gp/gp.c Thu Jul 22 14:51:28 1999 > @@ -276,15 +276,15 @@ > { > if (*v) > { > - long new = get_int(v,0); > - if (*n == new) return gnil; > - if (new > Max || new < Min) > + long nouveau = get_int(v,0); > + if (*n == nouveau) return gnil; > + if (nouveau > Max || nouveau < Min) > { > sprintf(thestring, "default: incorrect value for %s [%ld-%ld]:", > s, Min, Max); > err(talker2, thestring, v,v); > } > - *n = new; > + *n = nouveau; > } > switch(flag) > { > @@ -507,18 +507,18 @@ > static GEN > sd_histsize(char *v, int flag) > { > - long new = histsize; > - GEN r = sd_numeric(v,flag,"histsize",&new, 1, > + long nouveau = histsize; > + GEN r = sd_numeric(v,flag,"histsize",&nouveau, 1, > (VERYBIGINT / sizeof(long)) - 1,NULL); > - if (new != histsize) > + if (nouveau != histsize) > { > - long i = new*sizeof(GEN); > + long i = nouveau*sizeof(GEN); > GEN *gg = (GEN *) gpmalloc(i); memset(gg,0,i); > > if (tglobal) > { > - long k = (tglobal-1) % new; > - long kmin = k - min(new,histsize), j = k; > + long k = (tglobal-1) % nouveau; > + long kmin = k - min(nouveau,histsize), j = k; > > i = (tglobal-1) % histsize; > while (k > kmin) > @@ -526,7 +526,7 @@ > gg[j] = hist[i]; > hist[i] = NULL; > if (!i) i = histsize; > - if (!j) j = new; > + if (!j) j = nouveau; > i--; j--; k--; > } > while (hist[i]) > @@ -536,7 +536,7 @@ > i--; > } > } > - free((void*)hist); hist=gg; histsize=new; > + free((void*)hist); hist=gg; histsize=nouveau; > } > return r; > } > @@ -574,16 +574,16 @@ > static GEN > sd_parisize(char *v, int flag) > { > - long new = parisize; > - GEN r = sd_numeric(v,flag,"parisize",&new, 10000,VERYBIGINT,NULL); > - if (new != parisize) > + long nouveau = parisize; > + GEN r = sd_numeric(v,flag,"parisize",&nouveau, 10000,VERYBIGINT,NULL); > + if (nouveau != parisize) > { > if (flag != d_INITRC) > { > - parisize = allocatemoremem(new); > + parisize = allocatemoremem(nouveau); > longjmp(local_environnement[bufindex], 0); > } > - parisize = new; > + parisize = nouveau; > } > return r; > } > @@ -591,16 +591,16 @@ > static GEN > sd_primelimit(char *v, int flag) > { > - long new = primelimit; > - GEN r = sd_numeric(v,flag,"primelimit",&new, 0,VERYBIGINT,NULL); > - if (new != primelimit) > + long nouveau = primelimit; > + GEN r = sd_numeric(v,flag,"primelimit",&nouveau, 0,VERYBIGINT,NULL); > + if (nouveau != primelimit) > { > if (flag != d_INITRC) > { > - byteptr ptr = initprimes(new); > + byteptr ptr = initprimes(nouveau); > free(diffptr); diffptr = ptr; > } > - primelimit = new; > + primelimit = nouveau; > } > return r; > } > @@ -1627,9 +1627,9 @@ > len = *ptlbuf - (s - *ptbuf); > if (len < 512) > { > - long new = *ptlbuf << 1, l = s - *ptbuf; > + long nouveau = *ptlbuf << 1, l = s - *ptbuf; > len += *ptlbuf; > - fix_buffer(new, ptbuf, ptlbuf); > + fix_buffer(nouveau, ptbuf, ptlbuf); > s = *ptbuf + l; > } > } > @@ -1689,10 +1689,10 @@ > s1 += 4; > if (find == fnum-1) > { > - long new = fnum << 1; > - flist = (char**)gprealloc(flist, new*sizeof(char*), > + long nouveau = fnum << 1; > + flist = (char**)gprealloc(flist, nouveau*sizeof(char*), > fnum*sizeof(char*)); > - fnum = new; > + fnum = nouveau; > } > flist[find++] = s2 = gpmalloc(strlen(s1) + 1); > if (*s1 == '"') (void)readstring(s1, s2, NULL); > --- src/modules/stark.c~ Tue Jun 29 08:11:52 1999 > +++ src/modules/stark.c Thu Jul 22 15:01:04 1999 > @@ -628,7 +628,7 @@ > long av = avma, av2, G, ms, j, i, nz, zcard, q, l, N; > GEN chi, nc, dc, p1, cond0, cond1, elts, Msign, umod2, lambda, nf; > GEN sg, p2, chib, diff, vt, z, idg, mu, idh, zid, zstruc, zgen, zchi; > - GEN allclass, class, bnr, beta, s, tr, p3, den, muslambda, pi; > + GEN allclass, classe, bnr, beta, s, tr, p3, den, muslambda, pi; > > chi = (GEN)datachi[8]; > /* trivial case */ > @@ -717,8 +717,8 @@ > for (j = 1; j <= ms; j++) > if (gcmp1((GEN)p2[j])) p1 = element_mul(nf, p1, (GEN)elts[j]); > > - class = isprincipalray(bnr, p1); > - zchi[i] = (long)ComputeImagebyChar(chi, class, 0); > + classe = isprincipalray(bnr, p1); > + zchi[i] = (long)ComputeImagebyChar(chi, classe, 0); > zgen[i] = (long)p1; > } > > @@ -772,8 +772,8 @@ > avma = av2; > } > > - class = isprincipalray(bnr, idh); > - s = gmul(s, ComputeImagebyChar(chi, class, 0)); > + classe = isprincipalray(bnr, idh); > + s = gmul(s, ComputeImagebyChar(chi, classe, 0)); > s = gdiv(s, gsqrt(nc, prec)); > > p1 = gsubgs(gabs(s, prec), 1); > > Igor