80bdf6
--- src/basemath/mftrace.c
80bdf6
+++ src/basemath/mftrace.c
80bdf6
@@ -579,7 +579,7 @@ mfcharGL(GEN G, GEN L)
80bdf6
   return mkvec4(G, L, o, polcyclo(ord,vt));
80bdf6
 }
80bdf6
 static GEN
80bdf6
-mfchartrivial()
80bdf6
+mfchartrivial(void)
80bdf6
 { return mfcharGL(znstar0(gen_1,1), cgetg(1,t_COL)); }
80bdf6
 /* convert a generic character into an 'mfchar' */
80bdf6
 static GEN
1bdc51
@@ -1593,7 +1593,7 @@ mfcoef(GEN F, long n)
80bdf6
 }
80bdf6
 
80bdf6
 static GEN
80bdf6
-paramconst() { return tagparams(t_MF_CONST, mkNK(1,0,mfchartrivial())); }
80bdf6
+paramconst(void) { return tagparams(t_MF_CONST, mkNK(1,0,mfchartrivial())); }
80bdf6
 static GEN
80bdf6
 mftrivial(void) { retmkvec2(paramconst(), cgetg(1,t_VEC)); }
80bdf6
 static GEN
80bdf6
--- src/basemath/modsym.c
80bdf6
+++ src/basemath/modsym.c
80bdf6
@@ -1442,11 +1442,11 @@ indices_backward(GEN W, GEN C)
80bdf6
 
80bdf6
 /*[0,-1;1,-1]*/
80bdf6
 static GEN
80bdf6
-mkTAU()
80bdf6
+mkTAU(void)
80bdf6
 { return mkmat22(gen_0,gen_m1, gen_1,gen_m1); }
80bdf6
 /* S */
80bdf6
 static GEN
80bdf6
-mkS()
80bdf6
+mkS(void)
80bdf6
 { return mkmat22(gen_0,gen_1, gen_m1,gen_0); }
80bdf6
 /* N = integer > 1. Returns data describing Delta_0 = Z[P^1(Q)]_0 seen as
80bdf6
  * a Gamma_0(N) - module. */
d87f6c
--- src/language/eval.c
d87f6c
+++ src/language/eval.c
80bdf6
@@ -1262,11 +1262,11 @@ closure_eval(GEN C)
d87f6c
         break;
d87f6c
       }
d87f6c
 
d87f6c
-#define EVAL_f(f) \
d87f6c
+#define EVAL_f0(f) f()
d87f6c
+#define EVAL_f1(f) sp--; f(st[sp])
d87f6c
+#define EVAL_fn(f) \
d87f6c
   switch (ep->arity) \
d87f6c
   { \
d87f6c
-    case 0: f(); break; \
d87f6c
-    case 1: sp--; f(st[sp]); break; \
d87f6c
     case 2: sp-=2; f(st[sp],st[sp+1]); break; \
d87f6c
     case 3: sp-=3; f(st[sp],st[sp+1],st[sp+2]); break; \
d87f6c
     case 4: sp-=4; f(st[sp],st[sp+1],st[sp+2],st[sp+3]); break; \
80bdf6
@@ -1297,7 +1297,12 @@ closure_eval(GEN C)
d87f6c
         GEN res;
d87f6c
         /* Macro Madness : evaluate function ep->value on arguments
d87f6c
          * st[sp-ep->arity .. sp]. Set res = result. */
d87f6c
-        EVAL_f(res = ((GEN (*)(ANYARG))ep->value));
d87f6c
+        switch (ep->arity)
d87f6c
+        {
d87f6c
+          case 0:  EVAL_f0(res = ((GEN (*)(void))ep->value)); break;
d87f6c
+          case 1:  EVAL_f1(res = ((GEN (*)(long))ep->value)); break;
d87f6c
+          default: EVAL_fn(res = ((GEN (*)(long, ...))ep->value));
d87f6c
+        }
d87f6c
         if (br_status) goto endeval;
d87f6c
         gel(st,sp++)=res;
d87f6c
         break;
80bdf6
@@ -1316,7 +1321,12 @@ closure_eval(GEN C)
d87f6c
       {
d87f6c
         entree *ep = (entree *)operand;
d87f6c
         long res;
d87f6c
-        EVAL_f(res = ((long (*)(ANYARG))ep->value));
d87f6c
+        switch (ep->arity)
d87f6c
+        {
d87f6c
+          case 0:  EVAL_f0(res = ((long (*)(void))ep->value)); break;
d87f6c
+          case 1:  EVAL_f1(res = ((long (*)(long))ep->value)); break;
d87f6c
+          default: EVAL_fn(res = ((long (*)(long, ...))ep->value));
d87f6c
+        }
d87f6c
         if (br_status) goto endeval;
d87f6c
         st[sp++] = res;
d87f6c
         break;
80bdf6
@@ -1325,7 +1335,12 @@ closure_eval(GEN C)
d87f6c
       {
d87f6c
         entree *ep = (entree *)operand;
d87f6c
         long res;
d87f6c
-        EVAL_f(res = ((int (*)(ANYARG))ep->value));
d87f6c
+        switch (ep->arity)
d87f6c
+        {
d87f6c
+          case 0:  EVAL_f0(res = ((int (*)(void))ep->value)); break;
d87f6c
+          case 1:  EVAL_f1(res = ((int (*)(long))ep->value)); break;
d87f6c
+          default: EVAL_fn(res = ((int (*)(long, ...))ep->value));
d87f6c
+        }
d87f6c
         if (br_status) goto endeval;
d87f6c
         st[sp++] = res;
d87f6c
         break;
80bdf6
@@ -1333,11 +1348,18 @@ closure_eval(GEN C)
d87f6c
     case OCcallvoid:
d87f6c
       {
d87f6c
         entree *ep = (entree *)operand;
d87f6c
-        EVAL_f(((void (*)(ANYARG))ep->value));
d87f6c
+        switch (ep->arity)
d87f6c
+        {
d87f6c
+          case 0:  EVAL_f0(((void (*)(void))ep->value)); break;
d87f6c
+          case 1:  EVAL_f1(((void (*)(long))ep->value)); break;
d87f6c
+          default: EVAL_fn(((void (*)(long, ...))ep->value));
d87f6c
+        }
d87f6c
         if (br_status) goto endeval;
d87f6c
         break;
d87f6c
       }
d87f6c
-#undef EVAL_f
d87f6c
+#undef EVAL_f0
d87f6c
+#undef EVAL_f1
d87f6c
+#undef EVAL_fn
d87f6c
 
d87f6c
     case OCcalluser:
d87f6c
       {
06e741
--- src/language/init.c
06e741
+++ src/language/init.c
1bdc51
@@ -120,7 +120,7 @@ void (*cb_pari_pre_recover)(long);
06e741
 void (*cb_pari_err_recover)(long);
06e741
 int (*cb_pari_break_loop)(int);
06e741
 int (*cb_pari_is_interactive)(void);
06e741
-void (*cb_pari_start_output)();
06e741
+void (*cb_pari_start_output)(void);
06e741
 
06e741
 const char * pari_library_path = NULL;
06e741