aboutsummaryrefslogtreecommitdiff
path: root/gdb/python
diff options
context:
space:
mode:
authorSiva Chandra <sivachandra@chromium.org>2014-06-04 10:50:11 -0700
committerSiva Chandra <sivachandra@chromium.org>2014-06-10 11:52:12 -0700
commit5a6c770930a54585c6d4bd9257ce7636b469d7c1 (patch)
treecffd264fe5becaf1e6d325885c7e569e03ab2d1e /gdb/python
parentd9949a367352c66b7d90ca32bdbd5cac38c14b53 (diff)
downloadgdb-5a6c770930a54585c6d4bd9257ce7636b469d7c1.zip
gdb-5a6c770930a54585c6d4bd9257ce7636b469d7c1.tar.gz
gdb-5a6c770930a54585c6d4bd9257ce7636b469d7c1.tar.bz2
Wrap PyObject_Get/HasAttrString in a function with second arg having const qualifier.
This is done to avoid errors when compiled with -Werror against Python-2.4 which did not have the const qualifier for the second argument of these functions. gdb/ * python/python-internal.h (gdb_PyObject_GetAttrString) (gdb_PyObject_HasAttrString): New inline function definitions. * py-value.c (get_field_flag): Remove the now unnecessary cast to char * of the second argument to PyObject_GetAttrString.
Diffstat (limited to 'gdb/python')
-rw-r--r--gdb/python/py-value.c3
-rw-r--r--gdb/python/python-internal.h26
2 files changed, 27 insertions, 2 deletions
diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c
index 54da67a..8532da6 100644
--- a/gdb/python/py-value.c
+++ b/gdb/python/py-value.c
@@ -554,8 +554,7 @@ static int
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..0198e9d 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 in Python-2.4. Hence, we wrap it in a function to avoid errors
+ when compiled with -Werror. */
+
+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 in Python-2.4. Hence, we wrap it also in a function to avoid
+ errors when compiled with -Werror. */
+
+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"