Don't use PyLong_FromLong
authorTom Tromey <tromey@adacore.com>
Tue, 15 Sep 2020 17:08:56 +0000 (11:08 -0600)
committerTom Tromey <tromey@adacore.com>
Tue, 15 Sep 2020 17:08:56 +0000 (11:08 -0600)
This changes gdb to avoid PyLong_FromLong, preferring to
gdb_py_object_from_longest instead.

gdb/ChangeLog
2020-09-15  Tom Tromey  <tromey@adacore.com>

* python/python.c (gdbpy_parameter_value): Use
gdb_py_object_from_longest.
* python/py-type.c (convert_field, typy_range): Use
gdb_py_object_from_longest.
* python/py-tui.c (gdbpy_tui_width, gdbpy_tui_height): Use
gdb_py_object_from_longest.
* python/py-lazy-string.c (stpy_get_length): Use
gdb_py_object_from_longest.
* python/py-infthread.c (thpy_get_num, thpy_get_global_num): Use
gdb_py_object_from_longest.
* python/py-infevents.c (create_memory_changed_event_object): Use
gdb_py_object_from_longest.
* python/py-inferior.c (infpy_get_num): Use
gdb_py_object_from_longest.
(infpy_get_pid): Likewise.

gdb/ChangeLog
gdb/python/py-inferior.c
gdb/python/py-infevents.c
gdb/python/py-infthread.c
gdb/python/py-lazy-string.c
gdb/python/py-tui.c
gdb/python/py-type.c
gdb/python/python.c

index 504a916314f6adbf060c905dca8f298379bc61cd..eed367a49acba97ca126345c7b6dc8f6e2074c43 100644 (file)
@@ -1,3 +1,21 @@
+2020-09-15  Tom Tromey  <tromey@adacore.com>
+
+       * python/python.c (gdbpy_parameter_value): Use
+       gdb_py_object_from_longest.
+       * python/py-type.c (convert_field, typy_range): Use
+       gdb_py_object_from_longest.
+       * python/py-tui.c (gdbpy_tui_width, gdbpy_tui_height): Use
+       gdb_py_object_from_longest.
+       * python/py-lazy-string.c (stpy_get_length): Use
+       gdb_py_object_from_longest.
+       * python/py-infthread.c (thpy_get_num, thpy_get_global_num): Use
+       gdb_py_object_from_longest.
+       * python/py-infevents.c (create_memory_changed_event_object): Use
+       gdb_py_object_from_longest.
+       * python/py-inferior.c (infpy_get_num): Use
+       gdb_py_object_from_longest.
+       (infpy_get_pid): Likewise.
+
 2020-09-15  Tom Tromey  <tromey@adacore.com>
 
        * python/python-internal.h (gdb_py_long_from_ulongest): Remove
index a7699510db717fb45fd85624ce590f541c9b8ba8..7204356ac73f1de32e680789d8747c7d9c894c3a 100644 (file)
@@ -423,7 +423,7 @@ infpy_get_num (PyObject *self, void *closure)
 
   INFPY_REQUIRE_VALID (inf);
 
-  return PyLong_FromLong (inf->inferior->num);
+  return gdb_py_object_from_longest (inf->inferior->num).release ();
 }
 
 static PyObject *
@@ -433,7 +433,7 @@ infpy_get_pid (PyObject *self, void *closure)
 
   INFPY_REQUIRE_VALID (inf);
 
-  return PyLong_FromLong (inf->inferior->pid);
+  return gdb_py_object_from_longest (inf->inferior->pid).release ();
 }
 
 static PyObject *
index 3cf746103c7fb1816a25bd7380719f260eff7a19..f303c395c133319ce9091e6efbc5b498a6bba8a0 100644 (file)
@@ -104,7 +104,7 @@ create_memory_changed_event_object (CORE_ADDR addr, ssize_t len)
   if (evpy_add_attribute (event.get (), "address", addr_obj.get ()) < 0)
     return NULL;
 
-  gdbpy_ref<> len_obj (PyLong_FromLong (len));
+  gdbpy_ref<> len_obj = gdb_py_object_from_longest (len);
   if (len_obj == NULL)
     return NULL;
 
