windows/py: Support 64bit mingw-w64 builds

- add mp_int_t/mp_uint_t typedefs in mpconfigport.h
- fix integer suffixes/formatting in mpconfig.h and mpz.h
- use MICROPY_NLR_SETJMP=1 in Makefile since the current nlrx64.S
  implementation causes segfaults in gc_free()
- update README
This commit is contained in:
stijn
2015-11-20 15:59:06 +01:00
committed by Paul Sokolovsky
parent a58fa27c24
commit 3baf6b5319
5 changed files with 24 additions and 3 deletions

View File

@@ -849,10 +849,14 @@ typedef double mp_float_t;
// printf format spec to use for mp_int_t and friends
#ifndef INT_FMT
#ifdef __LP64__
#if defined(__LP64__)
// Archs where mp_int_t == long, long != int
#define UINT_FMT "%lu"
#define INT_FMT "%ld"
#elif defined(_WIN64)
#include <inttypes.h>
#define UINT_FMT "%"PRIu64
#define INT_FMT "%"PRId64
#else
// Archs where mp_int_t == int
#define UINT_FMT "%u"

View File

@@ -73,7 +73,11 @@ typedef int8_t mpz_dbl_dig_signed_t;
#endif
#ifdef _WIN64
#define MPZ_LONG_1 1i64
#ifdef __MINGW32__
#define MPZ_LONG_1 1LL
#else
#define MPZ_LONG_1 1i64
#endif
#else
#define MPZ_LONG_1 1L
#endif