diff options
author | stijn <stinos@zoho.com> | 2015-11-20 15:59:06 +0100 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-11-24 17:34:14 +0200 |
commit | 3baf6b531990dda109b9af065c94cf9eb9c0aac6 (patch) | |
tree | 8664323c408ece050b31ed751352c4402c97ba0a /py | |
parent | a58fa27c2409c393bd7df5c58e63eec2730c4f68 (diff) | |
download | micropython-3baf6b531990dda109b9af065c94cf9eb9c0aac6.tar.gz micropython-3baf6b531990dda109b9af065c94cf9eb9c0aac6.zip |
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
Diffstat (limited to 'py')
-rw-r--r-- | py/mpconfig.h | 6 | ||||
-rw-r--r-- | py/mpz.h | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/py/mpconfig.h b/py/mpconfig.h index d3a57dda4a..1453560e08 100644 --- a/py/mpconfig.h +++ b/py/mpconfig.h @@ -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" @@ -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 |