summaryrefslogtreecommitdiffstats
path: root/Tools/scripts/generate_global_objects.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/scripts/generate_global_objects.py')
-rw-r--r--Tools/scripts/generate_global_objects.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/Tools/scripts/generate_global_objects.py b/Tools/scripts/generate_global_objects.py
index c26491b..27e3530 100644
--- a/Tools/scripts/generate_global_objects.py
+++ b/Tools/scripts/generate_global_objects.py
@@ -284,6 +284,15 @@ def generate_runtime_init(identifiers, strings):
printer.write('')
with printer.block('.tuple_empty =', ','):
printer.write('.ob_base = _PyVarObject_IMMORTAL_INIT(&PyTuple_Type, 0)')
+ printer.write('')
+ printer.write("static inline void")
+ with printer.block("_PyUnicode_InitStaticStrings(void)"):
+ printer.write(f'PyObject *string;')
+ for i in sorted(identifiers):
+ # This use of _Py_ID() is ignored by iter_global_strings()
+ # since iter_files() ignores .h files.
+ printer.write(f'string = &_Py_ID({i});')
+ printer.write(f'PyUnicode_InternInPlace(&string);')
printer.write(END)
printer.write(after)
@@ -314,7 +323,4 @@ def main() -> None:
if __name__ == '__main__':
- import argparse
- parser = argparse.ArgumentParser()
- args = parser.parse_args()
- main(**vars(args))
+ main()