Paul Sokolovsky
16ac4962ae
tests: Add test for catching infinite function recursion.
...
Put into misc/ to not complicate life for builds with check disabled.
2014-06-27 00:03:56 +03:00
Paul Sokolovsky
7a8ab5a730
stmhal: Use stackctrl framework.
2014-06-27 00:03:55 +03:00
Paul Sokolovsky
23668698cb
py: Add portable framework to query/check C stack usage.
...
Such mechanism is important to get stable Python functioning, because Python
function calling is handled with C stack. The idea is to sprinkle
STACK_CHECK() calls in places where there can be C recursion.
TODO: Add more STACK_CHECK()'s.
2014-06-27 00:03:55 +03:00
Paul Sokolovsky
91b576d147
Merge pull request #719 from dhylands/pin_fix
...
Use mp_const_none to initialize mapper and map_dict (fix #701 )
2014-06-26 22:49:44 +03:00
Dave Hylands
f170735b73
Use mp_const_none to initialize mapper and map_dict
2014-06-25 16:01:19 -07:00
Paul Sokolovsky
f3de62e6c2
binary: machine_uint_t vs uint dichotomy starts doing real damage.
2014-06-26 00:41:08 +03:00
Paul Sokolovsky
8e01291c18
travis: Use unified diffs for failed tests.
2014-06-26 00:05:53 +03:00
Paul Sokolovsky
7a2f166949
modstruct: Fix alignment handling issues.
...
Also, factor out mp_binary_get_int() function.
2014-06-25 23:34:44 +03:00
Paul Sokolovsky
5aa740c3e2
modgc: Add mem_free()/mem_alloc() methods.
...
Return free/allocated memory on GC heap.
2014-06-25 14:28:11 +03:00
Damien George
e973acde81
Merge branch 'master' of github.com:micropython/micropython
2014-06-25 04:10:34 +01:00
Paul Sokolovsky
939c2e7f44
Merge pull request #690 from stinos/msvc-gc
...
msvc: Enable GC
2014-06-24 21:34:51 +03:00
Paul Sokolovsky
3c9b24bebe
modsocket: Fix uClibc detection.
2014-06-24 21:20:38 +03:00
Paul Sokolovsky
141df2d350
unix: Dump default heap size in usage message.
2014-06-24 16:58:00 +03:00
Damien George
780e54cdc3
py: Implement delete_attr in native emitter.
2014-06-22 18:35:04 +01:00
Paul Sokolovsky
cd590cbfaa
unix: Don't error out on #warning directive.
2014-06-22 19:20:55 +03:00
Paul Sokolovsky
ff5932a8d8
modsocket: Workaround uClibc issue with numeric port for getaddrinfo().
...
It sucks to workaround this on uPy side, but upgrading not upgradable
embedded systems sucks even more.
2014-06-22 19:20:55 +03:00
Paul Sokolovsky
949a49c9da
modsocket: Add call to freeaddrinfo().
2014-06-22 19:11:34 +03:00
Paul Sokolovsky
69d0a1c540
unix: uClibc doesn't like NULL as a buffer arg to realpath().
...
So, allocate one explicitly.
2014-06-22 19:08:32 +03:00
stijn
de5ce6d461
gc: Use simple cast instead of union to silence compiler
2014-06-22 11:32:32 +02:00
stijn
8abcf666cb
windows: Enable GC and implement bss start and end symbols
...
The pointers to the bss section are acquired in init.c()
by inspecting the PE header. Works for msvc and mingw.
2014-06-22 11:31:16 +02:00
Paul Sokolovsky
a96cc824bd
py: Support arm and thumb ARM ISAs, in addition to thumb2.
...
These changes were tested with QEMU, and by few people of real hardware.
2014-06-22 01:40:45 +03:00
Paul Sokolovsky
59c675a64c
py: Include mpconfig.h before all other includes.
...
It defines types used by all other headers.
Fixes #691 .
2014-06-21 22:43:22 +03:00
Paul Sokolovsky
4c4b9d15ab
mkrules.mk: Pass $(COPT) to link stage.
...
In generalize case, optimization options should be passed to all stages of
the build process.
2014-06-20 23:49:30 +03:00
Paul Sokolovsky
0fc7efb663
makefile: Pass STRIPFLAGS_EXTRA to strip.
...
Expected to be set on command line, with the idea being that for different
targets, there're different smartass ABIs which strive to put unneeded
sections into executables, etc., so let people have flexible way to
strip that.
The option name is similar to previously introduced CLFAGS_EXTRA &
LDFLAGS_EXTRA.
2014-06-20 20:25:35 +03:00
Paul Sokolovsky
17a49431d4
unix: Allow to override MICROPY_GCREGS_SETJMP from cmdline.
2014-06-20 20:22:31 +03:00
Paul Sokolovsky
7cd46a12ae
unix: Add CFLAGS_EXTRA & LDFLAGS_EXTRA for command line usage.
...
The idea is that it should be possible to pass any additional params for
experimentation without need to patch sources (and without need to deviate
from or repeat baseline options).
2014-06-20 20:21:21 +03:00
Paul Sokolovsky
7e56e55252
unix: Refactor order file munging fo MacOSX.
2014-06-20 20:21:11 +03:00
Paul Sokolovsky
eecf3e90c6
unix: Group CFLAGS related stuff together.
2014-06-20 20:21:11 +03:00
Paul Sokolovsky
2099b6897f
unix: Allow to override compiler warning options without touching the rest.
...
Some people want to enable even more warnings. Let them do it without putting
burden on everyone. Some people vice versa think that current settings should
be relaxed. In this regard, -Werror is the most problematic, it disallows to
use #warning directive, and disallows to pass configuration settings on make
command lines. Again, until decided how to deal with these globally, allow to
work around these problems locally.
2014-06-20 20:18:08 +03:00
Paul Sokolovsky
f605172d2b
tests/float/: Skip tests if "math" module is not available.
2014-06-20 18:00:23 +03:00
Paul Sokolovsky
3b6f7b95eb
py: Separate MICROPY_PY_BUILTINS_COMPLEX from MICROPY_PY_BUILTINS_FLOAT.
...
One thing is wanting to do 1 / 2 and get something else but 0, and quite
another - doing rocket science ;-).
2014-06-20 18:00:23 +03:00
Paul Sokolovsky
7efbd325bb
Merge pull request #697 from stinos/gc-debug
...
gc: More verbose debugging
2014-06-20 17:33:02 +03:00
Paul Sokolovsky
09e3f8f0d1
Merge pull request #707 from eblot/master-v1.1.1-build-fixes
...
Fix missing declaration of assert()
Replace ARRAY_SIZE with MP_ARRAY_SIZE
2014-06-20 17:29:58 +03:00
Paul Sokolovsky
74c710187c
bench: Three ways to process a byte buffer.
2014-06-19 22:27:13 +03:00
Paul Sokolovsky
59ced651b5
bench: Add test for map() vs inplace operations in array-likes.
...
map() is 5 times slower. That's mostly because of inefficiency of creating
containers from iterables of unknown length (like map()).
2014-06-19 22:19:24 +03:00
Paul Sokolovsky
17db096505
bench: Add tests for constructing various containers from iterator.
...
Both "bound" (like, length known) and "unbound" (length unknown) are tested.
All of list, tuple, bytes, bytesarray offer approximately the same
performance, with "unbound" case being 30 times slower.
2014-06-19 21:44:33 +03:00
Paul Sokolovsky
e53d2197e4
bench: Add test for function call overhead.
...
For a trivial operation, calling a function is 5 times slower than doing
operation inline.
2014-06-19 20:49:03 +03:00
Emmanuel Blot
f6932d6506
Prefix ARRAY_SIZE with micropython prefix MP_
2014-06-19 18:54:34 +02:00
Emmanuel Blot
bf3366a48b
Add missing “assert.h” file header inclusion from “nlr.h”
2014-06-19 18:47:38 +02:00
Damien George
b0851e5949
Merge pull request #700 from swegener/for-upstream
...
bare-arm, stmhal: Disable stack protector
2014-06-18 14:59:39 +01:00
Sven Wegener
c3cabf4e33
bare-arm, stmhal, teensy: Duplicate -nostdlib to CFLAGS
...
As we are building with -nostdlib gcc features like the stack protector
will fail linking, because the failure handlers are in gcc's internal
libs. Such features are implicitly disabled during compilation when
-nostdlib is used in CFLAGS too.
Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
2014-06-18 13:34:07 +02:00
Sven Wegener
afc67c6dc5
bare-arm, stmhal: Fix --nostdlib to -nostdlib
...
-nostdlib is the correct option, gcc recognizes the double dash version
when in link-only mode, but not when compiling.
Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
2014-06-18 13:33:47 +02:00
stijn
9acb5e4cf0
gc: Turn off debugging info again
2014-06-18 12:29:03 +02:00
stijn
def10cecd1
gc: Keep debug statements at beginning of scope where possible
2014-06-18 10:20:41 +02:00
Damien George
720f55cc4b
Merge pull request #698 from dhylands/adc-fix
...
Fix problem with ADC reads and multiple channels
2014-06-17 20:52:47 +01:00
Damien George
bcb3ab451b
stmhal: Toggle LED using ODR ^= pin_mask.
2014-06-17 19:57:17 +01:00
Dave Hylands
535b88133c
Fix problem with ADC reads and multiple channels
2014-06-16 09:41:58 -07:00
stijn
bbcea3f62b
gc: More verbose debugging
...
Add more DEBUG_printf statements to trace gc behaviour
2014-06-16 12:43:35 +02:00
Damien George
2547928148
stmhal: Add Python function to set UART for REPL.
...
This adds a hook to get/set pyb_uart_global_debug from Python, using
pyb.repl_uart(). You can set it to an arbitrary UART object, and then
the REPL (in and out) is repeated on this UART object (as well as on USB
CDC).
Ultimately, this will be replaced with a proper Pythonic interface to
set sys.stdin and sys.stdout.
2014-06-15 09:47:27 +01:00
Damien George
c0711cbefa
stmhal: Fix type signatures on functions that take variable args.
2014-06-15 09:32:42 +01:00