gdb/python: remove Python 2/3 compatibility macros
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 21 Mar 2022 14:07:41 +0000 (10:07 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Wed, 23 Mar 2022 11:42:57 +0000 (07:42 -0400)
New in this version:

 - Rebase on master, fix a few more issues that appeared.

python-internal.h contains a number of macros that helped make the code
work with both Python 2 and 3.  Remove them and adjust the code to use
the Python 3 functions.

Change-Id: I99a3d80067fb2d65de4f69f6473ba6ffd16efb2d

25 files changed:
gdb/python/py-arch.c
gdb/python/py-breakpoint.c
gdb/python/py-cmd.c
gdb/python/py-connection.c
gdb/python/py-frame.c
gdb/python/py-inferior.c
gdb/python/py-infthread.c
gdb/python/py-lazy-string.c
gdb/python/py-membuf.c
gdb/python/py-micmd.c
gdb/python/py-objfile.c
gdb/python/py-param.c
gdb/python/py-record-btrace.c
gdb/python/py-record-full.c
gdb/python/py-record.c
gdb/python/py-registers.c
gdb/python/py-signalevent.c
gdb/python/py-symbol.c
gdb/python/py-symtab.c
gdb/python/py-type.c
gdb/python/py-unwind.c
gdb/python/py-utils.c
gdb/python/py-xmethods.c
gdb/python/python-internal.h
gdb/python/python.c

index cc217df8a5e9a0c6502d98e7baa6270a48fd8143..d8098a2d161e503ae2716ac97abb0d24a49996a5 100644 (file)
@@ -109,7 +109,7 @@ archpy_name (PyObject *self, PyObject *args)
   ARCHPY_REQUIRE_VALID (self, gdbarch);
 
   name = (gdbarch_bfd_arch_info (gdbarch))->printable_name;
-  return PyString_FromString (name);
+  return PyUnicode_FromString (name);
 }
 
 /* Implementation of
@@ -167,7 +167,7 @@ archpy_disassemble (PyObject *self, PyObject *args, PyObject *kw)
     }
   if (count_obj)
     {
-      count = PyInt_AsLong (count_obj);
+      count = PyLong_AsLong (count_obj);
       if (PyErr_Occurred () || count < 0)
        {
          PyErr_SetString (PyExc_TypeError,
@@ -216,9 +216,8 @@ archpy_disassemble (PyObject *self, PyObject *args, PyObject *kw)
       if (pc_obj == nullptr)
        return nullptr;
 
-      gdbpy_ref<> asm_obj (PyString_FromString (!stb.empty ()
-                                               ? stb.c_str ()
-                                               : "<unknown>"));
+      gdbpy_ref<> asm_obj
+       (PyUnicode_FromString (!stb.empty () ? stb.c_str () : "<unknown>"));
       if (asm_obj == nullptr)
        return nullptr;
 
@@ -341,7 +340,7 @@ gdbpy_all_architecture_names (PyObject *self, PyObject *args)
   std::vector<const char *> name_list = gdbarch_printable_names ();
   for (const char *name : name_list)
     {
-      gdbpy_ref <> py_name (PyString_FromString (name));
+      gdbpy_ref <> py_name (PyUnicode_FromString (name));
       if (py_name == nullptr)
        return nullptr;
       if (PyList_Append (list.get (), py_name.get ()) < 0)
index 2fc20376af86203bac0f942f810e107b0099a74a..5891c3a9735b6d2ab32d47c4f73e81255224f4ca 100644 (file)
@@ -224,7 +224,7 @@ bppy_set_thread (PyObject *self, PyObject *newvalue, void *closure)
                       _("Cannot delete `thread' attribute."));
       return -1;
     }
-  else if (PyInt_Check (newvalue))
+  else if (PyLong_Check (newvalue))
     {
       if (! gdb_py_int_as_long (newvalue, &id))
        return -1;
@@ -266,7 +266,7 @@ bppy_set_task (PyObject *self, PyObject *newvalue, void *closure)
                       _("Cannot delete `task' attribute."));
       return -1;
     }
-  else if (PyInt_Check (newvalue))
+  else if (PyLong_Check (newvalue))
     {
       if (! gdb_py_int_as_long (newvalue, &id))
        return -1;
@@ -341,7 +341,7 @@ bppy_set_ignore_count (PyObject *self, PyObject *newvalue, void *closure)
                       _("Cannot delete `ignore_count' attribute."));
       return -1;
     }
-  else if (! PyInt_Check (newvalue))
+  else if (!PyLong_Check (newvalue))
     {
       PyErr_SetString (PyExc_TypeError,
                       _("The value of `ignore_count' must be an integer."));
@@ -780,9 +780,9 @@ bppy_init (PyObject *self, PyObject *args, PyObject *kwargs)
 
   if (lineobj != NULL)
     {
-      if (PyInt_Check (lineobj))
-       line = xstrprintf ("%ld", PyInt_AsLong (lineobj));
-      else if (PyString_Check (lineobj))
+      if (PyLong_Check (lineobj))
+       line = xstrprintf ("%ld", PyLong_AsLong (lineobj));
+      else if (PyUnicode_Check (lineobj))
        line = python_string_to_host_string (lineobj);
       else
        {
index b51b05c95ad24d9862a36302df1bc9ece10c0ff8..c0a985446192eba91c7153ddb2287846feaeff2d 100644 (file)
@@ -233,7 +233,7 @@ cmdpy_completer_handle_brkchars (struct cmd_list_element *command,
   if (resultobj == NULL)
     return;
 
-  if (PyInt_Check (resultobj.get ()))
+  if (PyLong_Check (resultobj.get ()))
     {
       /* User code may also return one of the completion constants,
         thus requesting that sort of completion.  We are only
@@ -277,7 +277,7 @@ cmdpy_completer (struct cmd_list_element *command,
   if (resultobj == NULL)
     return;
 
-  if (PyInt_Check (resultobj.get ()))
+  if (PyLong_Check (resultobj.get ()))
     {
       /* User code may also return one of the completion constants,
         thus requesting that sort of completion.  */
