gdb/python: remove Python 2/3 compatibility macros
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
This commit is contained in:
parent
edae3fd660
commit
5aee458796
25 changed files with 93 additions and 116 deletions
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 (),
|
||||
|
|
|
@ -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 *
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"));
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 ());
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -89,15 +89,6 @@
|
|||
|
||||
#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.
|
||||
|
|
|
@ -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 ());
|
||||
}
|
||||
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue