py: Use a dummy type for referring to extern structs

Fixes msvc linker warnings about mismatching sizes between the mp_obj_fdfile_t
struct defined in file.c and the mp_uint_t declarations found in modsys.c and modbuiltins.c
This commit is contained in:
stijn 2015-04-09 12:27:15 +02:00
parent 36cc84a2a9
commit e50cff69bb
3 changed files with 5 additions and 5 deletions

View File

@ -42,7 +42,7 @@
#endif
#if MICROPY_PY_IO
extern mp_uint_t mp_sys_stdout_obj; // type is irrelevant, just need pointer
extern struct _mp_dummy_t mp_sys_stdout_obj; // type is irrelevant, just need pointer
#endif
// args[0] is function from class body

View File

@ -39,9 +39,9 @@
/// \module sys - system specific functions
// defined per port; type of these is irrelevant, just need pointer
extern mp_uint_t mp_sys_stdin_obj;
extern mp_uint_t mp_sys_stdout_obj;
extern mp_uint_t mp_sys_stderr_obj;
extern struct _mp_dummy_t mp_sys_stdin_obj;
extern struct _mp_dummy_t mp_sys_stdout_obj;
extern struct _mp_dummy_t mp_sys_stderr_obj;
/// \constant version - Python language version that this implementation conforms to, as a string
STATIC const MP_DEFINE_STR_OBJ(version_obj, "3.4.0");

View File

@ -74,7 +74,7 @@ void mp_obj_print_helper(void (*print)(void *env, const char *fmt, ...), void *e
void mp_obj_print(mp_obj_t o_in, mp_print_kind_t kind) {
#if MICROPY_PY_IO
// defined per port; type of these is irrelevant, just need pointer
extern mp_uint_t mp_sys_stdout_obj;
extern struct _mp_dummy_t mp_sys_stdout_obj;
pfenv_t pfenv;
pfenv.data = &mp_sys_stdout_obj;
pfenv.print_strn = (void (*)(void *, const char *, mp_uint_t))mp_stream_write;