@@ -592,10 +592,10 @@ gdbpy_initialize_commands (void)
                              (PyObject *) &cmdpy_object_type) < 0)
     return -1;
 
-  invoke_cst = PyString_FromString ("invoke");
+  invoke_cst = PyUnicode_FromString ("invoke");
   if (invoke_cst == NULL)
     return -1;
-  complete_cst = PyString_FromString ("complete");
+  complete_cst = PyUnicode_FromString ("complete");
   if (complete_cst == NULL)
     return -1;
 
@@ -684,7 +684,7 @@ gdbpy_string_to_argv (PyObject *self, PyObject *args)
 
       for (char *arg : c_argv)
        {
-         gdbpy_ref<> argp (PyString_FromString (arg));
+         gdbpy_ref<> argp (PyUnicode_FromString (arg));
 
          if (argp == NULL
              || PyList_Append (py_argv.get (), argp.get ()) < 0)
index 4cdd6abbf3d4304b0df68c503947553b2fe6697a..84660414dd07b3f48c71bf02ebb652536415b120 100644 (file)
@@ -204,12 +204,12 @@ connpy_repr (PyObject *obj)
   process_stratum_target *target = self->target;
 
   if (target == nullptr)
-    return PyString_FromFormat ("<%s (invalid)>", Py_TYPE (obj)->tp_name);
+    return PyUnicode_FromFormat ("<%s (invalid)>", Py_TYPE (obj)->tp_name);
 
-  return PyString_FromFormat ("<%s num=%d, what=\"%s\">",
-                             Py_TYPE (obj)->tp_name,
-                             target->connection_number,
-                             make_target_connection_string (target).c_str ());
+  return PyUnicode_FromFormat ("<%s num=%d, what=\"%s\">",
+                              Py_TYPE (obj)->tp_name,
+                              target->connection_number,
+                              make_target_connection_string (target).c_str ());
 }
 
 /* Implementation of gdb.TargetConnection.is_valid() -> Boolean.  Returns
index 0cab8e15946548da9c2bf7b16cf19b60da98f6af..bf9eba89c5fd2bd31334545ac15d32891ad814ea 100644 (file)
@@ -80,7 +80,7 @@ static PyObject *
 frapy_str (PyObject *self)
 {
   const frame_id &fid = ((frame_object *) self)->frame_id;
-  return PyString_FromString (fid.to_string ().c_str ());
+  return PyUnicode_FromString (fid.to_string ().c_str ());
 }
 
 /* Implementation of gdb.Frame.is_valid (self) -> Boolean.
index 46f0c9ffd04dcd554f94a0bb39dfd93d3227d230..ebcd5b0a70fc31976b2b29cd244cddf1b5b5a657 100644 (file)
@@ -753,10 +753,10 @@ infpy_repr (PyObject *obj)
   inferior *inf = self->inferior;
 
   if (inf == nullptr)
-    return PyString_FromString ("<gdb.Inferior (invalid)>");
+    return PyUnicode_FromString ("<gdb.Inferior (invalid)>");
 
-  return PyString_FromFormat ("<gdb.Inferior num=%d, pid=%d>",
-                             inf->num, inf->pid);
+  return PyUnicode_FromFormat ("<gdb.Inferior num=%d, pid=%d>",
+                              inf->num, inf->pid);
 }
 
 
index c94d5b0ddab67940edc9469e6a16f4f84e5a016a..34f60526ac91045add9ae7f43427383a305422ac 100644 (file)
@@ -73,7 +73,7 @@ thpy_get_name (PyObject *self, void *ignore)
   if (name == NULL)
     Py_RETURN_NONE;
 
-  return PyString_FromString (name);
+  return PyUnicode_FromString (name);
 }
 
 /* Return a string containing target specific additional information about
@@ -101,7 +101,7 @@ thpy_get_details (PyObject *self, void *ignore)
   if (extra_info == nullptr)
     Py_RETURN_NONE;
 
-  return PyString_FromString (extra_info);
+  return PyUnicode_FromString (extra_info);
 }
 
 static int
index 69b1bc52ab9a0d7bd4f145378c1edd3b9741c59a..c49987e253002b5d46c0eab0a01e1f2ed4465c84 100644 (file)
@@ -73,7 +73,7 @@ stpy_get_encoding (PyObject *self, void *closure)
   /* An encoding can be set to NULL by the user, so check before
      attempting a Python FromString call.  If NULL return Py_None.  */
   if (self_string->encoding)
-    result = PyString_FromString (self_string->encoding);
+    result = PyUnicode_FromString (self_string->encoding);
   else
     {
       result = Py_None;
index 348dfa3f4b45a8821de5155ee38c183a17af09fe..d2a059a0e3436f96f89fe1c23792119314592b19 100644 (file)
@@ -73,11 +73,11 @@ mbpy_str (PyObject *self)
 {
   membuf_object *membuf_obj = (membuf_object *) self;
 
-  return PyString_FromFormat (_("Memory buffer for address %s, \
+  return PyUnicode_FromFormat (_("Memory buffer for address %s, \
 which is %s bytes long."),
-                             paddress (gdbpy_enter::get_gdbarch (),
-                                       membuf_obj->addr),
-                             pulongest (membuf_obj->length));
+                              paddress (gdbpy_enter::get_gdbarch (),
+                                        membuf_obj->addr),
+                              pulongest (membuf_obj->length));
 }
 
 static int
index a194798eaec5a93ba53759fba0877900c07ba1ed..a0c3071ebf8e0d33c2e01cb5151274cfe630cfe5 100644 (file)
@@ -185,7 +185,7 @@ static gdb::unique_xmalloc_ptr<char>
 py_object_to_mi_key (PyObject *key_obj)
 {
   /* The key must be a string.  */
-  if (!PyString_Check (key_obj))
+  if (!PyUnicode_Check (key_obj))
     {
       gdbpy_ref<> key_repr (PyObject_Repr (key_obj));
       gdb::unique_xmalloc_ptr<char> key_repr_string;
@@ -261,7 +261,7 @@ serialize_mi_result_1 (PyObject *result, const char *field_name)
          serialize_mi_result_1 (value, key_string.get ());
        }
     }
-  else if (PySequence_Check (result) && !PyString_Check (result))
+  else if (PySequence_Check (result) && !PyUnicode_Check (result))
     {
       ui_out_emit_list list_emitter (uiout, field_name);
       Py_ssize_t len = PySequence_Size (result);
@@ -607,7 +607,7 @@ gdbpy_initialize_micommands ()
       < 0)
     return -1;
 
-  invoke_cst = PyString_FromString ("invoke");
+  invoke_cst = PyUnicode_FromString ("invoke");
   if (invoke_cst == nullptr)
     return -1;
 
@@ -636,7 +636,7 @@ micmdpy_get_name (PyObject *self, void *closure)
 
   gdb_assert (micmd_obj->mi_command_name != nullptr);
   std::string name_str = string_printf ("-%s", micmd_obj->mi_command_name);
-  return PyString_FromString (name_str.c_str ());
+  return PyUnicode_FromString (name_str.c_str ());
 }
 
 /* Get the gdb.MICommand.installed property.  Returns true if this MI
index 8c568799843f97301d84c407dd4a81720cd988cc..3e3270e7cd373e48ce6ac5706878237c4be198dd 100644 (file)
@@ -510,10 +510,10 @@ objfpy_repr (PyObject *self_)
   objfile *obj = self->objfile;
 
   if (obj == nullptr)
-    return PyString_FromString ("<gdb.Objfile (invalid)>");
+    return PyUnicode_FromString ("<gdb.Objfile (invalid)>");
 
-  return PyString_FromFormat ("<gdb.Objfile filename=%s>",
-                             objfile_name (obj));
+  return PyUnicode_FromFormat ("<gdb.Objfile filename=%s>",
+                              objfile_name (obj));
 }
 
 /* Subroutine of gdbpy_lookup_objfile_by_build_id to simplify it.
index 6be771c2c4eb7784735d36851b27d9f4d7344d31..d0dd2a9764869ad4f72455729d6945d24711737e 100644 (file)
@@ -125,7 +125,7 @@ static PyObject *show_doc_cst;
 static PyObject *
 get_attr (PyObject *obj, PyObject *attr_name)
 {
-  if (PyString_Check (attr_name)
+  if (PyUnicode_Check (attr_name)
       && ! PyUnicode_CompareWithASCIIString (attr_name, "value"))
     {
       parmpy_object *self = (parmpy_object *) obj;
@@ -243,7 +243,7 @@ set_parameter_value (parmpy_object *self, PyObject *value)
        long l;
        int ok;
 
-       if (! PyInt_Check (value))
+       if (!PyLong_Check (value))
          {
            PyErr_SetString (PyExc_RuntimeError,
                             _("The value must be integer."));
@@ -308,7 +308,7 @@ set_parameter_value (parmpy_object *self, PyObject *value)
 static int
 set_attr (PyObject *obj, PyObject *attr_name, PyObject *val)
 {
-  if (PyString_Check (attr_name)
+  if (PyUnicode_Check (attr_name)
       && ! PyUnicode_CompareWithASCIIString (attr_name, "value"))
     {
       if (!val)
@@ -447,7 +447,7 @@ get_set_value (const char *args, int from_tty,
   gdb::unique_xmalloc_ptr<char> set_doc_string;
 
   gdbpy_enter enter_py;
-  gdbpy_ref<> set_doc_func (PyString_FromString ("get_set_string"));
+  gdbpy_ref<> set_doc_func (PyUnicode_FromString ("get_set_string"));
 
   if (set_doc_func == NULL)
     {
@@ -482,7 +482,7 @@ get_show_value (struct ui_file *file, int from_tty,
   gdb::unique_xmalloc_ptr<char> show_doc_string;
 
   gdbpy_enter enter_py;
-  gdbpy_ref<> show_doc_func (PyString_FromString ("get_show_string"));
+  gdbpy_ref<> show_doc_func (PyUnicode_FromString ("get_show_string"));
 
   if (show_doc_func == NULL)
     {
@@ -492,7 +492,7 @@ get_show_value (struct ui_file *file, int from_tty,
 
   if (PyObject_HasAttr (obj, show_doc_func.get ()))
     {
-      gdbpy_ref<> val_obj (PyString_FromString (value));
+      gdbpy_ref<> val_obj (PyUnicode_FromString (value));
 
       if (val_obj == NULL)
        {
@@ -835,10 +835,10 @@ gdbpy_initialize_parameters (void)
   if (PyType_Ready (&parmpy_object_type) < 0)
     return -1;
 
-  set_doc_cst = PyString_FromString ("set_doc");
+  set_doc_cst = PyUnicode_FromString ("set_doc");
   if (! set_doc_cst)
     return -1;
-  show_doc_cst = PyString_FromString ("show_doc");
+  show_doc_cst = PyUnicode_FromString ("show_doc");
   if (! show_doc_cst)
     return -1;
 
index bee17e0e3cc26746f1adae4b2bf564130e9561b1..85401010f0a030c296f62a5a98162d5ccf4f315d 100644 (file)
@@ -471,9 +471,9 @@ btpy_list_slice (PyObject *self, PyObject *value)
   const Py_ssize_t length = btpy_list_length (self);
   Py_ssize_t start, stop, step, slicelength;
 
-  if (PyInt_Check (value))
+  if (PyLong_Check (value))
     {
-      Py_ssize_t index = PyInt_AsSsize_t (value);
+      Py_ssize_t index = PyLong_AsSsize_t (value);
 
       /* Emulate Python behavior for negative indices.  */
       if (index < 0)
@@ -607,7 +607,7 @@ btpy_list_richcompare (PyObject *self, PyObject *other, int op)
 PyObject *
 recpy_bt_method (PyObject *self, void *closure)
 {
-  return PyString_FromString ("btrace");
+  return PyUnicode_FromString ("btrace");
 }
 
 /* Implementation of
@@ -628,7 +628,7 @@ recpy_bt_format (PyObject *self, void *closure)
   if (config == NULL)
     Py_RETURN_NONE;
 
-  return PyString_FromString (btrace_format_short_string (config->format));
+  return PyUnicode_FromString (btrace_format_short_string (config->format));
 }
 
 /* Implementation of
index 1caec735c4972e4c3c70175dc5371bb258e50dad..ecae08bfc956c5b4d448dc71f9fe7a3b34770faa 100644 (file)
@@ -26,7 +26,7 @@
 PyObject *
 recpy_full_method (PyObject *self, void *closure)
 {
-  return PyString_FromString ("full");
+  return PyUnicode_FromString ("full");
 }
 
 /* Implementation of
@@ -35,5 +35,5 @@ recpy_full_method (PyObject *self, void *closure)
 PyObject *
 recpy_full_format (PyObject *self, void *closure)
 {
-  return PyString_FromString ("full");
+  return PyUnicode_FromString ("full");
 }
index a4ab2936b01431c15e9efb03b0e00183c613bc87..51084dfac72c703aa7340aec56a7c8e17af8c58e 100644 (file)
@@ -474,7 +474,7 @@ recpy_gap_reason_string (PyObject *self, void *closure)
 {
   const recpy_gap_object * const obj = (const recpy_gap_object *) self;
 
-  return PyString_FromString (obj->reason_string);
+  return PyUnicode_FromString (obj->reason_string);
 }
 
 /* Record method list.  */
