tools: Write msvc-compatible frozen content.
The msvc compiler doesn't accept zero-sized arrays so let the freezing process generate compatible C code in case no modules are found and the involved arrays are all empty. This doesn't affect the functionality in any way because those arrays only get accessed when mp_frozen_mpy_names contains names, i.e. when modules are actually found.
This commit is contained in:
parent
373b400632
commit
4b35aa5730
@ -50,7 +50,7 @@ print("const uint32_t mp_frozen_str_sizes[] = {")
|
|||||||
for f, st in modules:
|
for f, st in modules:
|
||||||
print("%d," % st.st_size)
|
print("%d," % st.st_size)
|
||||||
|
|
||||||
print("};")
|
print("0};")
|
||||||
|
|
||||||
print("const char mp_frozen_str_content[] = {")
|
print("const char mp_frozen_str_content[] = {")
|
||||||
for f, st in modules:
|
for f, st in modules:
|
||||||
@ -82,4 +82,4 @@ for f, st in modules:
|
|||||||
chrs.append('\\0"')
|
chrs.append('\\0"')
|
||||||
print("".join(chrs))
|
print("".join(chrs))
|
||||||
|
|
||||||
print("};")
|
print('"\\0"};')
|
||||||
|
@ -327,7 +327,7 @@ def main():
|
|||||||
b" (qstr_pool_t*)&mp_qstr_const_pool, MP_QSTRnumber_of, 0, 0\n"
|
b" (qstr_pool_t*)&mp_qstr_const_pool, MP_QSTRnumber_of, 0, 0\n"
|
||||||
b"};\n"
|
b"};\n"
|
||||||
b'const char mp_frozen_mpy_names[1] = {"\\0"};\n'
|
b'const char mp_frozen_mpy_names[1] = {"\\0"};\n'
|
||||||
b"const mp_raw_code_t *const mp_frozen_mpy_content[0] = {};\n"
|
b"const mp_raw_code_t *const mp_frozen_mpy_content[1] = {NULL};\n"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Generate output
|
# Generate output
|
||||||
|
Loading…
x
Reference in New Issue
Block a user