index f350e367d5ee9430833677dad99c592b927c3139..669b6d8b0742552dbdab066f8fc1afe07ad44f96 100644 (file)
@@ -130,7 +130,9 @@ thpy_get_num (PyObject *self, void *closure)
 
   THPY_REQUIRE_VALID (thread_obj);
 
-  return PyLong_FromLong (thread_obj->thread->per_inf_num);
+  gdbpy_ref<> result
+    = gdb_py_object_from_longest (thread_obj->thread->per_inf_num);
+  return result.release ();
 }
 
 /* Getter for InferiorThread.global_num.  */
@@ -142,7 +144,9 @@ thpy_get_global_num (PyObject *self, void *closure)
 
   THPY_REQUIRE_VALID (thread_obj);
 
-  return PyLong_FromLong (thread_obj->thread->global_num);
+  gdbpy_ref<> result
+    = gdb_py_object_from_longest (thread_obj->thread->global_num);
+  return result.release ();
 }
 
 /* Getter for InferiorThread.ptid  -> (pid, lwp, tid).
index 401c0a6fdf5fe495c5296c932fed717fbcb477ae..aaee94f5e1f59e7d416ef8941a40ddcc944e7844 100644 (file)
@@ -88,7 +88,7 @@ stpy_get_length (PyObject *self, void *closure)
 {
   lazy_string_object *self_string = (lazy_string_object *) self;
 
-  return PyLong_FromLong (self_string->length);
+  return gdb_py_object_from_longest (self_string->length).release ();
 }
 
 static PyObject *
index 95c71f1d2ddd24185d2983d4c73de7674a019467..8a24f2f3af41fdffe6edd6e1ca6c39b221ded946 100644 (file)
@@ -392,7 +392,9 @@ gdbpy_tui_width (PyObject *self, void *closure)
 {
   gdbpy_tui_window *win = (gdbpy_tui_window *) self;
   REQUIRE_WINDOW (win);
-  return PyLong_FromLong (win->window->viewport_width ());
+  gdbpy_ref<> result
+    = gdb_py_object_from_longest (win->window->viewport_width ());
+  return result.release ();
 }
 
 /* Return the height of the TUI window.  */
@@ -401,7 +403,9 @@ gdbpy_tui_height (PyObject *self, void *closure)
 {
   gdbpy_tui_window *win = (gdbpy_tui_window *) self;
   REQUIRE_WINDOW (win);
-  return PyLong_FromLong (win->window->viewport_height ());
+  gdbpy_ref<> result
+    = gdb_py_object_from_longest (win->window->viewport_height ());
+  return result.release ();
 }
 
 /* Return the title of the TUI window.  */
index 229fde37efec9ccd547bf4e7a3e9accab71c0b52..d487a392b11c9ebddd6a09822d6751e305529ec9 100644 (file)
@@ -233,7 +233,7 @@ convert_field (struct type *type, int field)
   if (PyObject_SetAttrString (result.get (), "is_base_class", arg.get ()) < 0)
     return NULL;
 
-  arg.reset (PyLong_FromLong (TYPE_FIELD_BITSIZE (type, field)));
+  arg = gdb_py_object_from_longest (TYPE_FIELD_BITSIZE (type, field));
   if (arg == NULL)
     return NULL;
   if (PyObject_SetAttrString (result.get (), "bitsize", arg.get ()) < 0)
@@ -596,11 +596,11 @@ typy_range (PyObject *self, PyObject *args)
       break;
     }
 
-  gdbpy_ref<> low_bound (PyLong_FromLong (low));
+  gdbpy_ref<> low_bound = gdb_py_object_from_longest (low);
   if (low_bound == NULL)
     return NULL;
 
-  gdbpy_ref<> high_bound (PyLong_FromLong (high));
+  gdbpy_ref<> high_bound = gdb_py_object_from_longest (high);
   if (high_bound == NULL)
     return NULL;
 
index 7787dce4b4cc7d04fb84920c697ab0d8c665b33e..9cc8af6333831939a90e4547650f96b6a08a3aed 100644 (file)
@@ -496,7 +496,7 @@ gdbpy_parameter_value (enum var_types type, void *var)
       /* Fall through.  */
     case var_zinteger:
     case var_zuinteger_unlimited:
-      return PyLong_FromLong (* (int *) var);
+      return gdb_py_object_from_longest (* (int *) var).release ();
 
     case var_uinteger:
       {