index b3f784e7fc516957f5a398ffe646c2f3cbcf9d32..eab88a30b3b7640483042a48d0ceec2ff081fbbe 100644 (file)
@@ -138,7 +138,7 @@ gdbpy_reggroup_to_string (PyObject *self)
   struct reggroup *reggroup = group->reggroup;
 
   const char *name = reggroup_name (reggroup);
-  return PyString_FromString (name);
+  return PyUnicode_FromString (name);
 }
 
 /* Implement gdb.RegisterGroup.name (self) -> String.
@@ -196,7 +196,7 @@ gdbpy_register_descriptor_to_string (PyObject *self)
   int regnum = reg->regnum;
 
   const char *name = gdbarch_register_name (gdbarch, regnum);
-  return PyString_FromString (name);
+  return PyUnicode_FromString (name);
 }
 
 /* Implement gdb.RegisterDescriptor.name attribute get function.  Return a
@@ -391,7 +391,7 @@ gdbpy_parse_register_id (struct gdbarch *gdbarch, PyObject *pyo_reg_id,
        }
     }
   /* The register could be its internal GDB register number.  */
-  else if (PyInt_Check (pyo_reg_id))
+  else if (PyLong_Check (pyo_reg_id))
     {
       long value;
       if (gdb_py_int_as_long (pyo_reg_id, &value) && (int) value == value)
index e349f6107b2919a2468387c851176a5e275ca5bc..69eeebbfaaa774a36d936cdb5c8a2b9308374ce4 100644 (file)
@@ -31,7 +31,7 @@ create_signal_event_object (enum gdb_signal stop_signal)
 
   const char *signal_name = gdb_signal_to_name (stop_signal);
 
-  gdbpy_ref<> signal_name_obj (PyString_FromString (signal_name));
+  gdbpy_ref<> signal_name_obj (PyUnicode_FromString (signal_name));
   if (signal_name_obj == NULL)
     return NULL;
   if (evpy_add_attribute (signal_event_obj.get (),
index 819a51f7e4147ea23c41a1feff4a9e844649a3ed..12c97bf63bbfa33710635f2563d1e60fb45c4bfa 100644 (file)
@@ -60,7 +60,7 @@ sympy_str (PyObject *self)
 
   SYMPY_REQUIRE_VALID (self, symbol);
 
-  result = PyString_FromString (symbol->print_name ());
+  result = PyUnicode_FromString (symbol->print_name ());
 
   return result;
 }
@@ -101,7 +101,7 @@ sympy_get_name (PyObject *self, void *closure)
 
   SYMPY_REQUIRE_VALID (self, symbol);
 
-  return PyString_FromString (symbol->natural_name ());
+  return PyUnicode_FromString (symbol->natural_name ());
 }
 
 static PyObject *
@@ -111,7 +111,7 @@ sympy_get_linkage_name (PyObject *self, void *closure)
 
   SYMPY_REQUIRE_VALID (self, symbol);
 
-  return PyString_FromString (symbol->linkage_name ());
+  return PyUnicode_FromString (symbol->linkage_name ());
 }
 
 static PyObject *
