]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-46429: tweak deepfreeze output (#32107)
authorKumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Sun, 27 Mar 2022 18:46:22 +0000 (00:16 +0530)
committerGitHub <noreply@github.com>
Sun, 27 Mar 2022 18:46:22 +0000 (11:46 -0700)
Tools/scripts/deepfreeze.py

index 1831c15784af7715e0f9a73b0336a14bb5e32d32..dfa4b3a8eeb0112bcfb1c847c93659c318b2033b 100644 (file)
@@ -170,6 +170,8 @@ class Printer:
     def generate_unicode(self, name: str, s: str) -> str:
         if s in identifiers:
             return f"&_Py_ID({s})"
+        if re.match(r'\A[A-Za-z0-9_]+\Z', s):
+            name = f"const_str_{s}"
         kind, ascii = analyze_character_width(s)
         if kind == PyUnicode_1BYTE_KIND:
             datatype = "uint8_t"
@@ -326,6 +328,10 @@ class Printer:
     def generate_int(self, name: str, i: int) -> str:
         if -5 <= i <= 256:
             return f"(PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + {i}]"
+        if i >= 0:
+            name = f"const_int_{i}"
+        else:
+            name = f"const_int_negative_{abs(i)}"
         if abs(i) < 2**15:
             self._generate_int_for_bits(name, i, 2**15)
         else: