diff options
author | Tom Tromey <tromey@redhat.com> | 2013-05-20 20:09:01 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2013-05-20 20:09:01 +0000 |
commit | 62eec1a534a27c721360713b21e14fb800e21e36 (patch) | |
tree | c1b92d220cd38c5c5edc0c2297b3ad9f684d0b22 /gdb/python/python-internal.h | |
parent | 81ea8796feabcc81d2c0efd64eb163e6355099b7 (diff) | |
download | fsf-binutils-gdb-62eec1a534a27c721360713b21e14fb800e21e36.zip fsf-binutils-gdb-62eec1a534a27c721360713b21e14fb800e21e36.tar.gz fsf-binutils-gdb-62eec1a534a27c721360713b21e14fb800e21e36.tar.bz2 |
* python/py-arch.c (arch_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-block.c (block_syms_iterator_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-bpevent.c (breakpoint_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-cmd.c (cmdpy_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-continueevent.c (continue_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-event.h (GDBPY_NEW_EVENT_TYPE):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-events.h (thread_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-evtregistry.c (eventregistry_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-exitedevent.c (exited_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-finishbreakpoint.c (finish_breakpoint_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-function.c (fnpy_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-inferior.c (inferior_object_type, membuf_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-infthread.c (thread_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-lazy-string.c (lazy_string_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-newobjfileevent.c (new_objfile_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-objfile.c (objfile_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-param.c (parmpy_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-progspace.c (pspace_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-signalevent.c (signal_event_object_type):
Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-symtab.c (symtab_object_type, sal_object_type): Use
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-type.c (type_object_type, field_object_type)
(type_iterator_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
* python/py-internal.h (CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF): New
define.
(value_object_type, block_object_type, symbol_object_type)
(event_object_type, stop_event_object_type, breakpoint_object_type)
(frame_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
Diffstat (limited to 'gdb/python/python-internal.h')
-rw-r--r-- | gdb/python/python-internal.h | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h index 7337bff..b6a2e76 100644 --- a/gdb/python/python-internal.h +++ b/gdb/python/python-internal.h @@ -20,6 +20,19 @@ #ifndef GDB_PYTHON_INTERNAL_H #define GDB_PYTHON_INTERNAL_H +/* These WITH_* macros are defined by the CPython API checker that + comes with the Python plugin for GCC. See: + https://gcc-python-plugin.readthedocs.org/en/latest/cpychecker.html + The checker defines a WITH_ macro for each attribute it + exposes. */ + +#ifdef WITH_CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF_ATTRIBUTE +#define CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF(ARG) \ + __attribute__ ((cpychecker_type_object_for_typedef (ARG))) +#else +#define CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF(ARG) +#endif + #include <stdio.h> /* Python 2.4 doesn't include stdint.h soon enough to get {u,}intptr_t @@ -151,14 +164,21 @@ struct inferior; extern PyObject *gdb_module; extern PyObject *gdb_python_module; -extern PyTypeObject value_object_type; -extern PyTypeObject block_object_type; -extern PyTypeObject symbol_object_type; -extern PyTypeObject event_object_type; +extern PyTypeObject value_object_type + CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("value_object"); +extern PyTypeObject block_object_type + CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF("block_object"); +extern PyTypeObject symbol_object_type + CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("symbol_object"); +extern PyTypeObject event_object_type + CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("event_object"); extern PyTypeObject events_object_type; -extern PyTypeObject stop_event_object_type; -extern PyTypeObject breakpoint_object_type; -extern PyTypeObject frame_object_type; +extern PyTypeObject stop_event_object_type + CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("event_object"); +extern PyTypeObject breakpoint_object_type + CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("breakpoint_object"); +extern PyTypeObject frame_object_type + CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("frame_object"); typedef struct breakpoint_object { |