index cb28264a03f28e6fa500c2f502eeb8802dbe34fb..bfda599ddddeecdb71d2cec9849a5c9be4ab45e9 100644 (file)
@@ -93,7 +93,7 @@ stpy_str (PyObject *self)
 
   STPY_REQUIRE_VALID (self, symtab);
 
-  result = PyString_FromString (symtab_to_filename_for_display (symtab));
+  result = PyUnicode_FromString (symtab_to_filename_for_display (symtab));
 
   return result;
 }
@@ -234,8 +234,8 @@ salpy_str (PyObject *self)
       filename = symtab_to_filename_for_display (symtab);
     }
 
-  return PyString_FromFormat ("symbol and line for %s, line %d", filename,
-                             sal->line);
+  return PyUnicode_FromFormat ("symbol and line for %s, line %d", filename,
+                              sal->line);
 }
 
 static void
index 8838884592e6b9af9400f2a10252696460304f3c..5352ead84bdd94a48703cac443b3a39155454e13 100644 (file)
@@ -209,7 +209,7 @@ convert_field (struct type *type, int field)
 
       if (field_name[0] != '\0')
        {
-         arg.reset (PyString_FromString (type->field (field).name ()));
+         arg.reset (PyUnicode_FromString (type->field (field).name ()));
          if (arg == NULL)
            return NULL;
        }
@@ -261,7 +261,7 @@ field_name (struct type *type, int field)
   gdbpy_ref<> result;
 
   if (type->field (field).name ())
-    result.reset (PyString_FromString (type->field (field).name ()));
+    result.reset (PyUnicode_FromString (type->field (field).name ()));
   else
     result = gdbpy_ref<>::new_reference (Py_None);
 
@@ -399,9 +399,9 @@ typy_get_name (PyObject *self, void *closure)
     {
       std::string name = ada_decode (type->name (), false);
       if (!name.empty ())
-       return PyString_FromString (name.c_str ());
+       return PyUnicode_FromString (name.c_str ());
     }
-  return PyString_FromString (type->name ());
+  return PyUnicode_FromString (type->name ());
 }
 
 /* Return the type's tag, or None.  */
@@ -418,7 +418,7 @@ typy_get_tag (PyObject *self, void *closure)
 
   if (tagname == nullptr)
     Py_RETURN_NONE;
-  return PyString_FromString (tagname);
+  return PyUnicode_FromString (tagname);
 }
 
 /* Return the type's objfile, or None.  */
