diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c index 54da67a..9821990 100644 --- a/gdb/python/py-value.c +++ b/gdb/python/py-value.c @@ -555,7 +555,7 @@ get_field_flag (PyObject *field, const char *flag_name) { int flag_value; /* Python 2.4 did not have a 'const' here. */ - PyObject *flag_object = PyObject_GetAttrString (field, (char *) flag_name); + PyObject *flag_object = PyObject_GetAttrString (field, flag_name); if (flag_object == NULL) return -1; diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h index 9c06621..7cf03b5 100644 --- a/gdb/python/python-internal.h +++ b/gdb/python/python-internal.h @@ -187,6 +187,32 @@ gdb_Py_DECREF (void *op) /* ARI: editCase function */ #undef Py_DECREF #define Py_DECREF(op) gdb_Py_DECREF (op) +/* The second argument to PyObject_GetAttrString was missing the 'const' + qualifier. Hence, we wrap it in a function to avoid errors when compiled + with -Werror against Python 2.4. */ + +static inline PyObject * +gdb_PyObject_GetAttrString (PyObject *obj, + const char *attr) /* ARI: editCase function */ +{ + return PyObject_GetAttrString (obj, (char *) attr); +} + +#define PyObject_GetAttrString(obj, attr) gdb_PyObject_GetAttrString (obj, attr) + +/* The second argument to PyObject_HasAttrString was also missing the 'const' + qualifier. Hence, we wrap it also in a function to avoid errors when + compiled with -Werror against Python 2.4. */ + +static inline int +gdb_PyObject_HasAttrString (PyObject *obj, + const char *attr) /* ARI: editCase function */ +{ + return PyObject_HasAttrString (obj, (char *) attr); +} + +#define PyObject_HasAttrString(obj, attr) gdb_PyObject_HasAttrString (obj, attr) + /* In order to be able to parse symtab_and_line_to_sal_object function a real symtab_and_line structure is needed. */ #include "symtab.h"