]> granicus.if.org Git - python/commitdiff
Allow core Python build to succeed under WITHOUT_COMPLEX. The module build stage...
authorMark Dickinson <dickinsm@gmail.com>
Thu, 15 Oct 2009 17:45:39 +0000 (17:45 +0000)
committerMark Dickinson <dickinsm@gmail.com>
Thu, 15 Oct 2009 17:45:39 +0000 (17:45 +0000)
Python/compile.c
Python/formatter_string.c

index 844aca6be909aeb2fb8c8658aefe9e34e3d52f21..a35cda1fe88dc1525eb2629e86b511485a5876df 100644 (file)
@@ -910,10 +910,8 @@ compiler_add_o(struct compiler *c, PyObject *dict, PyObject *o)
 {
        PyObject *t, *v;
        Py_ssize_t arg;
-       unsigned char *p, *q;
-       Py_complex z;
+       unsigned char *p;
        double d;
-       int real_part_zero, imag_part_zero;
 
        /* necessary to make sure types aren't coerced (e.g., int and long) */
         /* _and_ to distinguish 0.0 from -0.0 e.g. on IEEE platforms */
@@ -928,7 +926,11 @@ compiler_add_o(struct compiler *c, PyObject *dict, PyObject *o)
                else
                        t = PyTuple_Pack(2, o, o->ob_type);
        }
+#ifndef WITHOUT_COMPLEX
        else if (PyComplex_Check(o)) {
+               Py_complex z;
+               int real_part_zero, imag_part_zero;
+               unsigned char *q;
                /* complex case is even messier: we need to make complex(x,
                   0.) different from complex(x, -0.) and complex(0., y)
                   different from complex(-0., y), for any x and y.  In
@@ -958,6 +960,7 @@ compiler_add_o(struct compiler *c, PyObject *dict, PyObject *o)
                        t = PyTuple_Pack(2, o, o->ob_type);
                }
         }
+#endif /* WITHOUT_COMPLEX */
        else {
                t = PyTuple_Pack(2, o, o->ob_type);
         }
index e6a4d4baf5366a78ad1b41bf6f671fb17f5d6f64..06a2ef590313b4e97c7144a492766aa40049c389 100644 (file)
@@ -1,7 +1,7 @@
 /***********************************************************************/
 /* Implements the string (as opposed to unicode) version of the
    built-in formatters for string, int, float.  That is, the versions
-   of int.__float__, etc., that take and return string objects */
+   of int.__format__, etc., that take and return string objects */
 
 #include "Python.h"
 #include "../Objects/stringlib/stringdefs.h"
@@ -10,6 +10,8 @@
 #define FORMAT_LONG    _PyLong_FormatAdvanced
 #define FORMAT_INT     _PyInt_FormatAdvanced
 #define FORMAT_FLOAT   _PyFloat_FormatAdvanced
+#ifndef WITHOUT_COMPLEX
 #define FORMAT_COMPLEX _PyComplex_FormatAdvanced
+#endif
 
 #include "../Objects/stringlib/formatter.h"