Skip to content
  • stijn's avatar
    py/mpprint: Fix printing of 64bit integers for 64bit windows builds · 0a4eb4db
    stijn authored
    This makes all tests pass again for 64bit windows builds which would
    previously fail for anything printing ranges (builtin_range/unpack1)
    because they were printed as range( ld, ld ).
    
    This is done by reusing the mp_vprintf implementation for MICROPY_OBJ_REPR_D
    for 64bit windows builds (both msvc and mingw-w64) since the format specifier
    used for 64bit integers is also %lld, or %llu for the unsigned version.
    
    Note these specifiers used to be fetched from inttypes.h, which is the
    C99 way of working with printf/scanf in a portable way, but mingw-w64
    wants to be backwards compatible with older MS C runtimes and uses
    the non-portable %I64i instead of %lld in inttypes.h, so remove the use
    of said header again in mpconfig.h and define the specifiers manually.
    0a4eb4db