]> granicus.if.org Git - python/commitdiff
New form of PyFPE_END_PROTECT macro.
authorGuido van Rossum <guido@python.org>
Fri, 14 Mar 1997 04:32:50 +0000 (04:32 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 14 Mar 1997 04:32:50 +0000 (04:32 +0000)
12 files changed:
Modules/_tkinter.c
Modules/cmathmodule.c
Modules/fpetestmodule.c
Modules/imgfile.c
Modules/mathmodule.c
Modules/mpzmodule.c
Objects/complexobject.c
Objects/floatobject.c
Objects/longobject.c
Python/compile.c
Python/marshal.c
Python/pyfpe.c

index 33d5392dffd461c73c9e1b08fa992fa41e75b3a2..049b292418d8cfdb895e0a023fbd6e9ac7c60bdb 100644 (file)
@@ -730,7 +730,7 @@ Tkapp_ExprDouble (self, args)
                return NULL;
        PyFPE_START_PROTECT("Tkapp_ExprDouble", return 0)
        retval = Tcl_ExprDouble (Tkapp_Interp (self), s, &v);
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(retval)
        if (retval == TCL_ERROR)
                return Tkinter_Error(self);
        return Py_BuildValue("d", v);
index 438f010c578f02a1c164374f4277e0b651ef94aa..4e08722bccac54f83874f6376f5ca502f6038bdc 100644 (file)
@@ -249,7 +249,7 @@ math_1(args, func)
        errno = 0;
        PyFPE_START_PROTECT("complex function", return 0)
        x = (*func)(x);
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(x)
        CHECK(x.real);
        CHECK(x.imag);
        if (errno != 0)
index 475bd7e628279c2b432ff4f78fbfaf574a93143e..b568b60eb0c6af4f115f130b968481dd97da3509 100644 (file)
@@ -120,11 +120,11 @@ static double nest1(int i, double x)
     /* This (following) message is never seen. */
     PyFPE_START_PROTECT("Division by zero, inner zone", return 3.1416)
     a = 1./(1. - x);
-    PyFPE_END_PROTECT
+    PyFPE_END_PROTECT(a)
   }else if(i == 2){
     a = 1./(2. - x);
   }
-  PyFPE_END_PROTECT
+  PyFPE_END_PROTECT(a)
 
   return a;
 }
@@ -140,7 +140,7 @@ static double nest2(int i, double x)
   }else if(i == 2){
     a = 1./(2. - x);
   }
-  PyFPE_END_PROTECT
+  PyFPE_END_PROTECT(a)
   return a;
 }
 
@@ -150,7 +150,7 @@ static double nest3(double x)
   /* This (following) message is never seen. */
   PyFPE_START_PROTECT("Division by zero, nest3 error", return 3.1416)
   result = 1./(1. - x);
-  PyFPE_END_PROTECT
+  PyFPE_END_PROTECT(result)
   return result;
 }
 
@@ -159,7 +159,7 @@ static double db0(double x)
   double a;
   PyFPE_START_PROTECT("Division by zero", return 3.1416)
   a = 1./x;
-  PyFPE_END_PROTECT
+  PyFPE_END_PROTECT(a)
   return a;
 }
 
@@ -168,7 +168,7 @@ static double overflow(double b)
   double a;
   PyFPE_START_PROTECT("Overflow", return 3.1416)
   a = b*b;
-  PyFPE_END_PROTECT
+  PyFPE_END_PROTECT(a)
   return a;
 }
 
index 779169d4bae6f8dcdb10d5012b9de7797c1a6ca3..865ecab4122fb047ec58953c304232b813930b56 100644 (file)
@@ -390,7 +390,7 @@ PyObject *args;
        PyFPE_START_PROTECT("readscaled", return 0)
        xfac = (float)xsize/(float)xwtd;
        yfac = (float)ysize/(float)ywtd;
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(yfac)
        cdatap = PyString_AsString(rv);
        idatap = (long *)cdatap;
 
index bb4f1e80bd1f27cf365745573dd72491c61597c3..0df3843ace12b0e80a12b63084e8f4084bc9f1b5 100644 (file)
@@ -82,7 +82,7 @@ math_1(args, func)
        errno = 0;
        PyFPE_START_PROTECT("in math_1", return 0)
        x = (*func)(x);
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(x)
        CHECK(x);
        if (errno != 0)
                return math_error();
