Merged revisions 75440 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75440 | mark.dickinson | 2009-10-15 18:45:39 +0100 (Thu, 15 Oct 2009) | 1 line

  Allow core Python build to succeed under WITHOUT_COMPLEX.  The module build stage still fails.
........
This commit is contained in:
Mark Dickinson 2009-10-15 19:55:18 +00:00
parent ffecdb1c5b
commit 42e30556e5
2 changed files with 8 additions and 3 deletions

View File

@ -895,10 +895,8 @@ compiler_add_o(struct compiler *c, PyObject *dict, PyObject *o)
{ {
PyObject *t, *v; PyObject *t, *v;
Py_ssize_t arg; Py_ssize_t arg;
unsigned char *p, *q; unsigned char *p;
Py_complex z;
double d; double d;
int real_part_zero, imag_part_zero;
/* necessary to make sure types aren't coerced (e.g., int and long) */ /* 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 */ /* _and_ to distinguish 0.0 from -0.0 e.g. on IEEE platforms */
@ -913,7 +911,11 @@ compiler_add_o(struct compiler *c, PyObject *dict, PyObject *o)
else else
t = PyTuple_Pack(2, o, o->ob_type); t = PyTuple_Pack(2, o, o->ob_type);
} }
#ifndef WITHOUT_COMPLEX
else if (PyComplex_Check(o)) { 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, /* complex case is even messier: we need to make complex(x,
0.) different from complex(x, -0.) and complex(0., y) 0.) different from complex(x, -0.) and complex(0., y)
different from complex(-0., y), for any x and y. In different from complex(-0., y), for any x and y. In
@ -943,6 +945,7 @@ compiler_add_o(struct compiler *c, PyObject *dict, PyObject *o)
t = PyTuple_Pack(2, o, o->ob_type); t = PyTuple_Pack(2, o, o->ob_type);
} }
} }
#endif /* WITHOUT_COMPLEX */
else { else {
t = PyTuple_Pack(2, o, o->ob_type); t = PyTuple_Pack(2, o, o->ob_type);
} }

View File

@ -9,6 +9,8 @@
#define FORMAT_STRING _PyUnicode_FormatAdvanced #define FORMAT_STRING _PyUnicode_FormatAdvanced
#define FORMAT_LONG _PyLong_FormatAdvanced #define FORMAT_LONG _PyLong_FormatAdvanced
#define FORMAT_FLOAT _PyFloat_FormatAdvanced #define FORMAT_FLOAT _PyFloat_FormatAdvanced
#ifndef WITHOUT_COMPLEX
#define FORMAT_COMPLEX _PyComplex_FormatAdvanced #define FORMAT_COMPLEX _PyComplex_FormatAdvanced
#endif
#include "../Objects/stringlib/formatter.h" #include "../Objects/stringlib/formatter.h"