Igor Schein on Thu, 22 Jul 1999 16:30:24 -0400 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
compiling with g++ on Solaris |
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