]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-116869: Make C API compatible with ISO C90 (GH-116950) (#117011)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 19 Mar 2024 16:06:15 +0000 (17:06 +0100)
committerGitHub <noreply@github.com>
Tue, 19 Mar 2024 16:06:15 +0000 (16:06 +0000)
gh-116869: Make C API compatible with ISO C90 (GH-116950)

Make the C API compatible with -Werror=declaration-after-statement
compiler flag again.
(cherry picked from commit a9c304cf020e2fa3ae78fd88359dfc808c9dd639)

Co-authored-by: Victor Stinner <vstinner@python.org>
Include/cpython/longintrepr.h
Include/object.h
Misc/NEWS.d/next/C API/2024-03-18-09-58-46.gh-issue-116869.LFDVKM.rst [new file with mode: 0644]

index 692c69ba76db2ffd25fa9f3aa2090b4fa255444e..78ac79a7cb8874b481296d08b4971c980eb8053f 100644 (file)
@@ -116,9 +116,10 @@ _PyLong_IsCompact(const PyLongObject* op) {
 static inline Py_ssize_t
 _PyLong_CompactValue(const PyLongObject *op)
 {
+    Py_ssize_t sign;
     assert(PyType_HasFeature((op)->ob_base.ob_type, Py_TPFLAGS_LONG_SUBCLASS));
     assert(PyUnstable_Long_IsCompact(op));
-    Py_ssize_t sign = 1 - (op->long_value.lv_tag & _PyLong_SIGN_MASK);
+    sign = 1 - (op->long_value.lv_tag & _PyLong_SIGN_MASK);
     return sign * (Py_ssize_t)op->long_value.ob_digit[0];
 }
 
index 5c30c77bc26a407dd1406d392a7e6fe8b8c8e69d..0d94cf825534d3fb25fd60c4329eda07b2694bd3 100644 (file)
@@ -230,8 +230,7 @@ PyAPI_DATA(PyTypeObject) PyBool_Type;
 static inline Py_ssize_t Py_SIZE(PyObject *ob) {
     assert(ob->ob_type != &PyLong_Type);
     assert(ob->ob_type != &PyBool_Type);
-    PyVarObject *var_ob = _PyVarObject_CAST(ob);
-    return var_ob->ob_size;
+    return  _PyVarObject_CAST(ob)->ob_size;
 }
 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
 #  define Py_SIZE(ob) Py_SIZE(_PyObject_CAST(ob))
diff --git a/Misc/NEWS.d/next/C API/2024-03-18-09-58-46.gh-issue-116869.LFDVKM.rst b/Misc/NEWS.d/next/C API/2024-03-18-09-58-46.gh-issue-116869.LFDVKM.rst
new file mode 100644 (file)
index 0000000..9b9d943
--- /dev/null
@@ -0,0 +1,2 @@
+Make the C API compatible with ``-Werror=declaration-after-statement``
+compiler flag again. Patch by Victor Stinner.