From 4b35aa5730cf26992453e3ce7cf74ced4128fe20 Mon Sep 17 00:00:00 2001 From: stijn Date: Thu, 10 Sep 2020 12:22:49 +0200 Subject: [PATCH] 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. --- tools/make-frozen.py | 4 ++-- tools/makemanifest.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/make-frozen.py b/tools/make-frozen.py index a8706bf784..bc35d38342 100755 --- a/tools/make-frozen.py +++ b/tools/make-frozen.py @@ -50,7 +50,7 @@ print("const uint32_t mp_frozen_str_sizes[] = {") for f, st in modules: print("%d," % st.st_size) -print("};") +print("0};") print("const char mp_frozen_str_content[] = {") for f, st in modules: @@ -82,4 +82,4 @@ for f, st in modules: chrs.append('\\0"') print("".join(chrs)) -print("};") +print('"\\0"};') diff --git a/tools/makemanifest.py b/tools/makemanifest.py index 377f245596..9ef0368260 100644 --- a/tools/makemanifest.py +++ b/tools/makemanifest.py @@ -327,7 +327,7 @@ def main(): b" (qstr_pool_t*)&mp_qstr_const_pool, MP_QSTRnumber_of, 0, 0\n" b"};\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