@@ -539,7 +539,7 @@ typy_array_1 (PyObject *self, PyObject *args, int is_vector)
 
   if (n2_obj)
     {
-      if (!PyInt_Check (n2_obj))
+      if (!PyLong_Check (n2_obj))
        {
          PyErr_SetString (PyExc_RuntimeError,
                           _("Array bound must be an integer"));
index 36f42cbcac39d5e5fb9cc7c4889f778ceb670e24..dd43901be2159be0f31f1eb4007f5c805f663e50 100644 (file)
@@ -213,7 +213,7 @@ unwind_infopy_str (PyObject *self)
     stb.puts (")");
   }
 
-  return PyString_FromString (stb.c_str ());
+  return PyUnicode_FromString (stb.c_str ());
 }
 
 /* Create UnwindInfo instance for given PendingFrame and frame ID.
@@ -349,7 +349,7 @@ pending_framepy_str (PyObject *self)
   const char *pc_str = NULL;
 
   if (frame == NULL)
-    return PyString_FromString ("Stale PendingFrame instance");
+    return PyUnicode_FromString ("Stale PendingFrame instance");
   try
     {
       sp_str = core_addr_to_string_nz (get_frame_sp (frame));
@@ -360,7 +360,7 @@ pending_framepy_str (PyObject *self)
       GDB_PY_HANDLE_EXCEPTION (except);
     }
 
-  return PyString_FromFormat ("SP=%s,PC=%s", sp_str, pc_str);
+  return PyUnicode_FromFormat ("SP=%s,PC=%s", sp_str, pc_str);
 }
 
 /* Implementation of gdb.PendingFrame.read_register (self, reg) -> gdb.Value.
index e7b147c92d39f64a6ae7ded30b1aab910187baa9..72b7eaa23904ed8f3619c18b7a9b16ab85b92b03 100644 (file)
@@ -152,8 +152,8 @@ python_string_to_host_string (PyObject *obj)
 gdbpy_ref<>
 host_string_to_python_string (const char *str)
 {
-  return gdbpy_ref<> (PyString_Decode (str, strlen (str), host_charset (),
-                                      NULL));
+  return gdbpy_ref<> (PyUnicode_Decode (str, strlen (str), host_charset (),
+                                       NULL));
 }
 
 /* Return true if OBJ is a Python string or unicode object, false
@@ -294,13 +294,13 @@ gdb_py_object_from_ulongest (ULONGEST l)
   return gdbpy_ref<> (PyLong_FromUnsignedLong (l));
 }
 
-/* Like PyInt_AsLong, but returns 0 on failure, 1 on success, and puts
+/* Like PyLong_AsLong, but returns 0 on failure, 1 on success, and puts
    the value into an out parameter.  */
 
 int
 gdb_py_int_as_long (PyObject *obj, long *result)
 {
-  *result = PyInt_AsLong (obj);
+  *result = PyLong_AsLong (obj);
   return ! (*result == -1 && PyErr_Occurred ());
 }
 
