diff options
author | Vicente Olivert Riera <Vincent.Riera@imgtec.com> | 2015-09-20 09:00:50 +0100 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-09-22 18:54:31 -0700 |
commit | 587914169cc6ff7f0513bd14c42dcbb275bf77bd (patch) | |
tree | 85d1208e1b57cf099c1865b5e864e8c29da4fadf /py/compile.c | |
parent | ed22e9ba3ec6a2787cfd86f747a283cc55021a0b (diff) | |
download | micropython-587914169cc6ff7f0513bd14c42dcbb275bf77bd.tar.gz micropython-587914169cc6ff7f0513bd14c42dcbb275bf77bd.zip |
unix/modffi.c: cast first to intptr_t when casting from/to pointer
This fixes errors like these ones:
modffi.c: In function 'return_ffi_value':
modffi.c:143:29: error: cast to pointer from integer of different size
[-Werror=int-to-pointer-cast]
const char *s = (const char *)val;
^
modffi.c:162:20: error: cast to pointer from integer of different size
[-Werror=int-to-pointer-cast]
return (mp_obj_t)val;
^
modffi.c: In function 'ffifunc_call':
modffi.c:358:25: error: cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]
values[i] = (ffi_arg)a;
^
modffi.c:373:25: error: cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]
values[i] = (ffi_arg)s;
^
modffi.c:381:25: error: cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]
values[i] = (ffi_arg)bufinfo.buf;
^
modffi.c:384:25: error: cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]
values[i] = (ffi_arg)p->func;
^
These errors can be highlighted when building micropython from MIPS64
n32 because ffi_arg is 64-bit wide and the pointers on MIPS64 n32 are
32-bit wide, so it's trying to case an integer to a pointer (or
vice-versa) of a different size. We should cast first the pointer (or the
integer) to a pointer sized integer (intptr_t) to fix that problem.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Diffstat (limited to 'py/compile.c')
0 files changed, 0 insertions, 0 deletions