[Cython] longintrepr.h issues with MinGW

Robert Bradshaw robertwb at gmail.com
Tue Oct 23 19:44:27 EDT 2018


On Tue, Oct 23, 2018 at 10:22 PM Stefan Behnel <stefan_ml at behnel.de> wrote:
>
> Robert Bradshaw schrieb am 22.10.2018 um 11:03:
> > Given that https://bugs.python.org/issue4709 results in extension
> > modules that seem to work, but silently produce completely incorrect
> > answers, I'm thinking we should either disable our long-unpacking code
> > on these platforms, or at the very least give a runtime error if we
> > detect issues like sizeof(void*) != SIZEOF_VOID_P (or both).
>
> We could try to detect MinGW-64 and set the "MS_WIN64" macro before
> importing the CPython headers. That seems to be the right fix. Can't say if
> we also need to define the "MS_WIN32" macro, but would probably be better
> to have it. CPython defines both for MSVC.
>
> There is a "__MINGW64__" macro to detect MinGW-64, it seems.

I created a minimal https://github.com/cython/cython/pull/2679

> > I'm not sure what has made this issue pop up more lately (Python 3),
>
> My guess is that MinGW is just fairly rarely used to build CPython
> extensions overall.
>
> > but perhaps we should even consider releasing bugfixes for previous
> > Cython versions.
>
> You mean a 0.28.6, or even older than that?

I wish there were a good way to see what users are actually using in the wild...

> As I said, MinGW does not seem to be used very widely…

Yes, but it is used, and this is (IMHO) a really severe bug.


More information about the cython-devel mailing list