micropython/py
stijn 0ba68f8a1d all: Fix implicit floating point promotion.
Initially some of these were found building the unix coverage variant on
MacOS because that build uses clang and has -Wdouble-promotion enabled, and
clang performs more vigorous promotion checks than gcc.  Additionally the
codebase has been compiled with clang and msvc (the latter with warning
level 3), and with MICROPY_FLOAT_IMPL_FLOAT to find the rest of the
conversions.

Fixes are implemented either as explicit casts, or by using the correct
type, or by using one of the utility functions to handle floating point
casting; these have been moved from nativeglue.c to the public API.
2020-04-18 22:36:14 +10:00
..
argcheck.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
asmarm.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
asmarm.h py: Add support to save native, viper and asm code to .mpy files. 2019-03-08 15:53:05 +11:00
asmbase.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
asmbase.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
asmthumb.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
asmthumb.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
asmx64.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
asmx64.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
asmx86.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
asmx86.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
asmxtensa.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
asmxtensa.h py/asmxtensa: Add support for Xtensa with windowed registers. 2019-10-05 13:44:08 +10:00
bc.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
bc.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
bc0.h py/bc0.h: Shift comment to start of line to improve format consistency. 2020-02-28 10:29:32 +11:00
binary.c all: Fix implicit floating point promotion. 2020-04-18 22:36:14 +10:00
binary.h py/binary: Change mp_uint_t to size_t for index, size, align args. 2019-09-02 13:14:27 +10:00
builtin.h extmod/uasyncio: Add optional implementation of core uasyncio in C. 2020-03-26 01:25:45 +11:00
builtinevex.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
builtinhelp.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
builtinimport.c all: Clean up error strings to use lowercase and change cannot to can't. 2020-04-13 22:19:37 +10:00
compile.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
compile.h py: Add global default_emit_opt variable to make emit kind persistent. 2019-08-28 12:47:58 +10:00
dynruntime.h py/dynruntime.mk: Set MICROPY_ENABLE_DYNRUNTIME instead of per module. 2020-04-05 14:13:02 +10:00
dynruntime.mk py/dynruntime.mk: Set MICROPY_ENABLE_DYNRUNTIME instead of per module. 2020-04-05 14:13:02 +10:00
emit.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
emitbc.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
emitcommon.c py/scope: Optimise scope_find_or_add_id to not need "added" arg. 2018-10-28 00:38:18 +11:00
emitglue.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
emitglue.h py: Integrate sys.settrace feature into the VM and runtime. 2019-08-30 16:44:12 +10:00
emitinlinethumb.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
emitinlinextensa.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
emitnarm.c py/emitnative: Add support for return/break/continue in try and with. 2018-09-04 14:31:28 +10:00
emitnative.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
emitnthumb.c py/emitnative: Add support for return/break/continue in try and with. 2018-09-04 14:31:28 +10:00
emitnx64.c py/emitnative: Add support for return/break/continue in try and with. 2018-09-04 14:31:28 +10:00
emitnx86.c py/nativeglue: Add new header file with native function table typedef. 2019-12-12 20:15:28 +11:00
emitnxtensa.c py/emitnative: Add support for return/break/continue in try and with. 2018-09-04 14:31:28 +10:00
emitnxtensawin.c py: Add new Xtensa-Windowed arch for native emitter. 2019-10-05 13:44:53 +10:00
formatfloat.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
formatfloat.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
frozenmod.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
frozenmod.h various: Update early copyright years to match actual edit history. 2019-05-17 18:06:11 +10:00
gc.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
gc.h py/gc: Adjust gc_alloc() signature to be able to accept multiple flags. 2018-12-20 17:52:16 +11:00
grammar.h all: Add *FORMAT-OFF* in various places. 2020-02-28 10:31:07 +11:00
lexer.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
lexer.h py: Remove 3 obsolete commented-out lines from header files. 2019-11-26 21:36:41 +11:00
makecompresseddata.py py/makecompresseddata.py: Don't prefix str with mark if not compressed. 2020-04-13 22:21:57 +10:00
makemoduledefs.py all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
makeqstrdata.py all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
makeqstrdefs.py py: Implement "common word" compression scheme for error messages. 2020-04-05 14:20:57 +10:00
makeversionhdr.py all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
malloc.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
map.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
misc.h py: Always give noop defines when MICROPY_ROM_TEXT_COMPRESSION disabled. 2020-04-14 22:13:11 +10:00
mkenv.mk py/mkenv.mk: Move usage of 32-bit flags to py.mk. 2020-01-12 10:34:10 +11:00
mkrules.mk py: Always give noop defines when MICROPY_ROM_TEXT_COMPRESSION disabled. 2020-04-14 22:13:11 +10:00
modarray.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
modbuiltins.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
modcmath.c all: Fix implicit floating point promotion. 2020-04-18 22:36:14 +10:00
modcollections.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
modgc.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
modio.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
modmath.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
modmicropython.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
modstruct.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
modsys.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
modthread.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
moduerrno.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
mpconfig.h py/objexcept: Remove optional TimeoutError exception. 2020-04-09 16:09:38 +10:00
mperrno.h py/mperrno: Define MP_EWOULDBLOCK as EWOULDBLOCK, not EAGAIN. 2018-05-01 15:53:25 +10:00
mphal.h lib/utils/sys_stdio_mphal: Add support to poll sys.stdin and sys.stdout. 2019-07-01 17:10:12 +10:00
mpprint.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
mpprint.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
mpstate.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
mpstate.h py/qstr: Don't include or init qstr_mutex when GIL is enabled. 2020-01-23 13:29:11 +11:00
mpthread.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
mpz.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
mpz.h tools/codeformat.py: Eliminate need for sizeof fixup. 2020-03-11 14:34:40 +11:00
nativeglue.c all: Fix implicit floating point promotion. 2020-04-18 22:36:14 +10:00
nativeglue.h py/objexcept: Allow compression of exception message text. 2020-04-05 15:02:06 +10:00
nlr.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
nlr.h all: Add *FORMAT-OFF* in various places. 2020-02-28 10:31:07 +11:00
nlrpowerpc.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
nlrsetjmp.c py/nlr: Factor out common NLR code to macro and generic funcs in nlr.c. 2017-12-28 16:46:30 +11:00
nlrthumb.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
nlrx64.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
nlrx86.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
nlrxtensa.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
obj.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
obj.h all: Fix implicit floating point promotion. 2020-04-18 22:36:14 +10:00
objarray.c Revert "all: Fix implicit casts of float/double, and signed comparison." 2020-04-18 22:36:06 +10:00
objarray.h py/objarray: Introduce "memview_offset" alias for "free" field of object 2018-12-20 17:40:48 +11:00
objattrtuple.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
objbool.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
objboundmeth.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
objcell.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
objclosure.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
objcomplex.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objdeque.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objdict.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objenumerate.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
objexcept.c py: Always give noop defines when MICROPY_ROM_TEXT_COMPRESSION disabled. 2020-04-14 22:13:11 +10:00
objexcept.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
objfilter.c py: Downcase all MP_OBJ_IS_xxx macros to make a more consistent C API. 2019-02-12 14:54:51 +11:00
objfloat.c all: Fix implicit floating point promotion. 2020-04-18 22:36:14 +10:00
objfun.c tools/codeformat.py: Eliminate need for sizeof fixup. 2020-03-11 14:34:40 +11:00
objfun.h py: Integrate sys.settrace feature into the VM and runtime. 2019-08-30 16:44:12 +10:00
objgenerator.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objgenerator.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
objgetitemiter.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
objint.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objint.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
objint_longlong.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objint_mpz.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objlist.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objlist.h py/obj.h: Move declaration of mp_obj_list_init to objlist.h. 2018-03-13 14:03:15 +11:00
objmap.c py: Downcase all MP_OBJ_IS_xxx macros to make a more consistent C API. 2019-02-12 14:54:51 +11:00
objmodule.c extmod/uasyncio: Add optional implementation of core uasyncio in C. 2020-03-26 01:25:45 +11:00
objmodule.h py/objmodule.h: Remove obsolete mp_builtin_module_weak_links_map decl. 2020-02-11 15:43:13 +11:00
objnamedtuple.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objnamedtuple.h py/objnamedtuple: Allow to reuse namedtuple basic functionality. 2017-11-20 09:30:06 +02:00
objnone.c py/obj: Add MICROPY_OBJ_IMMEDIATE_OBJS option to reduce code size. 2020-01-13 01:01:45 +11:00
objobject.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objpolyiter.c all: Remove inclusion of internal py header files. 2017-10-04 12:37:50 +11:00
objproperty.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
objrange.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objreversed.c py: Downcase all MP_OBJ_IS_xxx macros to make a more consistent C API. 2019-02-12 14:54:51 +11:00
objset.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objsingleton.c py/objsingleton: Use mp_generic_unary_op for singleton objects. 2019-12-27 12:53:36 +11:00
objslice.c all: Clean up error strings to use lowercase and change cannot to can't. 2020-04-13 22:19:37 +10:00
objstr.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objstr.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
objstringio.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objstringio.h py/objstringio: If created from immutable object, follow copy on write policy. 2017-06-09 17:33:01 +03:00
objstrunicode.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objtuple.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
objtuple.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
objtype.c all: Clean up error strings to use lowercase and change cannot to can't. 2020-04-13 22:19:37 +10:00
objtype.h py/runtime: Don't allocate iter buf for user-defined types. 2019-12-27 12:34:22 +11:00
objzip.c py: Downcase all MP_OBJ_IS_xxx macros to make a more consistent C API. 2019-02-12 14:54:51 +11:00
opmethods.c py: Make mp_obj_get_type() return a const ptr to mp_obj_type_t. 2020-01-09 11:25:26 +11:00
pairheap.c py/pairheap: Properly unlink node on pop and delete. 2020-03-26 01:21:04 +11:00
pairheap.h py/pairheap: Add helper function to initialise a new node. 2020-03-26 01:21:04 +11:00
parse.c py/parse: Remove unnecessary check in const folding for ** operator. 2020-04-09 16:02:39 +10:00
parse.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
parsenum.c all: Fix implicit floating point promotion. 2020-04-18 22:36:14 +10:00
parsenum.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
parsenumbase.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
parsenumbase.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
persistentcode.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
persistentcode.h py/persistentcode: Make ARM Thumb archs support multiple sub-archs. 2019-12-12 20:15:28 +11:00
profile.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
profile.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
py.mk py: Implement "common word" compression scheme for error messages. 2020-04-05 14:20:57 +10:00
pystack.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
pystack.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
qstr.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
qstr.h py: Implement "common word" compression scheme for error messages. 2020-04-05 14:20:57 +10:00
qstrdefs.h all: Add *FORMAT-OFF* in various places. 2020-02-28 10:31:07 +11:00
reader.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
reader.h py: Allow lexer to raise exceptions during construction. 2017-03-14 11:52:05 +11:00
repl.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
repl.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
ringbuf.c py/ringbuf: Add peek16 method. 2019-11-21 12:04:53 +11:00
ringbuf.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
runtime.c all: Clean up error strings to use lowercase and change cannot to can't. 2020-04-13 22:19:37 +10:00
runtime.h py/objexcept: Allow compression of exception message text. 2020-04-05 15:02:06 +10:00
runtime0.h py/nativeglue: Add new header file with native function table typedef. 2019-12-12 20:15:28 +11:00
runtime_utils.c py: mp_call_function_*_protected(): Pass-thru return value if possible. 2017-12-05 00:38:41 +02:00
scheduler.c py/scheduler: Add assert that scheduler is locked when unlocking. 2020-04-13 21:55:47 +10:00
scope.c py/scope: Add assert to check that low numbered qstrs do fit in uint8_t. 2020-04-13 22:27:27 +10:00
scope.h py/scope: Optimise scope_find_or_add_id to not need "added" arg. 2018-10-28 00:38:18 +11:00
sequence.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
showbc.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
smallint.c all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
smallint.h py: Extend nan-boxing config to have 47-bit small integers. 2017-12-11 22:39:12 +11:00
stackctrl.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
stackctrl.h all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
stream.c all: Use MP_ERROR_TEXT for all error messages. 2020-04-05 15:02:06 +10:00
stream.h py/stream.h: Include sys/types.h to get size_t and off_t for POSIX API. 2020-03-25 01:00:52 +11:00
unicode.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
unicode.h py/objstr: Add check for valid UTF-8 when making a str from bytes. 2017-09-06 16:43:09 +10:00
vm.c py/scheduler: Fix race in checking scheduler pending state. 2020-04-13 21:55:47 +10:00
vmentrytable.h all: Add *FORMAT-OFF* in various places. 2020-02-28 10:31:07 +11:00
vstr.c all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
warning.c py: Update my copyright info on some files. 2019-02-06 00:19:00 +11:00