Damien George
f0778a7ccb
py: Implement default keyword only args.
...
Should finish addressing issue #524 .
2014-06-07 22:01:00 +01:00
Paul Sokolovsky
b9b9354e6c
modsys: Add optional support for sys.platform.
...
Ports which wants to have it, should define MICROPY_PY_SYS_PLATFORM to a
string value they need.
2014-06-07 23:40:04 +03:00
Paul Sokolovsky
7e4a2b0edc
py: Add generic mp_not_implemented() func to use instead of assert().
...
Benefits: won't crash baremetal targets, will provide Python source location
when not implemented feature used (it will no longer provide C source
location, but just grep for error message).
2014-06-07 23:26:27 +03:00
Damien George
aabd83ea20
py: Merge mp_execute_bytecode into fun_bc_call.
...
This reduces stack usage by 16 words (64 bytes) for stmhal/ port.
See issue #640 .
2014-06-07 14:16:08 +01:00
Damien George
82ed3d62f6
py, mk: Revert change where build variables set with ?=.
...
?= operator does not do delayed expansion (unlike =).
2014-06-07 13:14:45 +01:00
Damien George
a9b5248e18
Merge pull request #672 from marcusva/makefile
...
toolchain fixes to enable cross compatibility
2014-06-07 13:03:29 +01:00
Damien George
dc931934b3
Merge pull request #674 from marcusva/fbsd-patches
...
Build patches for FreeBSD (as discussed in the former pull request #666 )
2014-06-07 13:00:35 +01:00
Marcus von Appen
585a3394df
- Cast the struct stat sb.st_ino field to machine_int_t explicitly to avoid a
...
cast error in MP_OBJ_NEW_SMALL_INT(). This is necessary for FreeBSD, where
st_ino is of different size
- If MP_CLOCKS_PER_SEC is defined on the target host, simply define CLOCK_DIV
as a fraction, regardless of the value of MP_CLOCKS_PER_SEC.
FreeBSD uses a non-POSIX compliant value of 128 for CLOCKS_PER_SEC
2014-06-07 09:50:18 +02:00
Marcus von Appen
0c90eb1658
- FreeBSD provides alloca() via stdlib.h, in contrast to Linux and Windows
...
- Move the includes for alloca() intp mpconfigport.h
2014-06-07 09:36:04 +02:00
Marcus von Appen
8ffc02495f
- Let the build environment decide about the toolchain to be used, in case
...
there are special tweaks and paths to be considered. Just provide some
defaults, in case the values are undefined.
- py-version.sh does not need any bash specific features.
- Use libdl only on Linux for now. FreeBSD provides dl*() calls from libc.
2014-06-07 09:16:42 +02:00
Damien George
c61be8e1e1
Merge pull request #662 from stinos/windows-pathsep
...
unix: Fix path seperator used depending on OS
2014-06-07 00:05:59 +01:00
Paul Sokolovsky
180751fbf3
Merge pull request #670 from Rosuav/stringhash
...
Bring the C and Python compute_hash functions into consistency
2014-06-07 00:10:10 +03:00
Chris Angelico
de09caaa37
Bring the C and Python compute_hash functions into consistency
2014-06-07 07:06:18 +10:00
Paul Sokolovsky
d72bc2713a
objint: Fix corner case in buffer access.
2014-06-06 23:08:37 +03:00
Paul Sokolovsky
b56a53dfd6
Merge pull request #667 from Rosuav/testfixes
...
A couple of small fixes to run-tests
2014-06-06 22:23:23 +03:00
Paul Sokolovsky
8c75bd26e2
Merge pull request #668 from dhylands/print-prec
...
Fix str.modulo when precision is specified.
2014-06-06 22:12:42 +03:00
Dave Hylands
b69f9fa31f
Fix str.modulo when precision is specified.
2014-06-05 23:09:02 -07:00
Paul Sokolovsky
380f147d2e
modgc: Real 64-bit cleanness.
2014-06-06 03:01:39 +03:00
Paul Sokolovsky
a3ef8087e8
modgc: 64-bit cleanness.
2014-06-06 02:34:17 +03:00
Chris Angelico
047db2299c
Turn the Travis CI test skipping mechanism into something more generic
2014-06-06 07:51:01 +10:00
Chris Angelico
88b11b50e5
Figure out the test_name before using it (significant only to Travis skips)
2014-06-06 07:51:01 +10:00
Paul Sokolovsky
755a55f507
modgc: Implement return value for gc.collect(), enable on Unix.
2014-06-05 22:48:02 +03:00
Damien George
d4c2bddd0c
py: Raise TypeError when trying to format non-int with %x,%o,%X.
...
This behaviour follows Python 3.5 standard (in 3.4 it's a
DeprecationWarning which we'd rather make a TypeError).
2014-06-05 19:44:54 +01:00
Paul Sokolovsky
f675ff3957
Merge pull request #665 from Rosuav/naming3.3
...
Change comments (mainly URLs) to no longer specifically say Python 3.3
2014-06-05 21:17:46 +03:00
Damien George
11de8399fe
py: Small changes to objstr.c, including a bug fix.
...
Some small fixed:
- Combine 'x' and 'X' cases in str format code.
- Remove trailing spaces from some lines.
- Make exception messages consistently begin with lower case (then
needed to change those in objarray and objtuple so the same
constant string data could be used).
- Fix bug with exception message having %c instead of %%c.
2014-06-05 18:57:38 +01:00
Chris Angelico
daf973ae00
Change comments (mainly URLs) to no longer specifically say Python 3.3
2014-06-06 03:51:03 +10:00
Damien George
c074cd38c3
Merge pull request #663 from Rosuav/floatpercentx
...
Remove tests that fail under CPython 3.5
2014-06-05 18:39:08 +01:00
Paul Sokolovsky
75ce9256b2
objstr: Implement "%(key)s" % {} formatting for strings and dicts.
...
Also, make sure that args to "*" format specifiers are bounds-checked
properly and don't lead for segfaults in case of mismatch.
2014-06-05 20:06:15 +03:00
Chris Angelico
7a6e09635a
Remove tests that fail under CPython 3.5
...
See http://bugs.python.org/issue19995 for rationale. As micropython currently
aims for Python 3.3 compatibility I have not changed behaviour, but this
change allows the test suite to be run against a newer Python without having
spurious failures.
2014-06-05 22:34:11 +10:00
stijn
df3ab07994
unix: Fix path seperator used depending on OS
...
';' is the standard seperator used for paths in environment variables on Windows
2014-06-05 12:34:41 +02:00
Paul Sokolovsky
1e82ef3ae8
Merge pull request #660 from Rosuav/assert0
...
Replace assert(0) with a self-documenting TODO string
2014-06-05 12:11:48 +03:00
Paul Sokolovsky
76c8a4c91b
unix: Add setjmp-based GC register helper implementation.
...
As I suspected for a long time, for x86, register helper doesn't really make
any difference - there's simply not enough register to keep anything in
them for any prolonged time. Anything gets pushed on stack anyway. So, on
x86, uPy passed all tests even with empty reg helper. So, this setjmp
implementation goes as "untested".
2014-06-05 04:32:17 +03:00
Chris Angelico
9ab8ab2117
Replace assert(0) with a self-documenting TODO string
2014-06-05 06:05:57 +10:00
Damien George
30583f58d5
Merge pull request #653 from Metallicow/switch-example-correction
...
remove `__doc__ =` and fix tweak doc diffs
2014-06-04 13:46:35 +01:00
Damien George
95fd3528c1
Merge pull request #650 from bvernoux/master
...
micropython port for HydraBus
2014-06-03 19:29:03 +01:00
Damien George
9b967dd3cd
Merge pull request #655 from Rosuav/master
...
Two small changes
2014-06-03 19:25:37 +01:00
Chris Angelico
4867413e69
Simplify detection of quote characters in mp_str_print_quoted.
...
Once a double quote has been found, the subsequent discovery of a single quote
won't change behaviour at all, so don't bother looking for one.
2014-06-04 03:26:40 +10:00
bvernoux
82560fce75
Merge branch 'master' of https://github.com/micropython/micropython
2014-06-03 19:26:34 +02:00
Chris Angelico
29bf7393c1
Correct file reference (there's no qstrraw.h)
2014-06-04 03:15:46 +10:00
bvernoux
0a1dbfe02f
Merge branch 'master' of https://github.com/bvernoux/micropython
...
Conflicts:
README.md
2014-06-03 19:00:31 +02:00
bvernoux
c3c353d7f1
Cleanup/removed specific stuff specific to HydraBus (except board).
2014-06-03 18:59:24 +02:00
Metallicow
3d5ffa8318
remove __doc__ =
and fix tweak doc diffs
2014-06-03 07:46:12 -06:00
Damien George
b294a7e3c9
py: Properly fix configuration of float and math module.
2014-06-03 13:43:20 +01:00
Damien George
3f52262465
py: Allow tail call optimisation in mp_call_function_n_kw.
...
This saves 4 words of stack space per Python call.
2014-06-03 13:40:16 +01:00
Damien George
65ec33200a
py: Fix configuration of math module.
2014-06-03 12:33:38 +00:00
Damien George
bcb6ca4d5e
py: Implement full behaviour of dict.update(), and dict().
...
Add keyword args to dict.update(), and ability to take a dictionary as
argument.
dict() class constructor can now use dict.update() directly.
This patch loses fast path for dict(other_dict), but is that really
needed? Any anyway, this idiom will now re-hash the dictionary, so is
arguably more memory efficient.
Addresses issue #647 .
2014-06-03 12:53:44 +01:00
Damien George
07995e9479
Merge pull request #649 from pfalcon/multi-opt
...
Support multiple bytecode optimisation levels
2014-06-03 10:46:36 +01:00
Paul Sokolovsky
411732e93b
vm: If there's no lineno info, set lineno in traceback to 0, not 1.
...
To clearly signify that lineno is not known.
2014-06-03 12:32:59 +03:00
Paul Sokolovsky
b8f117dd32
py: For optimization level -O3 and higher, remove lineno info from bytecode.
2014-06-03 12:32:59 +03:00
Paul Sokolovsky
d3439d0c60
py: Instead of having "debug on" var, have "optimization level" var.
...
This allows to have multiple "optimization" levels (CPython has two
(-OO removes docstrings), we can have more).
2014-06-03 12:32:59 +03:00