Browse Source

tools/mpy-tool.py: Fix build error when no qstrs present in frozen mpy.

If you happen to only have a really simple frozen file that doesn't contain
any new qstrs then the generated frozen_mpy.c file contains an empty
enumeration which causes a C compile time error.
pull/4150/head
Dave Hylands 6 years ago
committed by Damien George
parent
commit
39eef27083
  1. 15
      tools/mpy-tool.py

15
tools/mpy-tool.py

@ -510,13 +510,14 @@ def freeze_mpy(base_qstrs, raw_codes):
print('#endif')
print()
print('enum {')
for i in range(len(new)):
if i == 0:
print(' MP_QSTR_%s = MP_QSTRnumber_of,' % new[i][1])
else:
print(' MP_QSTR_%s,' % new[i][1])
print('};')
if len(new) > 0:
print('enum {')
for i in range(len(new)):
if i == 0:
print(' MP_QSTR_%s = MP_QSTRnumber_of,' % new[i][1])
else:
print(' MP_QSTR_%s,' % new[i][1])
print('};')
# As in qstr.c, set so that the first dynamically allocated pool is twice this size; must be <= the len
qstr_pool_alloc = min(len(new), 10)

Loading…
Cancel
Save