Logo
Explore Help
Register Sign In
fengqi/lv_micropython
1
0
Fork 0
You've already forked lv_micropython
Code Issues Pull Requests 1 Actions Packages Projects Releases Wiki Activity
lv_micropython/tests/micropython/viper_subscr_multi.py

30 lines
407 B
Python
Raw Normal View History

py/emitnative: Ensure load_subscr does not clobber existing REG_RET. Fixes issue #7782, and part of issue #6314. Signed-off-by: Damien George <damien@micropython.org>
2021-09-13 22:30:24 +10:00
# test viper with multiple subscripts in a single expression
@micropython.viper
def f1(b: ptr8):
b[0] += b[1]
py/emitnative: Ensure load_subscr does not clobber existing REG_ARG_2. Follow up from a similar fix in 426785a19eeb12aef7383fbda4693575d8c4dddf Fixes issue #6314. Signed-off-by: Damien George <damien@micropython.org>
2022-11-11 12:25:32 +11:00
b = bytearray(b"\x01\x02")
f1(b)
print(b)
py/emitnative: Ensure load_subscr does not clobber existing REG_RET. Fixes issue #7782, and part of issue #6314. Signed-off-by: Damien George <damien@micropython.org>
2021-09-13 22:30:24 +10:00
@micropython.viper
def f2(b: ptr8, i: int):
b[0] += b[i]
b = bytearray(b"\x01\x02")
f2(b, 1)
print(b)
py/emitnative: Ensure load_subscr does not clobber existing REG_ARG_2. Follow up from a similar fix in 426785a19eeb12aef7383fbda4693575d8c4dddf Fixes issue #6314. Signed-off-by: Damien George <damien@micropython.org>
2022-11-11 12:25:32 +11:00
@micropython.viper
def f3(b: ptr8) -> int:
return b[0] << 24 | b[1] << 16 | b[2] << 8 | b[3]
print(hex(f3(b"\x01\x02\x03\x04")))
Reference in New Issue Copy Permalink
Powered by Gitea Version: 1.23.8 Page: 420ms Template: 1ms
English
Bahasa Indonesia Deutsch English Español Français Gaeilge Italiano Latviešu Magyar nyelv Nederlands Polski Português de Portugal Português do Brasil Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی മലയാളം 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API