diff options
author | Mark Dickinson <dickinsm@gmail.com> | 2009-10-15 17:45:39 (GMT) |
---|---|---|
committer | Mark Dickinson <dickinsm@gmail.com> | 2009-10-15 17:45:39 (GMT) |
commit | 026ac7cf69816f67b3fe9e26dc0b6c97206b8c11 (patch) | |
tree | 89ba8fa5b46d6bd78d3511593ab4777f8af1773f /Python | |
parent | 08133af12e4dee7f688528075d96bb4df94dc0b0 (diff) | |
download | cpython-026ac7cf69816f67b3fe9e26dc0b6c97206b8c11.zip cpython-026ac7cf69816f67b3fe9e26dc0b6c97206b8c11.tar.gz cpython-026ac7cf69816f67b3fe9e26dc0b6c97206b8c11.tar.bz2 |
Allow core Python build to succeed under WITHOUT_COMPLEX. The module build stage still fails.
Diffstat (limited to 'Python')
-rw-r--r-- | Python/compile.c | 9 | ||||
-rw-r--r-- | Python/formatter_string.c | 4 |
2 files changed, 9 insertions, 4 deletions
diff --git a/Python/compile.c b/Python/compile.c index 844aca6..a35cda1 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -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); } diff --git a/Python/formatter_string.c b/Python/formatter_string.c index e6a4d4b..06a2ef5 100644 --- a/Python/formatter_string.c +++ b/Python/formatter_string.c @@ -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" |