micropython/py
Damien George 791b65f4b2 py/modmicropython: Add micropython.const, alias for identity function.
Having a micropython.const identity function, and writing "from micropython
import const" at the start of scripts that use the const feature, allows to
write scripts which are compatible with CPython, and with uPy builds that
don't include const optimisation.

This patch adds such a function and updates the tests to do the import.
2016-09-27 13:34:21 +10:00
..
argcheck.c py/argcheck: Use size_t instead of mp_uint_t to count number of args. 2016-03-14 22:35:48 +00:00
asmarm.c
asmarm.h
asmthumb.c py/asmthumb: Flush D-cache, and invalidate I-cache on STM32F7. 2016-09-09 14:48:15 +10:00
asmthumb.h
asmx64.c py/asmx64: Support all 16 regs in reg to memory move instructions. 2016-02-15 09:05:50 +00:00
asmx64.h
asmx86.c
asmx86.h
bc.c py: Update opcode format table because 3 opcodes were removed, 1 added. 2016-09-23 12:48:57 +10:00
bc.h py/bc.h: Rename _mp_code_state to _mp_code_state_t. 2016-08-27 23:23:51 +10:00
bc0.h py: Combine 3 comprehension opcodes (list/dict/set) into 1. 2016-09-19 12:28:03 +10:00
binary.c
binary.h
builtin.h py: Add basic _thread module, with ability to start a new thread. 2016-06-28 11:28:48 +01:00
builtinevex.c py: Change type signature of builtin funs that take variable or kw args. 2016-01-11 00:49:27 +00:00
builtinimport.c py/builtinimport: Fix nanbox build after change to better handle -m modules. 2016-09-20 17:55:42 +03:00
compile.c py: Only store the exception instance on Py stack in bytecode try block. 2016-09-27 12:37:21 +10:00
compile.h
emit.h py: Combine 3 comprehension emit functions (list/dict/set) into 1. 2016-09-19 12:23:31 +10:00
emitbc.c py: Only store the exception instance on Py stack in bytecode try block. 2016-09-27 12:37:21 +10:00
emitcommon.c
emitglue.c py/emitglue.c: provide mp_raw_code_load_file for any unix architecture 2016-09-04 16:17:46 +10:00
emitglue.h py/emitglue: Make mp_raw_code_t* arguments constant pointers. 2016-04-13 16:05:43 +01:00
emitinlinethumb.c py/emitinlinethumb: Use qstrs instead of char* for names of asm ops. 2016-02-23 15:20:39 +00:00
emitnative.c py: Combine 3 comprehension emit functions (list/dict/set) into 1. 2016-09-19 12:23:31 +10:00
formatfloat.c py/formatfloat: Fix further cases of buffer overflow in formatting. 2016-03-29 22:07:15 +01:00
formatfloat.h
frozenmod.c py: Allow to stat and import frozen mpy files using new frozen "VFS". 2016-05-23 12:42:23 +01:00
frozenmod.h py/{builtinimport,frozenmod}: Rework frozen modules support to support packages. 2016-05-21 21:38:50 +03:00
gc.c py/gc: Add MICROPY_GC_CONSERVATIVE_CLEAR option to always zero memory. 2016-08-26 15:35:26 +10:00
gc.h py/gc: Calculate (and report) maximum contiguous free block size. 2016-07-01 00:09:55 +03:00
grammar.h py: Simplify "and" action within parser by making ident-rules explicit. 2016-04-14 13:49:23 +01:00
lexer.c py/vstr: Remove vstr.had_error flag and inline basic vstr functions. 2016-09-19 12:28:55 +10:00
lexer.h py: add async/await/async for/async with syntax 2016-04-13 15:26:38 +01:00
lexerstr.c
lexerunix.c
makeqstrdata.py py/makeqstrdata.py: Compute the qstr hash from bytes, not characters. 2016-09-02 14:32:47 +10:00
makeqstrdefs.py py/makeqstrdefs.py: Use python 2.6 syntax for set creation. 2016-09-09 23:01:23 +10:00
makeversionhdr.py
malloc.c py/gc: Add MICROPY_GC_CONSERVATIVE_CLEAR option to always zero memory. 2016-08-26 15:35:26 +10:00
map.c py: Declare constant data as properly constant. 2016-05-20 12:46:20 +01:00
misc.h py/vstr: Remove vstr.had_error flag and inline basic vstr functions. 2016-09-19 12:28:55 +10:00
mkenv.mk py: Move frozen modules rules from esp8266 port for reuse across ports. 2016-09-17 21:00:40 +03:00
mkrules.mk py: Move frozen modules rules from esp8266 port for reuse across ports. 2016-09-17 21:00:40 +03:00
modarray.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modbuiltins.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modcmath.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modcollections.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modgc.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modio.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modmath.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modmicropython.c py/modmicropython: Add micropython.const, alias for identity function. 2016-09-27 13:34:21 +10:00
modstruct.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modsys.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modthread.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
moduerrno.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
mpconfig.h py: Add MICROPY_USE_INTERNAL_PRINTF option, defaults to enabled. 2016-09-05 12:18:53 +10:00
mperrno.h py/moduerrno: Add ECONNREFUSED, one of frequent networking errors. 2016-05-28 00:17:19 +03:00
mphal.h py/mphal.h: If virtpin API is used, automagically include its header. 2016-06-19 00:12:37 +03:00
mpprint.c py/mpprint: Fail an assertion with unsupported format specifiers. 2016-09-01 18:09:44 +10:00
mpprint.h
mpstate.c py: Add MICROPY_DYNAMIC_COMPILER option to config compiler at runtime. 2016-02-25 10:05:46 +00:00
mpstate.h py/gc: Implement GC running by allocation threshold. 2016-07-21 00:37:30 +03:00
mpthread.h py/mpthread: Include mpstate.h when defining GIL macros. 2016-06-28 11:28:52 +01:00
mpz.c py/mpz: Fix mpn_div so that it doesn't modify memory of denominator. 2016-05-09 17:21:42 +01:00
mpz.h
nativeglue.c py/viper: Allow casting of Python integers to viper pointers. 2016-02-09 13:29:20 +00:00
nlr.h py/nlrsetjmp: Update to take into account new location of nlr_top. 2016-06-28 11:28:52 +01:00
nlrsetjmp.c py/nlrsetjmp: Update to take into account new location of nlr_top. 2016-06-28 11:28:52 +01:00
nlrthumb.c py: Fix nlrthumb.c when DEBUG=1 is defined 2016-07-21 00:54:21 +03:00
nlrx64.S py/nlrx64.S: Prefix mp_thread_get_state with an underscore on Mac. 2016-07-11 14:27:47 +01:00
nlrx86.S py: Add basic _thread module, with ability to start a new thread. 2016-06-28 11:28:48 +01:00
nlrxtensa.S
obj.c unix: Enable MICROPY_PY_STR_BYTES_CMP_WARN. 2016-07-22 00:52:07 +03:00
obj.h all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
objarray.c py/objarray: Split out header to allow direct access to object. 2016-07-06 18:19:27 +03:00
objarray.h py/objarray: Split out header to allow direct access to object. 2016-07-06 18:19:27 +03:00
objattrtuple.c
objbool.c py: Change first arg of type.make_new from mp_obj_t to mp_obj_type_t*. 2016-01-11 00:49:27 +00:00
objboundmeth.c py/objboundmeth: Allocate arg state on stack if heap alloc fails. 2016-03-08 15:36:53 +00:00
objcell.c
objclosure.c py: Fix passing of some wide int types to printf varg format list. 2016-03-14 22:40:39 +00:00
objcomplex.c py: Change first arg of type.make_new from mp_obj_t to mp_obj_type_t*. 2016-01-11 00:49:27 +00:00
objdict.c py/objdict: Get rid of asserts (remove/replace with mp_check_self()). 2016-08-12 22:01:11 +03:00
objenumerate.c py: Use new code pattern for parsing kw args with mp_arg_parse_all. 2016-01-13 15:47:56 +00:00
objexcept.c py/objexcept: Don't convert errno to str in constructor, do it in print. 2016-05-12 14:27:52 +01:00
objexcept.h
objfilter.c py: Get rid of assert() in method argument checking functions. 2016-08-12 22:39:03 +03:00
objfloat.c py/objfloat, py/modmath: Ensure M_PI and M_E defined. 2016-05-12 13:28:45 +01:00
objfun.c py: Rename struct mp_code_state to mp_code_state_t. 2016-08-27 23:21:00 +10:00
objfun.h
objgenerator.c py: Rename struct mp_code_state to mp_code_state_t. 2016-08-27 23:21:00 +10:00
objgenerator.h
objgetitemiter.c py/objgetitemiter: Typo fix in comment. 2016-01-23 23:30:06 +02:00
objint.c py: Use MP_SMALL_INT_POSITIVE_MASK to check if uint fits in a small int. 2016-03-10 21:52:56 +00:00
objint.h
objint_longlong.c py: Use MP_SMALL_INT_POSITIVE_MASK to check if uint fits in a small int. 2016-03-10 21:52:56 +00:00
objint_mpz.c py/mpz: Do Python style division/modulo within bignum divmod routine. 2016-05-08 22:21:21 +01:00
objlist.c py: Get rid of assert() in method argument checking functions. 2016-08-12 22:39:03 +03:00
objlist.h
objmap.c py: Get rid of assert() in method argument checking functions. 2016-08-12 22:39:03 +03:00
objmodule.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
objmodule.h
objnamedtuple.c py/objnamedtuple: Allow passing field names as a tuple. 2016-05-23 21:08:07 +01:00
objnone.c py/objnone: Use mp_generic_unary_op instead of custom one. 2016-09-19 12:28:55 +10:00
objobject.c py: Change first arg of type.make_new from mp_obj_t to mp_obj_type_t*. 2016-01-11 00:49:27 +00:00
objpolyiter.c
objproperty.c py: Get rid of assert() in method argument checking functions. 2016-08-12 22:39:03 +03:00
objrange.c py: Change first arg of type.make_new from mp_obj_t to mp_obj_type_t*. 2016-01-11 00:49:27 +00:00
objreversed.c py: Get rid of assert() in method argument checking functions. 2016-08-12 22:39:03 +03:00
objset.c py: Get rid of assert() in method argument checking functions. 2016-08-12 22:39:03 +03:00
objsingleton.c
objslice.c
objstr.c py: If str/bytes hash is 0 then explicitly compute it. 2016-09-02 14:49:50 +10:00
objstr.h py: If str/bytes hash is 0 then explicitly compute it. 2016-09-02 14:49:50 +10:00
objstringio.c py/objstringio: Implement MP_STREAM_SEEK ioctl and add seek() method. 2016-07-28 01:53:44 +03:00
objstrunicode.c py/objstr,objstrunicode: Fix inconistent #if indentation. 2016-08-07 15:24:57 +03:00
objtuple.c py/objtuple: In tuple_cmp_helper, use mp_check_self instead of raising. 2016-08-14 16:28:05 +10:00
objtuple.h
objtype.c py/objtype: Inherit protocol vtable from base class only if it exists. 2016-06-19 00:56:06 +03:00
objtype.h py: Change first arg of type.make_new from mp_obj_t to mp_obj_type_t*. 2016-01-11 00:49:27 +00:00
objzip.c py: Get rid of assert() in method argument checking functions. 2016-08-12 22:39:03 +03:00
opmethods.c
parse.c py/parse: Only replace constants that are standalone identifiers. 2016-09-23 17:23:16 +10:00
parse.h
parsenum.c py/parsenum: Use pow function to apply exponent to decimal number. 2016-03-29 22:12:07 +01:00
parsenum.h py/parsenum: Use size_t to count bytes, and int for type of base arg. 2016-03-14 22:34:03 +00:00
parsenumbase.c py/parsenum: Fix compiler warnings for no decl and signed comparison. 2016-03-14 22:52:52 +00:00
parsenumbase.h py/parsenum: Use size_t to count bytes, and int for type of base arg. 2016-03-14 22:34:03 +00:00
py.mk py/py.mk: Add support for building modussl_mbedtls. 2016-09-23 14:30:46 +03:00
qstr.c py/qstr: Remove a comment. 2016-09-19 13:18:54 +10:00
qstr.h py: Rename __QSTR_EXTRACT flag to NO_QSTR. 2016-06-16 01:42:48 +03:00
qstrdefs.h py: Add rules for automated extraction of qstrs from sources. 2016-04-16 13:18:09 +01:00
repl.c py: Declare constant data as properly constant. 2016-05-20 12:46:20 +01:00
repl.h
ringbuf.h py/ringbuf.h: Add reusable ring buffer class. 2016-03-30 14:48:31 +03:00
runtime.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
runtime.h py: Shrink mp_arg_t struct by using reduced-size integer members. 2016-09-23 12:13:51 +10:00
runtime0.h py: Extend native type-sig to use 4 bits, so uint is separate to ptr. 2016-02-02 23:16:05 +00:00
runtime_utils.c py/runtime_utils: Fix nanbox build. 2016-04-25 20:03:14 +03:00
scope.c
scope.h
sequence.c py/sequence: Allow to use bignums as indices in slice objects. 2016-08-15 23:26:34 +10:00
showbc.c py/showbc: Make printf's go to the platform print stream. 2016-09-20 11:30:54 +10:00
smallint.c
smallint.h
stackctrl.c py: Add MP_STATE_THREAD to hold state specific to a given thread. 2016-06-28 11:09:31 +01:00
stackctrl.h py/stackctrl: Add mp_stack_set_top() to explicitly set stack top value. 2016-03-07 14:12:24 +07:00
stream.c py/stream: Remove unnecessary check for NULL return from vstr_extend. 2016-09-22 10:50:47 +10:00
stream.h py/mpconfig.h: Add MICROPY_STREAMS_POSIX_API setting. 2016-07-30 20:05:56 +03:00
unicode.c py/repl: Check for an identifier char after the keyword. 2016-02-17 08:56:15 +00:00
unicode.h
vm.c py/vm: Use MP_OBJ_FROM_PTR to cast a type to an object. 2016-09-27 13:21:23 +10:00
vmentrytable.h py: Combine 3 comprehension opcodes (list/dict/set) into 1. 2016-09-19 12:28:03 +10:00
vstr.c py/vstr: Remove vstr.had_error flag and inline basic vstr functions. 2016-09-19 12:28:55 +10:00
warning.c