circuitpython/py
Angus Gratton 3b3b48892f py/objfloat: Workaround non-constant NAN definition on Windows MSVC.
Recent MSVC versions have changed the definition of NAN to a non-constant
expression!  This is a bug, C standard says it should be a constant.

Good explanation and workaround at: https://stackoverflow.com/a/79199887

This work was funded through GitHub Sponsors.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2024-11-28 23:11:24 +11:00
..
argcheck.c
asmarm.c py/asm: Add ASM_NOT_REG and ASM_NEG_REG macros for unary ops. 2024-03-19 10:31:36 +11:00
asmarm.h py/asm: Add ASM_NOT_REG and ASM_NEG_REG macros for unary ops. 2024-03-19 10:31:36 +11:00
asmbase.c py/emitndebug: Add native debug emitter. 2024-06-21 16:21:27 +10:00
asmbase.h py/asmrv32: Add RISC-V RV32IMC native code emitter. 2024-06-21 15:06:07 +10:00
asmrv32.c py/asmrv32: Use REG_TEMP2 whenever possible. 2024-08-19 15:53:50 +10:00
asmrv32.h py/asmrv32: Fix short/long jumps scheduling. 2024-08-19 15:53:50 +10:00
asmthumb.c py/misc: Move mp_clz and mp_ctz intrinsics into misc.h. 2024-06-24 14:06:54 +10:00
asmthumb.h py/asm: Add ASM_NOT_REG and ASM_NEG_REG macros for unary ops. 2024-03-19 10:31:36 +11:00
asmx64.c py/asm: Add ASM_NOT_REG and ASM_NEG_REG macros for unary ops. 2024-03-19 10:31:36 +11:00
asmx64.h py/asm: Add ASM_NOT_REG and ASM_NEG_REG macros for unary ops. 2024-03-19 10:31:36 +11:00
asmx86.c py/asm: Add ASM_NOT_REG and ASM_NEG_REG macros for unary ops. 2024-03-19 10:31:36 +11:00
asmx86.h py/asm: Add ASM_NOT_REG and ASM_NEG_REG macros for unary ops. 2024-03-19 10:31:36 +11:00
asmxtensa.c py/asmxtensa: Optimise asm_xtensa_mov_reg_i32_optimised() for tiny ints. 2024-03-19 10:31:36 +11:00
asmxtensa.h py/asmxtensa: Optimise asm_xtensa_mov_reg_i32_optimised() for tiny ints. 2024-03-19 10:31:36 +11:00
bc.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
bc.h py/emitglue: Include fun_data_len in mp_raw_code_t only when saving. 2024-02-16 14:17:01 +11:00
bc0.h
binary.c all: Use new mp_obj_new_str_from_cstr() function. 2024-07-04 15:55:03 +10:00
binary.h
builtin.h extmod/modmachine: Use sys.exit as implementation of machine.soft_reset. 2024-07-20 12:18:07 +10:00
builtinevex.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
builtinhelp.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
builtinimport.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
compile.c py/emitnative: Fix native async with. 2024-06-21 16:21:33 +10:00
compile.h py/compile: Add option to allow compiling top-level await. 2024-03-22 13:05:25 +11:00
cstack.c py: Add new cstack API for stack checking, with limit margin macro. 2024-08-14 12:55:45 +10:00
cstack.h py: Add new cstack API for stack checking, with limit margin macro. 2024-08-14 12:55:45 +10:00
dynruntime.h py/dynruntime: Export mp_load_method_maybe and mp_arg_parse_all* funcs. 2024-05-24 13:50:57 +10:00
dynruntime.mk
emit.h py/emitnative: Fix native async with. 2024-06-21 16:21:33 +10:00
emitbc.c py: Remove 5 TODOs in emitbc, objrange and repl. 2024-07-18 12:35:42 +10:00
emitcommon.c
emitglue.c py/asmrv32: Add RISC-V RV32IMC native code emitter. 2024-06-21 15:06:07 +10:00
emitglue.h py/emitglue: Add explicit cast of proto_fun to uint8_t pointer. 2024-03-04 10:27:07 +11:00
emitinlinethumb.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
emitinlinextensa.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
emitnarm.c
emitnative.c py/emitnative: Fix case of clobbered REG_TEMP0 when loading const obj. 2024-08-07 12:25:21 +10:00
emitndebug.c py/emitndebug: Add native debug emitter. 2024-06-21 16:21:27 +10:00
emitnrv32.c py/asmrv32: Add RISC-V RV32IMC native code emitter. 2024-06-21 15:06:07 +10:00
emitnthumb.c
emitnx64.c
emitnx86.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
emitnxtensa.c
emitnxtensawin.c
formatfloat.c
formatfloat.h
frozenmod.c
frozenmod.h
gc.c py/gc: Remove commented-out functions. 2024-07-19 10:36:30 +10:00
gc.h
grammar.h
lexer.c py/lexer: Add static assert that token enum values all fit in a byte. 2024-07-18 12:44:44 +10:00
lexer.h py/lexer: Add static assert that token enum values all fit in a byte. 2024-07-18 12:44:44 +10:00
make_root_pointers.py
makecompresseddata.py
makemoduledefs.py
makeqstrdata.py py/makeqstrdata.py: Ensure that scope names get low qstr values. 2024-03-26 22:52:25 +11:00
makeqstrdefs.py
makeversionhdr.py py/makeversionhdr.py: Reinstate MICROPY_GIT_HASH in mpversion.h. 2024-02-19 23:36:25 +11:00
malloc.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
map.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
misc.h pic16bit: Make it build with recent XC16 versions. 2024-10-30 17:21:30 +11:00
mkenv.mk
mkrules.cmake
mkrules.mk py/mkrules.mk: Fix 'make submodules' when building out-of-tree. 2024-08-26 12:30:24 +10:00
modarray.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modbuiltins.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modcmath.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modcollections.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
moderrno.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modgc.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modio.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modmath.c py/modmath: Add option to work around -inf bug in a port's tgamma. 2024-08-07 14:10:46 +10:00
modmicropython.c py/objringio: Add micropython.RingIO() interface for general use. 2024-09-19 18:00:44 +10:00
modstruct.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modsys.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
modthread.c py: Add new cstack API for stack checking, with limit margin macro. 2024-08-14 12:55:45 +10:00
mpconfig.h all: Bump version to 1.25.0-preview. 2024-10-28 11:08:24 +11:00
mperrno.h
mphal.h ports: Fix sys.stdout.buffer.write() return value. 2023-12-22 10:32:46 +11:00
mpprint.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
mpprint.h
mpstate.c
mpstate.h extmod/modtls_mbedtls: Add a thread-global ptr for current SSL context. 2024-10-25 01:12:36 +11:00
mpthread.h
mpz.c py/mpz: Skip separators when running out of digits to print. 2024-09-26 23:39:06 +10:00
mpz.h py/objint: Fix int.to_bytes() buffer size checks. 2024-06-24 14:07:00 +10:00
nativeglue.c py/dynruntime: Export mp_load_method_maybe and mp_arg_parse_all* funcs. 2024-05-24 13:50:57 +10:00
nativeglue.h py/dynruntime: Export mp_load_method_maybe and mp_arg_parse_all* funcs. 2024-05-24 13:50:57 +10:00
nlr.c
nlr.h py/nlrrv64: Add RISC-V RV64I NLR implementation. 2024-10-03 12:06:19 +10:00
nlraarch64.c py/nlr: Add "memory" to asm clobbers list in nlr_jump. 2024-03-25 11:52:26 +11:00
nlrmips.c py/nlr: Add "memory" to asm clobbers list in nlr_jump. 2024-03-25 11:52:26 +11:00
nlrpowerpc.c py/nlr: Add "memory" to asm clobbers list in nlr_jump. 2024-03-25 11:52:26 +11:00
nlrrv32.c py/nlrrv32: Add RISC-V RV32I NLR implementation. 2024-06-06 11:56:58 +10:00
nlrrv64.c py/nlrrv64: Add RISC-V RV64I NLR implementation. 2024-10-03 12:06:19 +10:00
nlrsetjmp.c
nlrthumb.c py/nlrthumb: Make non-Thumb2 long-jump workaround opt-in. 2024-04-25 16:06:28 +10:00
nlrx64.c py/nlr: Add "memory" to asm clobbers list in nlr_jump. 2024-03-25 11:52:26 +11:00
nlrx86.c py/nlr: Add "memory" to asm clobbers list in nlr_jump. 2024-03-25 11:52:26 +11:00
nlrxtensa.c py/nlr: Add "memory" to asm clobbers list in nlr_jump. 2024-03-25 11:52:26 +11:00
obj.c py: Add new cstack API for stack checking, with limit margin macro. 2024-08-14 12:55:45 +10:00
obj.h py/objtype: Allow passing keyword arguments to native base __init__. 2024-10-07 11:37:52 +11:00
objarray.c py/objarray: Fix buffer overflow in case of memory allocation failure. 2024-06-26 14:12:57 +10:00
objarray.h
objattrtuple.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objbool.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objboundmeth.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objcell.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objclosure.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objcomplex.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objdeque.c py/objdeque: Fix buffer overflow in deque_subscr. 2024-11-04 11:21:56 +11:00
objdict.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objenumerate.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objexcept.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objexcept.h
objfilter.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objfloat.c py/objfloat: Workaround non-constant NAN definition on Windows MSVC. 2024-11-28 23:11:24 +11:00
objfun.c py/objtype: Allow passing keyword arguments to native base __init__. 2024-10-07 11:37:52 +11:00
objfun.h py/objfun: Fix C++ compatibility with casting in inline functions. 2024-04-22 10:34:01 +10:00
objgenerator.c py: Add new cstack API for stack checking, with limit margin macro. 2024-08-14 12:55:45 +10:00
objgenerator.h
objgetitemiter.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objint.c py/objint: Make byteorder argument optional in int.from_bytes() method. 2024-09-02 14:15:45 +10:00
objint.h py/objint: Fix int.to_bytes() buffer size checks. 2024-06-24 14:07:00 +10:00
objint_longlong.c py/objint: Try to convert big-int back to small-int after binary op. 2024-07-01 13:52:59 +10:00
objint_mpz.c py/objint: Try to convert big-int back to small-int after binary op. 2024-07-01 13:52:59 +10:00
objlist.c py: Add new cstack API for stack checking, with limit margin macro. 2024-08-14 12:55:45 +10:00
objlist.h
objmap.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objmodule.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objmodule.h
objnamedtuple.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objnamedtuple.h
objnone.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objobject.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objpolyiter.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objproperty.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objrange.c py: Remove 5 TODOs in emitbc, objrange and repl. 2024-07-18 12:35:42 +10:00
objreversed.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objringio.c py/objringio: Add micropython.RingIO() interface for general use. 2024-09-19 18:00:44 +10:00
objset.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objsingleton.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objslice.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objstr.c py/objstr: Skip whitespace in bytes.fromhex(). 2024-08-19 14:18:34 +10:00
objstr.h py/objstr: Add a macro to define a bytes object at compile time. 2024-03-15 13:37:31 +11:00
objstringio.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objstringio.h
objstrunicode.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objtuple.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
objtuple.h
objtype.c py/objtype: Don't delegate lookup of descriptor methods to __getattr__. 2024-10-16 15:03:30 +11:00
objtype.h
objzip.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
opmethods.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
pairheap.c
pairheap.h
parse.c py/parse: Remove old esp32 compiler workaround. 2024-09-27 00:03:16 +10:00
parse.h
parsenum.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
parsenum.h
parsenumbase.c
parsenumbase.h
persistentcode.c py/persistentcode: Explicitly track native BSS/rodata when needed. 2024-09-26 22:15:28 +10:00
persistentcode.h py/emitndebug: Add native debug emitter. 2024-06-21 16:21:27 +10:00
profile.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
profile.h
py.cmake py/nlrrv64: Add RISC-V RV64I NLR implementation. 2024-10-03 12:06:19 +10:00
py.mk py/py.mk: Add check that any specified USER_C_MODULES folder exists. 2024-11-20 17:34:41 +11:00
pystack.c
pystack.h
qstr.c py/makeqstrdata.py: Ensure that scope names get low qstr values. 2024-03-26 22:52:25 +11:00
qstr.h py/qstr: Add support for MICROPY_QSTR_BYTES_IN_HASH=0. 2024-01-25 16:38:17 +11:00
qstrdefs.h
reader.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
reader.h
repl.c py: Remove 5 TODOs in emitbc, objrange and repl. 2024-07-18 12:35:42 +10:00
repl.h
ringbuf.c py/objringio: Add micropython.RingIO() interface for general use. 2024-09-19 18:00:44 +10:00
ringbuf.h py/objringio: Add micropython.RingIO() interface for general use. 2024-09-19 18:00:44 +10:00
runtime.c py/persistentcode: Explicitly track native BSS/rodata when needed. 2024-09-26 22:15:28 +10:00
runtime.h py: Add new cstack API for stack checking, with limit margin macro. 2024-08-14 12:55:45 +10:00
runtime0.h py/emitglue: Simplify mp_raw_code_t's kind and scope_flags members. 2024-02-16 12:48:02 +11:00
runtime_utils.c
scheduler.c py/scheduler: Only run callbacks on the main thread if GIL is disabled. 2024-09-19 13:17:01 +10:00
scope.c py/makeqstrdata.py: Ensure that scope names get low qstr values. 2024-03-26 22:52:25 +11:00
scope.h py/emitglue: Include fun_data_len in mp_raw_code_t only when saving. 2024-02-16 14:17:01 +11:00
sequence.c py/sequence: Remove unused len argument from mp_seq_extract_slice. 2024-07-18 12:51:29 +10:00
showbc.c py/emitglue: Include fun_data_len in mp_raw_code_t only when saving. 2024-02-16 14:17:01 +11:00
smallint.c
smallint.h
stackctrl.c py: Add new cstack API for stack checking, with limit margin macro. 2024-08-14 12:55:45 +10:00
stackctrl.h py: Add new cstack API for stack checking, with limit margin macro. 2024-08-14 12:55:45 +10:00
stream.c py/stream: Factor stream implementations. 2024-03-15 18:11:28 +11:00
stream.h py/stream: Factor stream implementations. 2024-03-15 18:11:28 +11:00
unicode.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
unicode.h
usermod.cmake py/usermod.cmake: If USER_C_MODULES is a folder add micropython.cmake. 2024-11-20 17:38:39 +11:00
vm.c py/emitglue: Introduce mp_proto_fun_t as a more general mp_raw_code_t. 2024-02-16 14:17:01 +11:00
vmentrytable.h
vstr.c all: Remove the "STATIC" macro and just use "static" instead. 2024-03-07 14:20:42 +11:00
warning.c