Allow core Python build to succeed under WITHOUT_COMPLEX. The module build stage still fails.
This commit is contained in:
parent
08133af12e
commit
026ac7cf69
|
@ -910,10 +910,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 */
|
||||||
|
@ -928,7 +926,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
|
||||||
|
@ -958,6 +960,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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/***********************************************************************/
|
/***********************************************************************/
|
||||||
/* Implements the string (as opposed to unicode) version of the
|
/* Implements the string (as opposed to unicode) version of the
|
||||||
built-in formatters for string, int, float. That is, the versions
|
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 "Python.h"
|
||||||
#include "../Objects/stringlib/stringdefs.h"
|
#include "../Objects/stringlib/stringdefs.h"
|
||||||
|
@ -10,6 +10,8 @@
|
||||||
#define FORMAT_LONG _PyLong_FormatAdvanced
|
#define FORMAT_LONG _PyLong_FormatAdvanced
|
||||||
#define FORMAT_INT _PyInt_FormatAdvanced
|
#define FORMAT_INT _PyInt_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"
|
||||||
|
|
Loading…
Reference in New Issue