index 9d5824962b1b403c0b175b5e47cbdaa9d922cabc..1467e52a96067641466e7d85e16a70924e89cc7d 100644 (file)
@@ -103,7 +103,7 @@ invoke_match_method (PyObject *matcher, PyObject *py_obj_type,
   if (match_method == NULL)
     return NULL;
 
-  gdbpy_ref<> py_xmethod_name (PyString_FromString (xmethod_name));
+  gdbpy_ref<> py_xmethod_name (PyUnicode_FromString (xmethod_name));
   if (py_xmethod_name == NULL)
     return NULL;
 
@@ -601,12 +601,12 @@ python_xmethod_worker::python_xmethod_worker (PyObject *py_worker,
 int
 gdbpy_initialize_xmethods (void)
 {
-  py_match_method_name = PyString_FromString (match_method_name);
+  py_match_method_name = PyUnicode_FromString (match_method_name);
   if (py_match_method_name == NULL)
     return -1;
 
   py_get_arg_types_method_name
-    = PyString_FromString (get_arg_types_method_name);
+    = PyUnicode_FromString (get_arg_types_method_name);
   if (py_get_arg_types_method_name == NULL)
     return -1;
 
index ccf440c9dddb4b8d7427312f5beae2cddb7322a3..d947b96033b5b180543b904e413c0d9baf782a49 100644 (file)
 
 #define Py_TPFLAGS_CHECKTYPES 0
 
-#define PyInt_Check PyLong_Check
-#define PyInt_AsLong PyLong_AsLong
-#define PyInt_AsSsize_t PyLong_AsSsize_t
-
-#define PyString_FromString PyUnicode_FromString
-#define PyString_Decode PyUnicode_Decode
-#define PyString_FromFormat PyUnicode_FromFormat
-#define PyString_Check PyUnicode_Check
-
 /* If Python.h does not define WITH_THREAD, then the various
    GIL-related functions will not be defined.  However,
    PyGILState_STATE will be.  */
@@ -141,19 +132,6 @@ typedef long Py_hash_t;
 #define PyMem_RawMalloc PyMem_Malloc
 #endif
 
-/* Python 2.6 did not wrap Py_DECREF in 'do {...} while (0)', leading
-   to 'suggest explicit braces to avoid ambiguous ‘else’' gcc errors.
-   Wrap it ourselves, so that callers don't need to care.  */
-
-static inline void
-gdb_Py_DECREF (void *op) /* ARI: editCase function */
-{
-  Py_DECREF (op);
-}
-
-#undef Py_DECREF
-#define Py_DECREF(op) gdb_Py_DECREF (op)
-
 /* PyObject_CallMethod's 'method' and 'format' parameters were missing
    the 'const' qualifier before Python 3.4.  Hence, we wrap the
    function in our own version to avoid errors with string literals.
index dc4edaa9b282622988c13b7308cb9c8bc06fd3fc..f0d788bf8d5e31dff1e98d20329ea720dbc23d23 100644 (file)
@@ -685,7 +685,7 @@ execute_gdb_command (PyObject *self, PyObject *args, PyObject *kw)
     }
 
   if (to_string)
-    return PyString_FromString (to_string_res.c_str ());
+    return PyUnicode_FromString (to_string_res.c_str ());
   Py_RETURN_NONE;
 }
 
@@ -931,7 +931,7 @@ gdbpy_decode_line (PyObject *self, PyObject *args)
 
   if (arg != NULL && strlen (arg) > 0)
     {
-      unparsed.reset (PyString_FromString (arg));
+      unparsed.reset (PyUnicode_FromString (arg));
       if (unparsed == NULL)
        return NULL;
     }
@@ -1093,7 +1093,7 @@ gdbpy_before_prompt_hook (const struct extension_language_defn *extlang,
 
       if (PyCallable_Check (hook.get ()))
        {
-         gdbpy_ref<> current_prompt (PyString_FromString (current_gdb_prompt));
+         gdbpy_ref<> current_prompt (PyUnicode_FromString (current_gdb_prompt));
          if (current_prompt == NULL)
            {
              gdbpy_print_stack ();
@@ -1112,7 +1112,7 @@ gdbpy_before_prompt_hook (const struct extension_language_defn *extlang,
          /* Return type should be None, or a String.  If it is None,
             fall through, we will not set a prompt.  If it is a
             string, set  PROMPT.  Anything else, set an exception.  */
-         if (result != Py_None && ! PyString_Check (result.get ()))
+         if (result != Py_None && !PyUnicode_Check (result.get ()))
            {
              PyErr_Format (PyExc_RuntimeError,
                            _("Return from prompt_hook must " \
@@ -1171,7 +1171,7 @@ gdbpy_colorize (const std::string &filename, const std::string &contents)
   if (!PyCallable_Check (hook.get ()))
     return {};
 
-  gdbpy_ref<> fname_arg (PyString_FromString (filename.c_str ()));
+  gdbpy_ref<> fname_arg (PyUnicode_FromString (filename.c_str ()));
   if (fname_arg == nullptr)
     {
       gdbpy_print_stack ();
@@ -1385,7 +1385,7 @@ gdbpy_format_address (PyObject *self, PyObject *args, PyObject *kw)
   /* Format the address, and return it as a string.  */
   string_file buf;
   print_address (gdbarch, addr, &buf);
-  return PyString_FromString (buf.c_str ());
+  return PyUnicode_FromString (buf.c_str ());
 }
 
 \f
@@ -2081,22 +2081,22 @@ do_start_initialization ()
 #include "py-event-types.def"
 #undef GDB_PY_DEFINE_EVENT_TYPE
 
-  gdbpy_to_string_cst = PyString_FromString ("to_string");
+  gdbpy_to_string_cst = PyUnicode_FromString ("to_string");
   if (gdbpy_to_string_cst == NULL)
     return false;
-  gdbpy_children_cst = PyString_FromString ("children");
+  gdbpy_children_cst = PyUnicode_FromString ("children");
   if (gdbpy_children_cst == NULL)
     return false;
-  gdbpy_display_hint_cst = PyString_FromString ("display_hint");
+  gdbpy_display_hint_cst = PyUnicode_FromString ("display_hint");
   if (gdbpy_display_hint_cst == NULL)
     return false;
-  gdbpy_doc_cst = PyString_FromString ("__doc__");
+  gdbpy_doc_cst = PyUnicode_FromString ("__doc__");
   if (gdbpy_doc_cst == NULL)
     return false;
-  gdbpy_enabled_cst = PyString_FromString ("enabled");
+  gdbpy_enabled_cst = PyUnicode_FromString ("enabled");
   if (gdbpy_enabled_cst == NULL)
     return false;
-  gdbpy_value_cst = PyString_FromString ("value");
+  gdbpy_value_cst = PyUnicode_FromString ("value");
   if (gdbpy_value_cst == NULL)
     return false;
 
@@ -2311,7 +2311,7 @@ do_initialize (const struct extension_language_defn *extlang)
     }
   if (sys_path && PyList_Check (sys_path))
     {
-      gdbpy_ref<> pythondir (PyString_FromString (gdb_pythondir.c_str ()));
+      gdbpy_ref<> pythondir (PyUnicode_FromString (gdb_pythondir.c_str ()));
       if (pythondir == NULL || PyList_Insert (sys_path, 0, pythondir.get ()))
        return false;
     }