@@ -101,7 +101,7 @@ math_2(args, func)
        errno = 0;
        PyFPE_START_PROTECT("in math_2", return 0)
        x = (*func)(x, y);
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(x)
        CHECK(x);
        if (errno != 0)
                return math_error();
@@ -179,7 +179,7 @@ math_ldexp(self, args)
        errno = 0;
        PyFPE_START_PROTECT("ldexp", return 0)
        x = ldexp(x, (int)y);
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(x)
        CHECK(x);
        if (errno != 0)
                return math_error();
index bf83109480ad94b58df8f86fe0441aaea408a2ec..a2bcfed7b14925a86c2477016328e4675d6f1473 100644 (file)
@@ -1497,7 +1497,7 @@ mpz_float(self)
                mulstate *= multiplier;
                mpz_div_2exp(&mpzscratch, &mpzscratch, BITS_PER_MP_LIMB);
        }
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(mulstate)
 
        assert(mpz_cmp_ui(&mpzscratch, (unsigned long int)0) == 0);
        mpz_clear(&mpzscratch);
index 212fd34e07e7128338c58131f98867614a7d0591..b141f2fd48189f2180a6f6a32a3347b02dc932a5 100644 (file)
@@ -367,7 +367,7 @@ complex_add(v, w)
        Py_complex result;
        PyFPE_START_PROTECT("complex_add", return 0)
        result = c_sum(v->cval,w->cval);
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(result)
        return newcomplexobject(result);
 }
 
@@ -379,7 +379,7 @@ complex_sub(v, w)
        Py_complex result;
        PyFPE_START_PROTECT("complex_sub", return 0)
        result = c_diff(v->cval,w->cval);
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(result)
        return newcomplexobject(result);
 }
 
@@ -391,7 +391,7 @@ complex_mul(v, w)
        Py_complex result;
        PyFPE_START_PROTECT("complex_mul", return 0)
        result = c_prod(v->cval,w->cval);
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(result)
        return newcomplexobject(result);
 }
 
@@ -404,7 +404,7 @@ complex_div(v, w)
        PyFPE_START_PROTECT("complex_div", return 0)
        c_error = 0;
        quot = c_quot(v->cval,w->cval);
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(quot)
        if (c_error == 1) {
                err_setstr(ZeroDivisionError, "complex division");
                return NULL;
@@ -480,7 +480,7 @@ complex_pow(v, w, z)
        else
                p = c_pow(v->cval,exponent);
 
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(p)
        if (c_error == 2) {
                err_setstr(ValueError, "0.0 to a negative or complex power");
                return NULL;
@@ -514,7 +514,7 @@ complex_abs(v)
        double result;
        PyFPE_START_PROTECT("complex_abs", return 0)
        result = hypot(v->cval.real,v->cval.imag);
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(result)
        return newfloatobject(result);
 }
 
index e8d0d6857e0aa795de9e7297bdd52097221a6841..72b68a983e460a8fe94b2c1474456debdc37d34b 100644 (file)
@@ -260,7 +260,7 @@ float_add(v, w)
        double result;
        PyFPE_START_PROTECT("add", return 0)
        result = v->ob_fval + w->ob_fval;
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(result)
        return newfloatobject(result);
 }
 
@@ -272,7 +272,7 @@ float_sub(v, w)
        double result;
        PyFPE_START_PROTECT("subtract", return 0)
        result = v->ob_fval - w->ob_fval;
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(result)
        return newfloatobject(result);
 }
 
@@ -285,7 +285,7 @@ float_mul(v, w)
 
        PyFPE_START_PROTECT("multiply", return 0)
        result = v->ob_fval * w->ob_fval;
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(result)
        return newfloatobject(result);
 }
 
@@ -301,7 +301,7 @@ float_div(v, w)
        }
        PyFPE_START_PROTECT("divide", return 0)
        result = v->ob_fval / w->ob_fval;
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(result)
        return newfloatobject(result);
 }
 
@@ -325,7 +325,7 @@ float_rem(v, w)
                mod += wx;
                /* div -= 1.0; */
        }
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(mod)
        return newfloatobject(mod);
 }
 
@@ -349,7 +349,7 @@ float_divmod(v, w)
                mod += wx;
                div -= 1.0;
        }
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(div)
        return mkvalue("(dd)", div, mod);
 }
 
