From 026ac7cf69816f67b3fe9e26dc0b6c97206b8c11 Mon Sep 17 00:00:00 2001 From: Mark Dickinson Date: Thu, 15 Oct 2009 17:45:39 +0000 Subject: [PATCH] Allow core Python build to succeed under WITHOUT_COMPLEX. The module build stage still fails. --- Python/compile.c | 9 ++++++--- Python/formatter_string.c | 4 +++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Python/compile.c b/Python/compile.c index 844aca6be90..a35cda1fe88 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 e6a4d4baf53..06a2ef59031 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"