@@ -394,7 +394,7 @@ float_pow(v, w, z)
                                if (ix!=0 && z->ob_fval<0) ix+=z->ob_fval;
                        }
                        else ix=1.0;
-                       PyFPE_END_PROTECT
+                       PyFPE_END_PROTECT(ix)
                        return newfloatobject(ix); 
                }
                errno = 0;
@@ -403,7 +403,7 @@ float_pow(v, w, z)
                        ix = powu(iv, intw);
                else
                        ix = 1./powu(iv, -intw);
-               PyFPE_END_PROTECT
+               PyFPE_END_PROTECT(ix)
        }
        else {
                /* Sort out special cases here instead of relying on pow() */
@@ -423,7 +423,7 @@ float_pow(v, w, z)
                errno = 0;
                PyFPE_START_PROTECT("pow", return 0)
                ix = pow(iv, iw);
-               PyFPE_END_PROTECT
+               PyFPE_END_PROTECT(ix)
        }
        CHECK(ix);
        if (errno != 0) {
@@ -438,7 +438,7 @@ float_pow(v, w, z)
                      ((iv<0 && z->ob_fval>0) || (iv>0 && z->ob_fval<0) )) {
                     ix+=z->ob_fval;
                    }
-               PyFPE_END_PROTECT
+               PyFPE_END_PROTECT(ix)
        }
        return newfloatobject(ix);
 }
index e0255e94d64993cd2129525d770f0b01781ada20..8de545694360dc9f1bbee0f619a3f503dc759dda 100644 (file)
@@ -1421,7 +1421,7 @@ long_float(v)
        double result;
        PyFPE_START_PROTECT("long_float", return 0)
        result = dgetlongvalue(v);
-       PyFPE_END_PROTECT
+       PyFPE_END_PROTECT(result)
        return newfloatobject(result);
 }
 
index 9f7d1f84019f421add9e1d16a6c3ff4d2b0cf614..3bdd994ea39804c42abb712abd0e6a89866cadcf 100644 (file)
@@ -818,14 +818,14 @@ parsenumber(co, s)
                c.real = 0.;
                PyFPE_START_PROTECT("atof", return 0)
                c.imag = atof(s);
-               PyFPE_END_PROTECT
+               PyFPE_END_PROTECT(c)
                return newcomplexobject(c);
        }
        else {
 #endif
                PyFPE_START_PROTECT("atof", return 0)
                dx = atof(s);
-               PyFPE_END_PROTECT
+               PyFPE_END_PROTECT(dx)
                return newfloatobject(dx);
        }
 }
index f4634f013b5daccff332c86175b7cbefdfc0b918..22d0242fed1c994b6f427d24a84b915edd9385e1 100644 (file)
@@ -422,7 +422,7 @@ r_object(p)
                        buf[n] = '\0';
                        PyFPE_START_PROTECT("atof", return 0)
                        dx = atof(buf);
-                       PyFPE_END_PROTECT
+                       PyFPE_END_PROTECT(dx)
                        return newfloatobject(dx);
                }
        
@@ -441,7 +441,7 @@ r_object(p)
                        buf[n] = '\0';
                        PyFPE_START_PROTECT("atof", return 0)
                        c.real = atof(buf);
-                       PyFPE_END_PROTECT
+                       PyFPE_END_PROTECT(c)
                        n = r_byte(p);
                        if (r_string(buf, (int)n, p) != n) {
                                err_setstr(EOFError,
@@ -451,7 +451,7 @@ r_object(p)
                        buf[n] = '\0';
                        PyFPE_START_PROTECT("atof", return 0)
                        c.imag = atof(buf);
-                       PyFPE_END_PROTECT
+                       PyFPE_END_PROTECT(c)
                        return newcomplexobject(c);
                }
 #endif
index 0b38997e10fca89eec48afc84d6a4df5d68fdc3b..a1de1af6f1a6fa8bf3951335c632f60e2d1c6d3e 100644 (file)
@@ -12,5 +12,5 @@
 #ifdef WANT_SIGFPE_HANDLER
 jmp_buf PyFPE_jbuf;
 int PyFPE_counter = 0;
-double PyFPE_dummy(void){return(1.0);}
+double PyFPE_dummy(){return(1.0);}
 #endif